A

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

  1. A programmer creates an algorithm.

  2. The algorithm is converted to a programming language.

  3. A translator program converts it to machine language.

  4. The program is then executed.

  5. 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)

  1. Which processing technique allows a computer to work with more than one program at a time? c. multitasking.

  2. True or False: Most operating systems today use a command line interface. (False)

  3. 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)

  1. What is the most recent personal version of Windows? a. Windows 10.

  2. True or False: Linux is an open-source OS available for free (True).

  3. 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)

  1. Which type of utility program is used to make files smaller for transfer? c. file compression program.

  2. True or False: A file management program can be used to view stored files (True).

  3. 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.