Download presentation
Presentation is loading. Please wait.
Published byShon Booth Modified over 8 years ago
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
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.