Operating Systems and Software Overview
Learning Objectives (1)
Understand the difference between system software and application software.
Explain the different functions of an operating system and discuss some ways that operating systems enhance processing efficiency.
List several ways in which operating systems differ from one another.
Learning Objectives (2)
Name today’s most widely used operating systems for smartphones and other mobile devices.
Discuss the operating systems used with mainframes and supercomputers.
Discuss the role of utility programs and outline several tasks that these programs perform.
Describe what the operating systems of the future might be like.
Overview
This chapter covers:
Differences between system software and application software.
Functions of and general differences between operating systems.
Specific operating systems most widely used today.
Various types of utility programs.
A look at the future of operating systems.
System Software vs. Application Software
System Software:
Refers to the operating system and utility programs that control a computer system and allow you to use that system.
Functions include:
Enables the boot process
Launches applications
Transfers files
Controls hardware configuration
Manages files on the hard drive
Protects from unauthorized use.
Application Software:
Refers to programs that allow a user to perform specific tasks on a computer.
Examples include:
Word processing
Playing games
Browsing the Web
Listening to music.
Processing with Programs
Software enables communication of problems to the computer and solutions back to the users.
An algorithm is defined as a set of step-by-step procedures for accomplishing a task.
The programmer's job is to:
Turn the algorithm into a program by adding details.
Test procedures for effectiveness.
Debug or correct errors.
Examples of Algorithms
Sheldon Cooper’s Friendship Algorithm (from The Big Bang Theory):
Series of steps illustrated with conditional logic leading to the initiation of friendship based on interests and preferences.
Cake Recipe Algorithm:
Ingredients and preparation steps outlined in procedural form demonstrating structured tasks for cooking.
Categories of Software
Compilers and Translator Programs:
Enable programmers to create software by translating high-level languages (like C++) into machine language.
A compiler is the most common type of translator program.
Software Applications:
Serve as productivity tools to help users solve problems.
System Software:
Coordinates hardware operations.
The Process of Creating a Program
A programmer creates an algorithm.
The algorithm is converted to a programming language.
A translator program converts it to machine language.
The program is then executed.
A program is understood as an implementation of an algorithm.
The Operating System
A computer’s operating system is a collection of programs that manage and coordinate activities within a computer.
Acts as an intermediary between the user and the computer, and between application programs and system hardware.
The Main Functions of the Operating System
An operating system is essential for:
Keeping hardware running efficiently.
Facilitating communication with hardware.
Maintaining the file system.
Supporting multitasking.
Managing virtual memory.
The operating system runs continuously when the computer is on.
Functions of an Operating System: Interfacing with Users and Booting the PC
User Interface:
Typically via a Graphical User Interface (GUI).
Booting Process:
Loads the essential part of the operating system (kernel) into memory.
Reads opening batch of instructions.
Determines connected hardware.
Launches startup programs automatically.
Windows controls can be managed via the Task Manager.
Managing and Configuring Devices
Configuring Devices:
Device drivers communicate with peripheral devices.
Operating systems recognize new devices at each boot.
Device drivers can be updated or reinstalled as required.
Managing Networking Connections
Operating systems manage wired and wireless network connections.
Offer troubleshooting and repair capabilities for connectivity issues.
Managing Resources, Files, and Security
Manages resources and jobs, ensuring availability to devices and programs.
File Management:
Keeps track of stored files so they can be retrieved.
File paths indicate locations of folders from root to desired items.
File extensions indicate file types.
Security:
Employ processes such as passwords, biometric characteristics, etc.
Limit access to system resources to unauthorized users.
Networking and Security
On multiuser systems, the operating system facilitates user authentication and authorization.
Authentication: Confirms user identity (e.g., login credentials).
Authorization: Ensures users have permission for specific actions or resources.
Hard Drive Organization and File Extensions
The organization of files and the importance of file extensions are outlined, but detailed organization practices are not provided in this section.
Processing Techniques for Increased Efficiency
Multitasking:
Ability for an operating system to have multiple programs open concurrently.
CPU rotates between tasks, switching quickly, creating an appearance of simultaneous processing.
Multithreading:
Allows the computer to manage multiple threads, improving the speed and efficiency of processing.
A thread is a sequence of instructions that can operate independently within a program.
Tasks are ultimately performed in a sequential manner despite these efficiencies.
Multiprocessing and Parallel Processing
Utilize multiple CPUs or CPU cores for better efficiency:
Multiprocessing: Each CPU/core works on a different job.
Parallel Processing: CPUs/cores collectively work on a single job, common in supercomputers.
Memory Management
Memory Management optimizes the use of main memory (RAM) and speeds up processing.
Virtual Memory: Technique using hard drive space as extra RAM.
Buffering and Spooling
A buffer is an area designated for holding data while waiting for its next operation.
Buffering/Spooling involves queuing tasks to allow organized retrieval by devices.
Graphical vs. Command Line Interface
Graphical User Interface (GUI):
Uses icons and visual objects for command issuance.
Common in most operating systems.
Command Line Interface:
Requires text command input from a keyboard.
Categories of Operating Systems
Personal (Desktop) Operating Systems: Installed on single computers.
Server (Network) Operating Systems: Installed on network servers; client computers still utilize personal operating systems.
Mobile Operating Systems: Designed specifically for mobile devices (e.g., smartphones).
Embedded Operating Systems: Built into various devices (e.g., kitchen appliances).
Example of Network Operating Systems Functionality
The specifics of how network operating systems function are provided but need expansion on the applications.
Amazon Echo Trend as a Voice-Controlled Assistant
Connects via Wi-Fi and Bluetooth.
Designed to respond to spoken commands related to various information (e.g., music, weather).
Incorporates IFTTT capabilities.
Quick Quiz(1)
Which processing technique allows a computer to work with more than one program at a time? c. multitasking.
True or False: Most operating systems today use a command line interface. (False)
A task included with operating systems that allows you to keep track of stored files is __. (File management)
Operating Systems for Personal Computers and Servers: DOS
DOS (Disk Operating System):
Originally used a command-line interface.
Dominated in the 1980s & early 1990s.
Variants include PC-DOS for IBM microcomputers and MS-DOS for IBM-compatible machines.
Example of Entering DOS Commands
DOS commands can be entered through the Windows Command Prompt.
Windows Operating System History
Windows:
The predominant operating system developed by Microsoft.
First released in 1985 with subsequent versions evolving from DOS to full-fledged operating systems.
Versions include Windows 95, 98, and ME for personal computers and NT/2000 for workstations/servers.
More Recent Versions of Windows
Windows XP: Enhanced hardware support and internet connectivity.
Windows Vista: Introduced the Aero interface and Sidebar features.
Windows 7: Designed for performance on netbooks/tablets.
Windows 8: Multi-touch input for diverse devices.
Windows 10
Latest version of Windows, designed to be universal across devices.
Brings consistent experience and new features:
Start menu with tiles
Resizable windowed apps
Task View for virtual desktops
Edge browser
Cortana virtual assistant.
OS X by Apple Corporation
OS X features:
Proprietary OS designed for Apple computers, based on UNIX.
Includes high multimedia functions and connectivity.
Supports iCloud features with synchronization among devices.
Chrome OS
Defined as the first cloud operating system, leveraging the Chrome browser interface.
Designed for devices reliant largely on internet use (Chromebooks).
Quick Quiz(2)
What is the most recent personal version of Windows? a. Windows 10.
True or False: Linux is an open-source OS available for free (True).
Most commonly used OS on Apple personal computers today is __? (OS X).
Operating Systems for Mobile Devices
Mobile devices utilize mobile operating systems:
Variants of desktop operating system for mobile (e.g., Windows, Linux).
Specialized OS designed for mobile devices (e.g., Android, iOS).
Technology Trends: Smart Cars
Self-driving systems incorporate advanced functionalities such as collision detection and keyless systems.
Mobile apps contribute to controlling smart car features like self-parking.
Android Operating System
Android:
Linux-based, designed by Google for mobile devices.
Current version is Android 6.0 (Marshmallow).
iOS for Apple Devices
iOS: Designed for Apple mobile devices with capabilities such as Siri assistant and support for Apple Watch.
Utility Programs
Utilities serve specific tasks related to managing systems.
Many are integrated into operating systems while others are available as stand-alone products.
File Management Programs
Enable users to manage files: viewing, copying, renaming, and deleting.
Current versions of Windows have File Explorer for these tasks.
Search Tools
Designed to search files on a computer's hard drive.
Users can input specific search criteria, usable with File Explorer and the Windows taskbar.
Diagnostic and Disk Management Programs
Diagnostic Programs: Evaluating system health and suggesting fixes.
Disk Management: Checking and repairing hard drive issues, including defragmentation.
File Compression Programs
Used to reduce file sizes for storage and transfer efficiency.
Both zipping and unzipping capabilities are noted as built into current Windows versions.
Backup and Recovery Utilities
Creating backups is essential for data protection, with storage options including external drives and the cloud.
Regular backup procedures are emphasized as critical for both individuals and businesses.
Security Programs: Antivirus and Firewalls
Addressing computer security concerns related to malware, spyware, and identity theft.
Essential protection measures include antivirus, antispyware, and firewall software.
The Future of Operating Systems
Anticipated trends include:
User-centric design, with voice/gesture interface.
Enhanced stability and self-healing features.
Improved capability to manage data across devices.
Greater reliance on internet-accessible software.
Quick Quiz(3)
Which type of utility program is used to make files smaller for transfer? c. file compression program.
True or False: A file management program can be used to view stored files (True).
A duplicate copy of files for restoration is known as a __. (Backup).
Summary
Significant topics discussed include the distinctions between system vs. application software, functions of operating systems, categories of operating systems, utility programs, and projected future developments in OS technology.