390 likes | 602 Views
Systems Software. Understanding Operating Systems Chapter 1. I. Operating Systems and Subsystems. Operating systems are the most important and prominent examples of systems software. They are some of the most complex pieces of software ever written. .
E N D
Systems Software Understanding Operating SystemsChapter 1
I. Operating Systems and Subsystems • Operating systems are the most important and prominent examples of systems software. • They are some of the most complex pieces of software ever written.
Operating Systems and Subsystems - continued • The number of lines of code comprising an operating system often runs into the millions. • An operating system has several major subsystems, the Processor manager, Memory manager, File manager, the Device manager and the Network/communications manager.
Subsystem Responsibilities: • Each subsystem must monitor its resources • carry out its algorithms and and policies • Manage resource allocation and • Manage resource deallocation
Processor Manager • This module decides how to allocate the Central Processing Unit. • It keeps track of the status of each process. (A process is an instance of execution of a program.) • Monitors the state of the processor at all times, e.g. fetch, decode, wait, execute • Handles transitions between states via control signals
The Process manager is responsible for switching of execution from one process to another. • The Processor manager is also the agent which handles jobs as they enter the system and manages each process within each job. • The portion which handles jobs as they enter the system is the Job Scheduler • The Process Scheduler within the Process Manager manages processes within jobs.
Memory Manager • The Memory manager is responsible for the system’s primary memory. • This module checks the validity of each request for memory and, once validated, allocates some available memory. • The Memory manager also keeps track of memory use and deallocates memory for reuse as processes cease.
Device Manager • The Device manager is responsible for monitoring all peripheral devices, device control units and communication channels. • Some devices are sharable while others, clearly, must be allocated to one requesting process until the device use is completed. (Think of some examples of each ?) • Non sharable devices are often managed using queues also managed by the DM.
File Manager • This module must keep track of every file on system devices including program and data files. • The file manager enforces security privileges (access attributes) attached to each file. • This module is responsible for ensuring the integrity of files. • It manages file access including creation, reading, writing, copying, moving, etc.
II. A. The defining characteristics of a computer: • Control Unit • Arithmetic and Logic Unit (ALU) • Primary memory (main memory, RAM, usually volatile technology) • Input devices • Output devices
The Central Processing Unit • The Control Units and Arithmetic and Logic Unit comprise the CPU or Central Processing Unit, often simply called the ‘Processor.’ • While technically it isn’t part of the definition, virtually every computer system also Includes some type of Secondary Storage.
The CPU continued • The purpose of Secondary Storage is to store files safely when not in use, one necessary characteristic of secondary storage devices is that it use non-volatile technology. • Can you name some past or current Secondary Storage devices?
II. B. Classification of Computer Systems • Microcomputers • Minicomputers (Midrange computers) • Mainframe computers • Supercomputers • Computers may also have functions regardless of size, e.g. server, workstation
Overlap of Systems • Today there is considerable overlap of these categories. For example, microcomputers, by definition, are computers whose processor is a microprocessor, but all of the other categories also make heavy use of microprocessors too. • The top end of each range usually overlaps considerably the capacity, speed and overall performance the lower end of the next higher category.
continued • The Midrange/Mainframe distinction is so blurred that whether a computer is called Midrange of Mainframe is largely a function of what its manufacturer classifies it as. • The biggest step tends to occur between the Mainframe and Supercomputer classes
II. C. Factors Effecting Performance • While all of these factors can significantly effect the performance of a computer system, no one factor should be considered in isolation. • Rather, combinations of factors, properly chosen, are most important when considering of trying to ensure a certain performance level. • The particular combination of factors will have a significant effect on performance, and also on system cost.
Factors Effecting Performanc - continued • processor word length • processor clock speed • width and speed of internal bussesamount • speed of primary memory • amount and speed of secondary storage • characteristics and speed of input device • characteristics and speed of output device • number of tasks or users served concurrently
Batch Oriented Systems • These systems were the first to evolve historically and variations of them are still in use. Jobs were queued and processed serially. Today batch mode includes the possibility of concurrent processing of multiple jobs as well.
Interactive Oriented Systems • These systems are engineered to permit Time-sharing so that multiple jobs may be executed concurrently.
Real-time Systems • This type of operating system dedicates the computer to execution of the current task in order to produce the quickest execution possible. Personal computers are often use in this mode even though the operating system may be capable of multitasking.
Hybrid Operating Systems • Most real operating systems have characteristics of all of the above.
E. History of Operating System and Computer HardwareDevelopments
Charles Babbage,Ada Byron • Designed first devices having characteristics of today’s computers • Difference Engine and Analytical Engine, early 19th century
Herman Hollerith • US Census Bureau, 1890 census • Submitted proposal to create and implement tabulating machinery • Left and began “The Tabulating Machine Company”
Early 20th Century Developments • Office Equipment electrified - electromechanical • WW II led to rapid advances • Harvard Mark I, 1944
Development of Electronic Computing • ABC Computer 1941 • ENIAC, 1945, Univ of Pennsylvania • EDSAC, EDVAC, Stored Program Computing • Vannevar Bush - concept of Hypertext, Memex machine
First Generation (1940 -1955) • vacuum tube based technology • no standard operating system - almost non-existent • no time-sharing or multitasking • Most machine functions were manually controlled from a control console • Programs read/punched on paper tape or punched cards • No high level programming language
CPU frequently idle - serial batch processing only • assembly language developed about 1951 • Libraries of routines begin to develop
Second Generation 1955-66 • FORTRAN, first high level language, 1957 • assembly macros and code libraries of • transistor based technology replaces vacuum tube • business use of computers becomes popular • computers still large and expensive • Operating systems developed with capability of job scheduling and batching of similar jobs
Second Generation continued • JOB CONTROL LANGUAGE (JCL) developed • tape, disk, drum common secondary storage devices • Input/Output buffered to help avoid processor idle time • Input and Print spooling developed • time-out concept developed to avoid infinite processor loops
Third Generation 1966-mid 70s • integrated circuit technology developed • passive multiprogramming developed based on interrupt generation • active multiprogramming developed based on timed interrupts (time slicing) • operating systems grow radically in size, not all of OS could remain resident
Fourth Generation 1976 - mid 1990s • processor speeds accelerate greatly • microprocessors developed • Virtual memory needed to handle multitasking – developed by IBM • first database management systems developed • increased use of ROM, PROM to store data and utility code (firmware) • multiprocessing and parallel processing developed.
Fifth Generation 1990s-Present • processor speeds continue to accelerate • super computers use massive parallelism • natural language recognition • artificial intelligence applied to OS and application software • biological components being developed • Enormous impact of Internet and Web motivates rapid networking development • Security issues loom larger • Multimedia capabilities expand needing huge storage capacities.