Presentation is loading. Please wait.

Presentation is loading. Please wait.

Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.

Similar presentations


Presentation on theme: "Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432."— Presentation transcript:

1 Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432

2 What is an Operating System? An Operating System is the software interface between hardware and its users (via application software) Operating systems: Execute user and system programs Manage & coordinate computer hardware Serve as resource allocators Are typically interrupt-driven

3 Operating Systems System Software Computer programs that directly control the operations of the computer and its devices Operating System Coordinates and orchestrates all activities of the hardware devices in a computer Provides a Graphical User Interface (GUI) for users to interact with the computer

4 Design Goals of an Operating System From a user’s perspective, an operating system should be: easy to use easy to learn reliable safe fast System goals of an operating system typically include: reliability flexibility extensibility speed efficiency maintainability

5 Functional Components Functional components of an operating system include: Process manager Memory manager Virtual memory manager File manager Device manager

6 History of Operating Systems In the beginning… …the 1940s ENIAC

7 History of Operating Systems Automation in the 1950s using punch cards computer program inside

8 Batch Jobs A job is a unit of work submitted by a user to the operating system, typically consisting of: a program either in a source language or in binary form a set of input data used by the program when it executes

9 History of Operating Systems IBM 360 introduced… …in 1964

10 Multiprogramming

11 In multiprogramming, several jobs reside in memory simultaneously CPU use is shared and managed by the operating system

12 Multiprogramming Multiprogramming provides efficient use of the computer (CPU) and its resources (e.g. I/O) One user cannot keep the CPU and I/O devices busy at all times Each running program is called a job Multiprogramming organizes jobs such that the CPU always has exactly one to execute

13 Multiprogramming Computer is often idle – why? CPU and hardware much faster than I/O When a user or process is blocked waiting for I/O, the operating system switches to another job A subset of jobs is stored in memory, awaiting CPU or other resources

14 Timesharing (Multitasking) To ensure fairness, consider a timesharing scheme in which the CPU cycles through all jobs Each job (process) is given a fixed amount of CPU time Switching from one running process to another is called a context switch A process may relinquish its time if blocked on an I/O request

15 Timesharing (Multitasking) Unless blocked on I/O, processes line up, awaiting their turn with the CPU CPU scheduling algorithm is necessary to efficiently decide the order in which processes execute If processes do not fit into memory, the operating system will swap them in and out of memory from virtual memory

16 History of Operating Systems Personal computer revolution… …of the late 1970s and early 1980s and the Apple IIe

17 History of Operating Systems

18 World Wide Web and Internet revolution… …of the 1990s and 2000s

19 Computer System Organization Computer systems are increasingly complex Require an operating system to coordinate and control hardware activities system bus …and networked

20 Computer Networks A Local Area Network (LAN) is a network of machines covering a limited geographical area A Metropolitan Area Network (MAN) covers more densely populated area

21 Computer Networks A Wide Area Network (WAN) covers multiple locations Each location consists of one or more LANs or MANs

22 Computer Networks LANs connect to other networks via a router

23 Central Processing Unit (CPU) Software instructions are executed by a Central Processing Unit (CPU) An external hardware event triggers an interrupt by signaling the CPU e.g. mouse movement, keyboard event Software triggers an interrupt by executing a system call e.g. disk read, graphics output, printer output

24 Interrupt Mechanism Interrupts are handled much like calling a function or method in a programming language I/O devices typically use a buffering strategy

25 Typical Interrupt Timeline …as do I/O transfer timesinterrupt processing times vary…

26 Synchronous & Asynchronous I/O Synchronous Asynchronous

27 Hierarchical Storage Architecture very fast very slow very small very large non-volatile volatile

28 What is Caching? Caching is a technique to temporarily store data in a smaller and faster memory component why implement caching in an operating system?

29 Performance A key goal in operating system design is achieving fast and efficient performance

30 Retrieving Data from a Cache When the operating system attempts to read from memory, check to see if the requested data is already in the cache If it is, data is read from the cache (fast!) If not, data is copied from memory to the cache (maybe next time…)

31 Principle of Locality When a running program reads from memory location X, the principle of locality predicts that the next memory location requested will be near X Store pages of data in a cache, where each page is typically the same size (e.g. 16KB) memory location X


Download ppt "Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432."

Similar presentations


Ads by Google