Operating system

Cards (358)

  • Operating System
    System software that manages computer hardware and software resources and provides common services for computer programs
  • Operating System
    • Behaves as a resource manager
    • Schedules jobs according to priority
    • Makes a communication link between user and system
    • Ability to fetch programs in memory as required
    • Helps in file management
    • Provides multiprogramming
    • Provides program editors and debugging aids
    • Provides disk maintenance ability
  • Process
    An instance of a program running in a computer
  • File

    A collection of data or information that has a name, called the filename
  • Types of files
    • Data files
    • Text files
    • Program files
    • Directory files
  • Operating system
    • Schedules and controls the running of several programs at once
    • Provides program editors that help the user to modify and update the program lines
    • Debugging aids provided by the operating system helps the user to detect and rename errors in programs
    • Disk maintenance ability of operating system checks the validity of data stored on diskettes and other storage to make corrections to erroneous data
  • System call
    A way for programs to interact with the operating system
  • Shell
    A software interface that's often a command line interface that enables the user to interact with the computer
  • Kernel
    The first section of the operating system to load into memory, responsible for disk drive management, interrupt handler, file management, memory management, process management, etc.
  • Virtual machine (VM)
    A software program or operating system that exhibits the behavior of a separate computer and is capable of running applications and programs like a separate computer
  • History of operating systems
    1. First operating system created by General Motors in 1956
    2. IBM mainframe operating systems in the 1960s
    3. First version of Unix developed in the late 1960s
    4. Microsoft Windows developed in response to IBM's request for an operating system for personal computers
  • Generations of operating systems
    • First Generation (1940's to early 1950's)
    • Second Generation (1955-1965)
    • Third Generation (1965-1980)
    • Fourth Generation (1980-Present Day)
  • Main structures of operating systems
    • Monolithic architecture
    • Layered architecture
    • Virtual memory architecture
    • Client/server architecture
  • Monolithic architecture

    • Operating system resides on kernel, system call involved for switching from user mode to kernel mode
    • Operating system examines parameters of system call to determine which one to carry out
    • Operating system indexes into a table to call the procedure that carries out the system call
    • Control is given back to user mode when system call is finished
  • Layered architecture
    • Operating system is broken up into number of layers, with hardware at the bottom and user interface at the top
    • Each layer only uses functions and services of the layer below it
    • Allows for simplified debugging as errors are confined to a single layer
  • Virtual memory architecture
    • Creates an illusion of a real machine, allowing multiple operating systems to run on a single real machine
    • Control program creates the environment for virtual machines
    • Conversation monitor system provides features for program development
    • Remote spooling communication system provides ability to transmit and receive files in distributed system
    • Interactive problem control system used to fix virtual machine software problems
  • Client/server architecture
    • Moves maximum code into higher level user processes, minimizing work of kernel
    • Kernel handles communication between client and server processes
    • Allows for adaptability to distributed systems as client does not need to know location of server
  • Types of operating systems
    • Batch operating system
    • Time-sharing operating system
    • Distributed operating system
  • Batch operating system
    Users do not interact directly with the computer, jobs are prepared offline and submitted in batches
  • Batch operating system
    • Lack of interaction between user and job
    • CPU often idle due to slower speed of I/O devices compared to CPU
    • Difficult to provide desired priority
  • Time-sharing operating system

    Enables multiple users to use the same computer system simultaneously by sharing the processor's time
  • Time-sharing operating system
    • Objective is to minimize response time, not maximize processor use
    • Provides quick response time
    • Avoids duplication of software
    • Reduces CPU idle time
  • Time-sharing operating system
    • Problem of reliability
    • Security and integrity issues for user programs and data
    • Data communication problems
  • Distributed operating system
    Uses multiple central processors to serve multiple real-time applications and users, with processors communicating through communication lines
  • Distributed operating system
    • Allows resource sharing between sites
    • Speeds up data exchange via electronic mail
    • Allows continued operation if one site fails
    • Provides better service to customers
    • Reduces load on host computer
    • Reduces data processing delays
  • Distributed systems
    Multiple central processors serve multiple real-time applications and multiple users, with data processing jobs distributed among the processors
  • Distributed systems
    • Processors communicate through various communication lines (such as high-speed buses or telephone lines)
    • Processors may vary in size and function and are referred to as sites, nodes, computers, etc.
  • Advantages of distributed systems
    • Resource sharing facility allows users to access resources at other sites
    • Speeds up data exchange via electronic mail
    • If one site fails, remaining sites can continue operating
    • Better service to customers
    • Reduces load on host computer
    • Reduces delays in data processing
  • Network Operating System
    Runs on a server and provides the server the capability to manage data, users, groups, security, applications, and other networking functions
  • Examples of network operating systems
    • Microsoft Windows Server 2003
    • Microsoft Windows Server 2008
    • UNIX
    • Linux
    • Mac OS X
    • Novell NetWare
    • BSD
  • Advantages of network operating systems
    • Centralized servers are highly stable
    • Security is server managed
    • Upgrades to new technologies and hardware can be easily integrated
    • Remote access to servers is possible from different locations and types of systems
  • Disadvantages of network operating systems
    • High cost of buying and running a server
    • Dependency on a central location for most operations
    • Regular maintenance and updates are required
  • Real-time system
    A data processing system in which the time interval required to process and respond to inputs is so small that it controls the environment
  • Real-time systems
    • Have well-defined, fixed time constraints, otherwise the system will fail
    • Used in scientific experiments, medical imaging systems, industrial control systems, weapon systems, robots, air traffic control systems, etc.
  • Hard real-time systems
    Guarantee that critical tasks complete on time, have limited or missing secondary storage, and almost never use virtual memory
  • Soft real-time systems
    Less restrictive, with critical real-time tasks getting priority over other tasks, used in multimedia, virtual reality, advanced scientific projects like undersea exploration and planetary rovers
  • Batch processing
    1. OS defines a job with predefined sequence of commands, programs and data as a single unit
    2. OS keeps multiple jobs in memory and executes them in first-come-first-served order
    3. When a job completes, its memory is released and output is copied to an output spool
  • Advantages of batch processing
    • Takes work off the operator
    • Increased performance as new jobs start as soon as previous ones finish
  • Disadvantages of batch processing
    • Difficult to debug programs
    • Jobs can enter infinite loops
    • Lack of protection scheme means one job can affect others
  • Multitasking
    Multiple jobs are executed by the CPU simultaneously by rapidly switching between them, giving users the impression of concurrent execution