Unformatted text preview:

1Introduction to Operating SystemsIndiana UniversityChen Yu Perspective of the ComputerSystem Software• A general piece of software with common functionalities that support many applications. • Example:C compiler shell – command line interpreter A window system2The Structure of Computer SystemWhat does an Operating System do? • It is an extended machine:– Hides the messy details about hardware resources.– Presents users with a resource abstraction that is easy to use. • It is a resource manager– Allows multiple users / programs to share resources and coordinate the sharing. Abstraction3Under the Abstraction• Functional complexity• A single abstraction over multiple devices• Replication -> reliability Resource SharingObjectives of Resource Sharing• Efficiency• Fairness• Security4Specific Types of OS• Batch processing• Timesharing OS• Real-time OS• Distributed OS• Small ComputersBatch Processing• Jobs (sequence of OS commands) prepared offline• Batch of jobs given to OS at one time• OS processes jobs one after the other• No human-computer Interaction• E.g. running compute-intensive simulationsTimesharing Systems• Users connect send commands and receive results from consoles.• Consoles relay the commands to a big machine.5Real-Time Systems• Computer is dedicated to a single purpose.• It needs to respond to external events in fixed time (e.g. industrial process control, multimedia servers)• An area of growing interestDistributed OSSmall Computers• PDAs, embedded systems, computer sensors became more significant• Have an OS, but– Not general purpose– Limited hardware resources and power– PalmOS, Pockt PC(WinCE)6Different Issues• Timesharing system: scheduling, protection.• PC & Wkstation: Human-Computer Interface• Distributed OS: client-server model, network protocols.• Real-Time OS: RT scheduling• Small Computer: Power ManagementComputer-system ArchitectureI/O Operations• I/O devices are much slower than CPU• Synchronous (polling)After I/O starts, busy polling the device status register until it shows the operation completes. • Asynchronous (interrupt-driven) After I/O starts, control returns to user program without waiting for I/O completion.Device controller later informs CPU that it has finished its operation by causing an interrupt. When an interrupt occur, current execution is put on hold; the CPU jumps to a service routine called “interrupt handler”7System Protection• User programs are generally not trusted. A user program may use unfair amount of resource.A user program may maliciously cause other programs or the OS to fail.• Need protection against untrusted user programs; the system must differentiate between two modes of operations:User mode – execution of user programsKernel mode – execution of the operating system• Hardware support is needed in such protection. Memory Protection• Goal of memory protection?A user program can’t use arbitrary amount of memory. A user program can’t access data belonging to the operating system or other user programs. • How to achieve memory protection? Indirect memory access: memory access with a virtual address which needs to be translated into physical address. CPU Protection• Goal of CPU protectionA user program cannot hold the CPU for ever.• Timer – interrupts computer after specified period to ensure the OS kernel maintains control. Timer is decremented every clock tick.When timer reaches the value 0, an interrupt occurs. CPU time sharing is implemented in the timer interrupt.8Operation System Organization• System Componentsprocess managementmemory managementI/O system File and storageNetworkingProcess Management• A process is a program in execution. A process needs certain resources, including CPU time, memory, files and I/O devices, to accomplish its task. • OS responsibilities for process management:– Process creation and deletion– Process scheduling, suspension, and resumption.– Process synchronization, inter-process communication. Memory Management• MemoryA large array of addressable words or bytesA data repository by the CPU and I/O devices. • OS responsibility for memory management:Allocate and deallocate memory space as requested. Keep track of which parts of memory are currently being used and by whom.Efficient utilization when the memory resource is heavily competed.9I/O System Management• A computer needs I/O to interact with outside world:console/terminaldisksNetworking• The I/O system consists of:– A buffer-caching system– A general device-driver interface– Drivers for specific hardware devicesFile and Storage Management• A file is a collection of information defined by its user. Commonly, both programs and data are stored as files. • OS responsibilities for file management: – Manipulation of files and directories.– Map files onto secondary storage. • Os responsibilities for disk management:– Free space management and storage allocation. • The above two issues are not all always together. Networking• A distributed system– A collection of processors that do not share memory. – Processors are connected through a communication network. – Communication takes place using a protocol.• A distributed system provides user access to various shared system resources, which allows: – Computation speed-up– Enhanced


View Full Document

IUB COGS-Q 530 - Introduction to Operating Systems

Documents in this Course
Load more
Download Introduction to Operating Systems
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Introduction to Operating Systems and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Introduction to Operating Systems 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?