1 Operating System Overview.ppt.pptx
Document Details
Uploaded by Deleted User
Full Transcript
Operating Systems Course Objective To understand what a process is and how processes are synchronized and scheduled. Students should be able to use system calls for managing processes, memory and the file system. Students should understand the data structures and algorithms used to imp...
Operating Systems Course Objective To understand what a process is and how processes are synchronized and scheduled. Students should be able to use system calls for managing processes, memory and the file system. Students should understand the data structures and algorithms used to implement an OS. Learn Linux Operating System, And implementation of different Linux concepts in C programing language Different Concepts Computer System Overview Operating System Overview Processes Concepts and Management Threads and Multi-processing Process Synchronizations and Deadlock CPU Scheduling Memory Management (Main Memory) If we had time; File Management IO Management Security and Protection Prerequisite for OS C and C++ Programming Language IF Structure, Loops, Data types and Pointers Book = Head First C-Programing Language Data Structure Array, Linked list, Stack, Queue, Heap Book = Any best book Audience = Students of BSCS or MCS program Today’s Agenda What is an Operating System? What is Computer System? Serial Processing Batch Operating Systems Multi-programmed Systems Real -Time Systems What is an Operating System? OS as User Interface A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system goals: Execute user programs and make solving user problems easier. Make the computer system convenient to use. Use the computer hardware in an efficient manner. OS as Resource Manager (IO, Processes, Memory, Files etc) Operating System Definitions Resource allocator – manages and allocates resources. Control program – controls the execution of user programs and operations of I/O devices. Kernel – the one program running at all times (all else being application programs). What is an Operating System? Computer System Components 1. Hardware – provides basic computing resources (CPU, memory, I/O devices). 2. Operating system – controls and coordinates the use of the hardware among the various application programs for the various users. 3. Applications programs – define the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs). 4. Users (people, machines, other computers). Abstract View of System Components Serial Processing Programs Loaded via input devices Tape, Card Readers Output devices printers, lights etc. Customer compilers and Interpreters Two Problems Scheduling – Program may take less time than committed or may take greater Setup Time – Every one follow same process for loading their programs, Solution – Load more programs, and common programs once for all users program Batch Processing Idea - Load more programs, and common programs once for all users program Common libraries should always be there - Monitor Problems: Programs May affect each other Dual Mode Requirements – Kernel and User Requirements Timer – avoid monopoly in case of stuck Protection by hardware Interrupts Privileged instructions Problem Processor Idle most of the time as processor is very Memory Layout for a Simple Batch System Multiprogrammed Batch Systems Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them. To maximize processor utilization Context Switching – From one program to another Also known as multi-tasking Memory management was the requirements Programs Scheduling requirements IO devices Management IO operation was using 1 – IO driven using IO Status register 2 – Interrupts Driven IO 3 – DMA – Direct Memory Access Time-Sharing Systems– Interactive Computing The CPU is multiplexed among several jobs that are kept in memory and on disk (the CPU is allocated to a job only if the job is in memory). A job swapped in and out of memory to the disk. On-line communication between the user and the system is provided; when the operating system finishes the execution of one command, it seeks the next “control statement” from the user’s keyboard. Real-Time Systems Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems. Well-defined fixed-time constraints. Real-Time systems may be either hard or soft real-time. Air Traffic Control Systems, Networked Multimedia Systems, Command Control Systems etc. Real-Time Systems (Cont.) Hard real-time: Secondary storage limited or absent, data stored in short term memory, or read-only memory (ROM) Conflicts with time-sharing systems, not supported by general-purpose operating systems. Soft real-time Limited utility in industrial control of robotics Useful in applications (multimedia, virtual reality) requiring advanced operating-system features.