Introduction to Operating Systems Components
This content provides an overview of major components of operating systems, including hardware resources, OS functions, computing environments, and more. It covers the basic structure and functionalities of operating systems, emphasizing the role of OS in managing computer systems efficiently.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Bilkent University Department of Computer Engineering CS342 Operating Systems Chapter 1 Introduction Last Update: Feb 4, 2019 1
Outline and Objectives Outline What Operating Systems Do Computer-System Organization OS structure and operation Major OS Functions Process Management Memory Management Storage Management Protection and Security Computing Environments Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system 2
Basic components of a computer system: place of OS A computer system can be divided into four components Hardware provides basic computing and storage resources CPU, memory, I/O devices Operating system Controls and coordinates use of hardware among various applications and users Application programs solve the problems of the users: use system resources Word processors, compilers, web browsers, database systems, video games Users People, machines, other computers 3
What is an operating system? A program that acts as an intermediary between a users/applications and the computer hardware User/ User/ Application User/ Application Application Operating system functionalities Start, terminate, control executing user programs Make system convenient to use Control and coordinate use of hardware Perform I/O; setup devices Allocate resources Use hardware efficiently Implement common services OS HW CPU, Memory, Devices operating system term: software helping operators of computers to run jobs (applications) and to operate the computer. 4
Operating System Definition (as a software) No universally accepted definition Everything a vendor ships when you order an operating system is good approximation But varies wildly Kernel: running all the time; having most of the functionality Everything else: either a system program (ships with the operating system) or an application program system programs + you can install other applications kernel System programs: programs that are associated with the operating system (Some application programs) OS CD 5
Computer System Organization and Operation 6
Computer System Organization Computer-system operation One or more CPUs, device controllers connect through common bus providing access to shared memory Concurrent execution of CPUs and devices competing for memory cycles Network cable Network adapter Bus 7
Computer Startup bootstrap program is loaded at power-up or reboot Typically stored in ROM or EPROM, generally known as firmware Initializes all aspects of the system Loads operating system kernel and starts execution Kernel runs and make the system ready for running applications Kernel is always ready to run (always in memory) 8
Computer system operation: I/O and device interaction I/O devices and the CPU can execute concurrently Each device controller has a local buffer Data movement (I/O) between device and local buffer (by device) Data movement between memory and local buffer (by CPU) Device controller informs CPU that it has finished its current output operation or it has some input data by causing an interrupt 9
Hardware interrupts When interrupt occurs, hardware does the following: CPU is interrupted at that time application code or kernel code might be running registers and the program counter saved in RAM to preserve CPU state CPU starts running the respective Interrupt Service Routine (ISR) (kernel routine) ISR is found through interrupt vector (table containing addresses of ISRs) 10
Direct Memory Access Structure With DMA, device controller transfers blocks of data from device buffer directly to main memory without CPU intervention Only one interrupt is generated per block, rather than the one interrupt per byte CPU Main Memory DMA Controller Transfer Device Controller Disk 11
Software interrupts Running application software (executing program) may generate interrupts as well. They are called software interrupts 1. exceptions (caused by errors) 2. system calls (service request) trap or syscall instruction is used (depends on CPU architecture Intel uses int machine instruction) An operating system (kernel) is interrupt-driven (event driven) 12
Interrupt-Driven OS Applications or System Programs running in CPU software interrupt (trap) (due to system service requests or errors) Kernel Code hardware interrupt Devices disk, keyboard, timer, network adapter 13
Storage Structure Main memory CPU can access directly Secondary storage extension of main memory that provides large nonvolatile storage capacity Magnetic disks platters The disk controller handles the interaction between the device and the computer Main Memory CPU Disk Controller Spinning Disk secondary storage 14
Storage Hierarchy Storage systems organized in hierarchy Speed, Cost, Volatility
Caching Caching copying information into faster storage system results from tradeoff existing between size and speed Ex: main memory can be viewed as a last cache for secondary storage performed at many levels in a computer (in hardware, operating system, software) Cache is checked first for an item cached Hardware cache L1, L2, etc small, fast large, slow caching Registers Main Memory Main Memory Main Memory Hard Disk Hard Disk Tape
Computer System Architecture: Single processor systems A lot of systems use a single general-purpose processor (PDAs through mainframes) Most systems have special-purpose processors as well 18
Computer System Architecture: Multiprocessor systems Multiprocessor systems growing in use and importance They are parallel systems Tightly-coupled systems Advantages include 1.Increased throughput 2.Economy of scale (cheaper than using multiple computers) 3.Increased reliability graceful degradation or fault tolerance Two types of multiprocessor architecture 1.Asymmetric Multiprocessing 2.Symmetric Multiprocessing 19
Symmetric Multiprocessing Architecture Each CPU has equal role (can execute user program or kernel) Physical memory (RAM) is shared 20
A Dual Core Design Single chip 21
Clustered Systems Like multiprocessor systems, but multiple systems working together Usually sharing storage via a storage-area network (SAN) Provides a high-availability service which survives failures Asymmetric clustering has one machine in hot-standby mode Symmetric clustering has multiple nodes running applications, monitoring each other Some clusters are for high-performance computing (HPC) Applications must be written to use parallelization PC PC SAN PC PC Storage Disk
Operating Systems: providing multiprogramming Multiprogramming: multiple programs can be started and loaded. A subset of total jobs in system is kept in memory. It is Convenient It is Efficient: Single user cannot keep CPU and I/O devices busy at all times One job selected and run via job scheduling OS selects which job When the job has to wait (for I/O for example), CP is given to another job. Main Memory CPU Job Job I/O device I/O device I/O device Job Operating System Job System Job , process , running program will be used interchangeably. 24
Operating Systems: providing time sharing Timesharing (Multitasking) is logical extension in which CPU switches jobs so frequently that users can interact with each job while it is running, creating interactive computing Response time should be < 1 second program loaded in memory process If several processes ready to run at the same time CPU scheduling 25
Operating System: how it operates is interrupt driven Hardware interrupt causes ISR to run (which is a routine of OS) Software error or request creates exception or trap Division by zero, for example (exception) request for an operating system service (trap) System call routines Exception handlers Other routines OS Code (Kernel Code) Interrupt handlers 26
Operating System: how it operates Dual-mode operation allows OS to protect itself and programs and other system components User mode and kernel mode Mode bit provided by hardware (CPU) user code or kernel code in different modes Some machine instructions designated as privileged, only executable in kernel mode system-call instructionchanges mode to kernel, return-from-system-call instruction resets it to user mode 27
Operating System: how it operates Dual mode system operation Transition from User to Kernel Mode and Vice Versa 28
Operating System: how it operates Timerdevice to prevent infinite loop / process hogging resources 1) Set the timer device to interrupt after a while Can be a fixed or variable time period 2) CPU executes a program (a process) 3) Timer device sends an interrupt after that period 4) CPU starts executing timer handler: OS gains control 5) OS can schedule the same process or other process 6) OS sets the timer again before giving the CPU to the scheduled process 29
Major OS Functionalities Process Management Memory management Storage (disk) management File concept, file mapping to disk blocks, disk scheduling I/O control and management Device derivers (doing I/O), buffering, providing uniform access interface Protection and security Controlled access to resources, preventing processes interfering with each other and OS 30
Process Management A process is a program in execution. Unit of work in the system Process is an active entity (a program is passive). Process executes instructions sequentially, one at a time, until completion Process needs resources to accomplish its task CPU, memory, I/O, files Typically system has many processes running concurrently Some of them may be OS processes Upon termination, resources are released For process management: Creating and deleting both user and system processes and Suspending resuming processes Providing mechanisms for process synchronization Providing mechanisms for process communication Providing mechanisms for deadlock handling 31
Memory Management All data in memory before and after processing Memory management activities Keeping track of which parts of memory are currently being used and by whom Deciding which processes (or parts of a process) and data to move into and out of memory Allocating and deallocating memory space as needed All instructions in memory in order to execute Memory management determines what is in memory, where and when 32
Process Address Space max stack a process (running application) Physical Main Memory RAM data Mapping (by OS) a process has an address space (set of logical addresses process is using) instructions 0 address space of the process 33
Storage Management OS provides uniform, logical view of information storage Abstracts physical storage to logical storage unit - file Various storage types varying in medium type, access speed, capacity, data-transfer rate, access method File-System management Files usually organized into directories Access control on most systems to determine who can access what OS activities include Creating and deleting files and directories; Primitives to manipulate files/dirs; Mapping files onto secondary storage 34
Mass-Storage Management Mass Storage: disk (secondary); tapes, CDs, etc. (tertiary) Proper management of mass storage devices is of central importance For improving performance of the computer system Since they are slow devices OS activities Free-space management; Storage allocation Disk scheduling Uniform naming . 35
Performance of various levels of storage Movement between levels of storage hierarchy can be explicit or implicit. 36
Input/Output Subsystem One purpose of OS is to hide peculiarities of hardware devices from the user I/O subsystem responsible for Buffering, caching, General device-driver interface Drivers for specific hardware devices - Interacting with the device and doing I/O Buffering Caching . I/O sub-system of Kernel uniform driver interface Device Derivers 37
I/O Structure Application programs do I/O via OS The request is done by calling a System Call (OS routine) Application System call routine in OS performs the I/O via the help of device driver routines in OS. System Call Routines Kernel After issuing a system call, an application may wait for the call to finish (blocking call) or may continue to do something else (non-blocking call) Device Driver Device Controller Device 38
Protection and Security Protection any mechanism for controlling access of processes or users to resources defined by the OS Security defense of the system against internal and external attacks Huge range, including denial-of-service, worms, viruses, identity theft, theft of service Systems generally first distinguish among users, to determine who can do what User identities (user IDs, security IDs) include name and associated number, one per user User ID of the user is then associated with all the files and processes of the user to determine access control 39
Kernel Data Structures Lists Singly linked lists Double linked lists Circular linked lists Queues Stacks Trees Binary search tree Balanced binary search tree Hash functions and hash tables Bitmaps 40
Different Types of Computer Systems and Applications (Computing Environments) 41
Computing Environments: Distributing Computing Earlier systems executed tasks on a single system Now we have systems interconnected (networked) together Enabling distributed computing, resource sharing, etc. Operating systems have now support for networking multiple systems, enabling data communication enabling distributing file storage, enabling accessing remote resources, etc. network Hence the computing environment is no longer a single system. 42
Computing Environments Traditionally mainframe computer a single system with a user dumb terminals no computation here Computing and OS in a single machine 43
Computing Environments Client-Server Computing Dumb terminals replaced by smart PCs Many systems now servers, responding to requests generated by clients Compute-server provides an interface to client to request services (i.e., database) File-server provides interface for clients to store and retrieve files 44
Peer-To-Peer Computing Another model of distributed system P2P does not distinguish clients and servers Instead all nodes are considered peers Each may act as a client, a server or both A node must join P2P network Registers its service with central lookup service on network, or Broadcast request for service and respond to requests for service via resource discovery/lookup protocol Examples include Napster and Gnutella 45
Web Based Computing Web has become ubiquitous More devices becoming networked to allow web access OSs run web servers and web clients Web based applications can be developed to run over web servers and clients. Having a browser at the client is enough to run most of the applications No special client software required applications HTTP Web browser Web server User pages 46
Mobile Computing Computing on smart phones and tablets. Potable and lightweight devices: mobile devices Many sensors: GPS, accelerometers, gyroscope, etc. Small screen, touch screen, no keyboard/mouse Wireless interfaces (port): 3G/4G, WiFi, Bluetooth. Mobile OS: iOS or Android Applications: New types: Applications that use sensors Location based applications How they developed and run: Web based applications or Native applications 47
Virtual Machines Hardware is abstracted into several different execution environments Virtual machines Each virtual machine provides an interface that is identical to the bare hardware A guest kernel (and processes) can run on top of a virtual machine. We can run several operating systems on the same host. Each virtual machine will run another operating system. 48
Virtual Machines processes processes processes processes Guest OS Guest OS Guest OS VM1 VM2 VM3 Virtual Machine Implementation Host Operating System Hardware 49
Cloud Computing Type of computing that delivers computing, storage, applications as a service across a network. Network is given Computing as a service: remote virtual machine instances or platforms-APIs (software stacks) - IaaS or PaaS Storage as a service: block storage (remote virtual disks), object storage (blob storage). - IaaS Software as a service: Internet services, web based services, - SaaS Public Cloud: Can use anyone Private Cloud: internal to a company 50