Presentation on theme: "CMSC 1041 Operating Systems I An Introduction to Operating System Concepts."— Presentation transcript:
CMSC 1041 Operating Systems I An Introduction to Operating System Concepts
CMSC 1042 OS Introduction l Computer applications today require a single machine to perform many operations and the applications may compete for the resources of the machine. l This demands a high degree of coordination l This coordination is handled by system software known as the operating system
CMSC 1043 Evolution of Operating System l OS for batch jobs oProgram execution required significant preparation of equipment oProgram execution (job) oOS was a system to simplify program setup and simplify transition between jobs oPhysical separation of users and equipment led to computer operators
CMSC 1044 OS Evolution (cont’d) oUser’s left jobs with the operator and came back the next day (batch jobs) oUsers had no interaction with computer during program execution. Maybe okay for some applications, but not for all.
CMSC 1045 OS Evolution l OS for Interactive Processing oAllowed programs to carry on dialogue with user via remote terminals (workstations) oReal-time processing oUsers demand timely response oMachines too expensive to serve only one user oCommon for several users to want interactive services at the same time
CMSC 1046 OS Evolution (cont’d) l OS for time-sharing oTo accommodate multiple real-time users, the OS rotates its various jobs in and out of execution via time-sharing oEach job gets a predetermined “time slice” oAt end of time slice current job is set aside and a new one starts oBy rapidly shuffling jobs, illusion of several jobs executing simultaneously is created
CMSC 1047 OS Evolution (cont’d) owithout time slicing, a computer spends most of its time waiting for peripheral devices or users oA collection of tasks can be completed in less time with time-sharing than when completed sequentially
CMSC 1048 Different Operating Systems on the Same Machine ? l It is possible to have more than one operating system available to be used on a machine. l Only one operating system is run at a time, though. l Examples: oVAX - VMS or Ultrix oIBM PCs - DOS or Linux
CMSC 1049 Types of software l Applications software l Performs tasks specific to the machine’s utilization. l Generally transportable l System Software l Performs tasks common to computer systems in general l Operating systems vary based on the hardware they’re used on
CMSC 10410 Types of software (cont’d) l Utility software oproviding fundamental activities, yet not included with OS o“extend” the OS oDistinction between applications and utilities is often vague oDistinction between OS and utilities is also vague
CMSC 10411 The OS Shell l Defines interface between OS and users oWindows GUI oUNIX command line oUNIX users can choose among a variety of shells csh is the “C shell” tcsh is an enhanced “C shell” oShell programming
CMSC 10412 OS Shell interface O / S shell Users
CMSC 10413 The OS Kernel l The internal part of the OS is often called the Kernel l Kernel Components oFile Manager oDevice Drivers oMemory Manager oScheduler oDispatcher
CMSC 10414 OS File Manager l Maintains information about the files that are available on the system l Where files are located in mass storage, their size and type and their protections, what part of mass storage is available l Files usually allowed to be grouped in directories or folders. Allows hierarchical organization.
CMSC 10415 OS Device Drivers l Software to communicate with peripheral devices or controllers l Each driver is unique l Translates general requests into specific steps for that device
CMSC 10416 OS Memory Manager l This unit is responsible for coordinating the use of the machine’s main memory. l It decides what area of memory is to be allocated for a program and it’s data l It allocates and deallocates memory for different programs and always knows what areas are free.
CMSC 10417 OS Scheduler l Maintains a record of processes that are present, adds new processes, removes completed processes omemory area(s) assigned opriority ostate of readiness to execute (ready/wait)
CMSC 10418 OS Dispatcher l Ensures that processes that are ready to run are actually executed l Time is divided into small (50 ms) segments called a time slice. l When the time slice is over, the dispatcher allows scheduler to update process state for each process, then selects the next process to run
CMSC 10419 OS Summary l Shell -- interface to user l File Manager -- manages mass memory l Device Drivers -- communicate with peripherals l Memory Manager -- manages main memory l Scheduler & Dispatcher -- manage processes
CMSC 10420 Utilities l Operating Systems usually come with some associated utility programs l UNIX usually has the text editors emacs and vi (and sometimes pico) l UNIX has it’s own sort utility l UNIX has it’s own mail utility