Operating System-unit 1.pptxX X A A A A A A A A A A
RahulNavale5
18 views
31 slides
Jul 15, 2024
Slide 1 of 31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
About This Presentation
chcgajcfucfcascacvcacgcxca
Size: 709.31 KB
Language: en
Added: Jul 15, 2024
Slides: 31 pages
Slide Content
Operating System Unit 1
Unit I: Introduction and Operating Systems structures Evolution of operating systems: Batch, timesharing, multiprogramming, multi-tasking and distributed and real time. Operating system components O.S. Services System Calls System Programs System Structure Virtual Machines Special purpose operating systems Open-source operating systems https://www.javatpoint.com/types-of-operating-systems Boot Procedure Overview of the GNU/Linux system administration.
Structure of a Computer System A computer system can be divided roughly into four components: Hardware Operating system Application programs The users In the Computer System, Hardware can only understand machine code (in the form of 0 and 1) which doesn't make any sense to a naive user. We need a system which can act as an intermediary and manage all the processes and resources present in the system. What is Operating System: Operating system is a group of programs that manages and control all operations of computer system and act as an interface between user and computer system.
Operating system as a Resource Allocator A computer system has many resources that may be required to solve a problem: CPU time, memory space, file-storage space I/O devices, and so on. The operating system acts as the manager of these resources Facing numerous and possibly conflicting requests for resources , the operating system must decide how to allocate them to specific programs and users so that it can operate the computer system efficiently and fairly.
Types of Operating Systems (OS)/ Evolution of operating systems Batch Operating System Multiprogramming Operating System Multiprocessing Operating System Multitasking Operating System Network Operating System Real Time Operating System Time-Sharing Operating System Distributed Operating System
Batch Operating System Batch processing – 1970’s A single computer which was called a mainframe Similar types of jobs were batched together and exec- uted in time Access is given to more than one person They submit their respective jobs to the system for the execution The system put all of the jobs in a queue on the basis of first come first serve and executes the jobs one by one. The users collect their respective output when all the jobs get executed. The purpose of this operating system was mainly to transfer control from one job to another as soon as the job was completed It contained a small set of programs called the resident monitor that always resided in one part of the main memory. The remaining part is used for servicing jobs .
Advantage: The use of a resident monitor improves computer efficiency as it eliminates CPU time between two jobs Disadvantage: Batch processing suffers from starvation Not Interactive : Batch Processing is not suitable for jobs that are dependent on the user's input
Multiprogramming Operating System Multiprogramming is an extension to batch processing where the CPU is always kept busy. Each process needs two types of system time: CPU time and IO time. In a multiprogramming environment, when a process does its I/O , The CPU can start the execution of other processes. Therefore, multiprogramming improves the efficiency of the system.
Advantages of Multiprogramming OS Throughput is increased as the CPU always had one program to execute Response time can also be reduced. Disadvantages of Multiprogramming OS Systems resources are used efficiently, but they do not provide any user interaction with the computer system
Multiprocessing Operating System In Multiprocessing, Parallel computing is achieved. There are more than one processors present in the system which can execute more than one process at the same time. Advantages: Increased reliability Increased throughout Disadvantages: Complex as it takes care of multiple CPUs simultaneously
Multitasking Operating System Logical extension of a multiprogramming system that enables multiple programs simultaneously It allows a user to perform more than one computer task at the same time Advantages: Supports multiple users simultaneously Have well-defined memory management High Reliability Optimized Computer Resources Disadvantages: Memory Limitations CPU Overheating
Network Operating System An Operating system, which includes software and associated protocols to communicate with other computers via a network conveniently and cost-effectively, is called Network Operating System Advantages: Network traffic reduces due to the division between clients and the server less expensive to set up and maintain Disadvantages: The failure of any node in a system affects the whole system Security and performance are important issues So trained network administrators are required for network administration
Real Time Operating System In Real-Time Systems, each job carries a certain deadline within which the job is supposed to be completed, otherwise, the huge loss will be there , or even if the result is produced, it will be completely useless Advantages: Maximum utilization of devices and systems Disadvantages: Very costly to develop Very complex and can consume critical CPU cycles.
Time-Sharing Operating System In the Time Sharing operating system, computer resources are allocated in a time-dependent fashion to several programs simultaneously Provides a large number of user's direct access to the main computer It is a logical extension of multiprogramming The CPU is switched among multiple programs given by different users Advantages: Provides effective utilization and sharing of resources reduces CPU idle and response time Disadvantages: Data transmission rates are very high in comparison to other methods Very difficult and expensive to build Security and integrity of user programs loaded in memory and data need to be maintained as many users access the system at the same time
Distributed Operating System Not installed on a single machine, it is divided into parts, and these parts are loaded on different machines. A part of the distributed Operating system is installed on each machine to make their communication possible Distributed Operating systems are much more complex, large, and sophisticated than Network operating systems because they also have to take care of varying networking protocols. Advantages: Provides sharing of resources Load Balancing System is fault-tolerant Disadvantages: Lack of Centralized Control Data Inconsistency Communication Overhead
Operating system components Input Output Memory CPU The components of an operating system play a key role to make a variety of computer system parts work together. There are the following components of an operating system, such as: Process Management I/O Device Management File Management Network Management Main Memory Management Security and Protection Management Secondary Storage Management Error Detection
Process Management : A process is a program in execution. It consists of the followings: The operating system is responsible for the following activities in connection with process management: Creating and deleting both user and system processes Suspending and resuming processes Providing mechanisms for process synchronization Providing mechanisms for process communication Providing mechanisms for deadlock handling
File Management: Following are the major activities of an operating system with respect to file management − Creating and deleting files Creating and deleting directories to organize files Supporting primitives for manipulating files and directories Mapping files onto secondary storage Backing up files on stable (nonvolatile) storage media I/O Device Management An I/O subsystem comprises of I/O devices and their corresponding driver software Drivers hide the peculiarities of specific hardware devices from the users An Operating System manages the communication between user and device drivers I/O operation means read or write operation with any file or any specific I/O device. Operating system provides the access to the required I/O device when required
Network Management Network management is a fundamental concept of computer networks Network Management Systems is a software application that provides network administrators with information on components in their networks. It ensures the quality of service and availability of network resources. It also examines the operations of a network, reconstructs its network configuration, modifies it for improving performance of tasks. Main Memory management Used to keep track of the status of memory locations, whether it is free or allocated. Permits computers with a small amount of main memory to execute programs larger than the size or amount of available memory. Responsible for protecting the memory allocated to each process from being corrupted by another process. Memory managers should enable sharing of memory space between processes.
Security and Protection It refers to a mechanism or a way to control the access of programs, processes, or users to the resources defined by a computer system Following are the major activities of an operating system with respect to protection The OS ensures that all access to system resources is controlled The OS ensures that external I/O devices are protected from invalid access attempts The OS provides authentication features for each user by means of passwords Secondary Storage Management Responsible for allocating blocks to files Must keep track of space available for allocation
Error Detection Errors can occur anytime and anywhere A mistake may occur within the CPU, in I/O devices or the memory hardware The OS constantly checks for possible errors The OS takes applicable legal action to make sure accurate and reliable computing
System Calls System calls provide an interface to the services made available by an operating system A system call is a mechanism used by programs to request services from the operating system (OS) Types of System Calls System calls can be grouped roughly into six major categories: process control, file manipulation, device manipulation, information maintenance, communications, and protection.
Operating System Structure: There are six designs Monolithic systems Layered systems Microkernels Client-server systems Virtual machines Exokernels Monolithic systems The operating system kernel is designed to provide all operating system services , including memory management, process scheduling, device drivers, and file systems, in a single, large binary This means that all code runs in kernel space, with no separation between kernel and user-level processes Each procedure in the system is free to call any other one, if the latter provides some useful computation that the former needs Also, a crash in any of these procedures will take down the entire operating system
Advantages High performance, Simplicity, Low overhead, Fast system calls, Easy to develop drivers etc Disadvantages Large and complex applications, Slow development, Unscalable, Unreliable, Inflexible Characteristics Single Executable : All components and modules are bundled together Tight Coupling: All modules are interconnected and dependent on each other Shared Memory: Can directly access and modify shared data structures. Monolithic Deployment: Entire application is deployed as a single unit Centralized Control Flow: C ontrol flow within the application is typically managed by a central module
Layered Approach To organize the operating system as a hierarchy of layers, each one constructed upon the one below it. The system had six layers: The bottom layer (layer 0) is the hardware; the highest (layer N) is the user interface. Layer 0 dealt with allocation of the processor, switching between processes when interrupts occurred or timers expired. In other words, layer 0 provided the basic multiprogramming of the CPU. Layer 1 did the memory management . It allocated space for processes in main memory and on a 512K word drum used for holding parts of processes (pages) for which there was no room in main memory. Layer 2 handled communication between each process and the operator console Layer 3 took care of managing the I/O devices and buffering the information streams to and from them. Layer 4 was where the user programs were found. The system operator process was located in layer 5.
Layered Approach T o organize the operating system as a hierarchy of layers, each one constructed upon the one below it. The system had six layers: Layer 0 dealt with allocation of the processor, switching between processes when interrupts occurred or timers expired. In other words, layer 0 provided the basic multiprogramming of the CPU. Layer 1 did the memory management. It allocated space for processes in main memory and on a 512K word drum used for holding parts of processes (pages) for which there was no room in main memory. Layer 2 handled communication between each process and the operator console Layer 3 took care of managing the I/O devices and buffering the information streams to and from them. Layer 4 was where the user programs were found. The system operator process was located in layer 5. https://os.ecci.ucr.ac.cr/slides/Abraham-Silberschatz-Operating-System-Concepts-10th-2018.pdf https://drive.uqu.edu.sa/_/mskhayat/files/MySubjects/2017SS%20Operating%20Systems/Abraham%20Silberschatz-Operating%20System%20Concepts%20(9th,2012_12).pdf