1 / 38

Systems Software

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

olive
Download Presentation

Systems Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Systems Software Understanding Operating SystemsChapter 1

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

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

  4. Subsystem Responsibilities: • Each subsystem must monitor its resources • carry out its algorithms and and policies • Manage resource allocation and • Manage resource deallocation

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

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

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

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

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

  10. II. Hardware Elements of a Computer System

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

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

  13. 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?

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

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

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

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

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

  19. D. Types of Operating Systems

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

  21. Interactive Oriented Systems • These systems are engineered to permit Time-sharing so that multiple jobs may be executed concurrently.

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

  23. Hybrid Operating Systems • Most real operating systems have characteristics of all of the above.

  24. E. History of Operating System and Computer HardwareDevelopments

  25. Charles Babbage,Ada Byron • Designed first devices having characteristics of today’s computers • Difference Engine and Analytical Engine, early 19th century

  26. Herman Hollerith • US Census Bureau, 1890 census • Submitted proposal to create and implement tabulating machinery • Left and began “The Tabulating Machine Company”

  27. In 1912 the company changed its name - to IBM

  28. Early 20th Century Developments • Office Equipment electrified - electromechanical • WW II led to rapid advances • Harvard Mark I, 1944

  29. Development of Electronic Computing • ABC Computer 1941 • ENIAC, 1945, Univ of Pennsylvania • EDSAC, EDVAC, Stored Program Computing • Vannevar Bush - concept of Hypertext, Memex machine

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

  31. CPU frequently idle - serial batch processing only • assembly language developed about 1951 • Libraries of routines begin to develop

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

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

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

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

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

  37. End of Chapter 1

More Related