OPERATING SYSTEMS TOTAL : 45 REFERENCE BOOKS

Size: px
Start display at page:

Download "OPERATING SYSTEMS TOTAL : 45 REFERENCE BOOKS"

Transcription

1 OPERATING SYSTEMS UNIT I 9 Introduction - Mainframe systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered Systems Real Time Systems Handheld Systems - Hardware Protection - System Components Operating System Services System Calls System Programs - Process Concept Process Scheduling Operations on Processes Cooperating Processes Inter-process Communication. UNIT II 9 Threads Overview Threading issues - CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real Time Scheduling - The Critical-Section Problem SynchronizationHardware Semaphores Classic problems of Synchronization Criticalregions Monitors. UNIT III 9 System Model Deadlock Characterization Methods for handling Deadlocks - Deadlock Prevention Deadlock avoidance Deadlock detection Recoveryfrom Deadlocks - Storage Management Swapping Contiguous Memoryallocation Paging Segmentation Segmentation with Paging. UNIT IV 9 Virtual Memory Demand Paging Process creation Page Replacement Allocation of frames Thrashing - File Concept Access Methods Directory Structure File System Mounting File Sharing Protection UNIT V 9 File System Structure File System Implementation Directory Implementation Allocation Methods Free-space Management. Kernel I/O Subsystems - DiskStructure Disk Scheduling Disk Management Swap-Space Management. Case Study: The Linux System, Windows REFERENCE BOOKS TOTAL : Abraham Silberschatz, Peter Baer Galvin and Greg Gagne, Operating system Concepts, Sixth Edition, John Wiley & Sons (ASIA) Pvt. Ltd, Harvey M. Deitel, Operating Systems, Second Edition, Pearson Education Pvt. Ltd, William Stallings, Operating System, Prentice Hall of India, 4th Edition, Pramod Chandra P. Bhatt An Introduction to Operating Systems, Concepts and Practice, PHI,

2 UNIT 1 CONTENTS PAGE NO 1.0 Introduction Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered Systems Real Time Systems Handheld Systems Hardware Protection System Components Operating System services System Calls System Programs Process Concept Process Scheduling Operations on Processes Cooperating Processes Inter-Process Communication 55 Review Questions 60 2

3 Chapter1.0 Introduction This chapter gives information about what is an operating system, history of operating systems, functions of OS, components and history of OS, and services offered by the operating system in a brief manner, 1.1. Operating system-definition 1) An operating system is a program that acts as an intermediary between the user of a computer and the computer hardware and provides an environment in which a user can execute programs in a convenient and efficient manner. 2) An operating system (commonly abbreviated to either OS or O/S) is responsible for the management and coordination of activities and the sharing of the resources of the computer. The operating system acts as a host for computing applications that are run on the machine. As a host, one of the purposes of an operating system is to handle the details of the operation of the hardware. 3) The Operating System is the one program running at all times on the computer with all else being application programs. 4) Operating systems perform basic tasks, such as recognizing input from the keyboard, sending output to the display screen, keeping track of files and directories on the disk, and controlling peripheral devices such as disk drives and printers Objectives of OS The three main objectives of an operating system are Convenience The OS must be convenient to the programmer or user Efficiency The OS must provide the facility that the resources of the computer should be used in an efficient and effective manner by the user. Ability to evolve The OS must be constructed in such a way that it should permit effective development, testing and introduction of new system functions without interfering with service Components of computer system A computer system can be divided into 4 components 3

4 .Hardware - The central processing unit (CPU), the memory and the I/O devices provides the computing resources. Operating system - It controls and coordinates the use of the hardware among the various application programs for the various users. Application program - Such as word processors, spreadsheets, compilers and web browsers. They define the ways in which these resources are used to solve the computing problems of the users. Users 1.4. Abstract view of the computer system User 1 User 2 User 3 User n Compiler Assembler Text Editor Database System System and application program Operating System Computer Hardware 1.5. Goals of an operating system The primary goal of operation systems are Convenience for the user. Graphical User Interface where added for convenience. Efficient operation. This is the case for large, shared, multiuser systems Components of OS: There are three main components available for the OS. They are 1. Control programs 2. System service programs 3. Utility programs 4

5 1) Control Programs Control Programs control & maintain the operation of computer. Initial program loader (IPL) Program in the form of firmware (software stored in ROM) Computer ON, then electronic chip is automatically activated & IPL read the boot sector routine (BSR), reside in the primary memory 2) System Service Programs Support control programs and they are divided into three portions. They are Linkage Editor Librarian Input/Output control system 3). Utility Programs are utilized to control the system directly e.g. MS-DOS : Fdisk, FORMAT, ATTRIB, BACKUP, FIND 1.7. Types of Operating Systems Within the broad family of operating systems, there are generally four types, categorized based on the types of computers they control and the sort of applications they support. The categories are: A) Real-time operating system (RTOS) - Real-time operating systems are used to control machinery, scientific instruments and industrial systems. An RTOS typically has very little user-interface capability, and no end-user utilities, a very important part of an RTOS is managing the resources of the computer so that a particular operation executes in precisely the same amount of time, every time it occurs. B) Single-user, single task - As the name implies, this operating system is designed to manage the computer so that one user can effectively do one thing at a time. The Palm OS for Palm handheld computers is a good example of a modern single-user, single-task operating system. C) Single-user, multi-tasking - This is the type of operating system most people use on their desktop and laptop computers today. Microsoft's Windows and Apple's Mac OS platforms are both examples of operating systems that will let a single user have several programs in operation at the same time. For example, it is possible for a Windows user to 5

6 rite a note in a word processor while downloading a file from the Internet and can able to print a text of an message in the printer. D) Multi-user - A multi-user operating system allows many different users to take advantage of the computer's resources simultaneously. The operating system must make sure that the requirements of various users are balanced, and that each of the programs they are using has sufficient and separate resources so that a problem with one user doesn't affect the entire community of users. UNIX, VMS and mainframe operating systems, such as MVS, are examples of multi-user operating systems Operating system in user point of view: According to the user s point of view, the system is designed for one user to monopolize its resources, to maximize the work that the user is performing. Here the OS is designed mostly for ease of use. The OS is designed to maximize resource utilization, to assure that all available CPU time, memory and I/O are used efficiently. For those users who are working in workstations connected to networks and shares servers, files, the OS is designed to compromise between individual usability and resource utilization. For individual users, the OS is designed for individual usability. For embedded systems which are in home devices and automobiles which may have numeric keypad and indicator lights the OS are designed to run without user intervention Operating system in system point of view: From the computer s point of view the OS is the program that is most intimate with the hardware. The OS is a resource allocator. A computer system has many resources and the OS acts as the manager of these resources. The OS must decide how to allocate the resources to specific programs and users by facing numerous conflicting requests to operate the computer system efficient and fast. An operating system is a control program and it manages the execution of user programs to prevent errors and improper use of the computer. It is especially concerned with the operation and control of I/O devices History of OS (OR) Evolution of operating systems: The first generation: Serial processing: ( ) 6

7 The first generation computers uses mechanical relays but were very slow, with cycle times measured in seconds. Then relays were replaced by vacuum tubes. In these days a single group of people designed, built, programmed, operated and maintained each machine. By this time operating systems were unheard of. The mode of operation was the programmer has to sign up for a block of time on the signup sheet on the wall, then come down to the machine room, insert his or her plugboard into the computer. This mode of operation is termed as serial processing. That means users have access to the computer in series. But various system software tools were developed to attempt to make serial processing more efficient. These include libraries of common functions, linkers, loaders, debuggers and I/O driver routines. The second generation: Simple batch systems: ( ) The introduction of the transistor made computers reliable. To avoid the wasted time in scheduling and setup the concept of batch operating system was developed. The concept was subsequently refined and implemented. The central idea behind the simple batch processing scheme was the use of a piece of software known as the monitor. With the use of this type of operating system, the user no longer has direct access to the machine. To run a job a programmer would first write the program on paper then punch it on cards. Then the card deck should be brought to the input room and hand it to one of the operators and has to wait until the output was ready. After the job was finished by the computer, an operator has to go to the printer and carry the output to theprogrammer. After finishing a job the next job is automatically loaded into the system by the monitor. The third generation: Multiprogrammed batch systems: ( ) By this time OS/360 evolved which replaced copying cards to tape. The main advantage introduced here is multiprogramming. That is when the current job paused to wait for a tape or other I/O) operation to complete, the CPU will be idle until the I/O finished. The solution evolved to avoid the CPU idle time was the memory is partitioned into several pieces, with a different job in each partition. When one job is waiting for I/O to complete, another job could be using the CPU. So the waiting time of the CPU can be avoided. Also 7

8 the memory can be expanded to hold three, four or more programs and switch among all of them. This process is known as multiprogramming or multitasking. Another advantage in the third generation systems was spooling where one job is loaded into the empty partition of the memory by the operating system when the previous job finished. The fourth generation: Time sharing systems: (1980 Present) By this time the DOS (Disk Operating System) had evolved. These operating systems were based on the users typing the command to the computer system through the keyboard. To avoid this GUI came into existence. This was user friendly and those who do not know about computers can also operate the system using GUI. Since multiprogramming allows the processor to handle multiple batch jobs at a time, multiprogramming can be used to handle multiple interactive jobs. This technique is referred as time sharing. In a time sharing system multiple users access the system through terminals, with the operating system interleaving the execution of each user program in a short burst or quantum of computation. Batch multiprogramming vs time sharing: The evolution of other operating systems is as follows. Macintosh Windows for personal computers Windows NT Windows Me UNIX LINUX Conclusion: There are some problems in operating systems still. If multiple jobs are in memory then they must be protected from interfering with each other. They may modify each other s data. With multiprogramming environment the file system must be protected so that authorized users only have to access the files. The contention for the resources such printers and main storage devices must be handled. 8

9 Chapter2.0---Mainframe Systems 2.1. Introduction: This chapter reviews about what main frame systems are and what are the categories of main frame systems and their evolution. This chapter reveals the growth of the mainframe systems from simple batch systems to time shared systems. Mainframe systems used to tackle many commercial and scientific applications. Batch systems Multiprogrammed systems Time sharing systems 2.2. Batch systems: Input devices- Card readers, tape drivers Output devices- Line printers, tape drivers, card punches. Used did not interact directly with the computer system. The user prepared a job, which consisted of the program the data and some information about the nature of job and submitted it to the computer operator. Memory Layout for a simple batch system Operating System User Program Area The job usually in the form of punch cards. After some time the output appeared. Major task of OS- to transfer control automatically from one job to the next. The OS was always resident in memory. To speed up processing, operators batched together jobs. The o/p from each job would be back to the appropriate 9

10 programmes In this environment the CPU is often idle, become speeds of mechanical I/O devices slower than the electronic devices Multiprogrammed system: It increases CPU utilization by organizing jobs so that the CPU always has one to execute. OS keeps several jobs in memory simultaneously JOB pool - This set of the jobs is a subset of the jobs kept in the job pool. Number of jobs that can be kept simultaneously in memory is usually much smaller than the number of jobs that can be in the job pool. The OS picks and begins to execute one of the jobs in the memory. Memory layout for a multiprogramming System 0 Operating System Job 1 Job 2 Job 3 512k Job 4 Job scheduling- If several jobs are ready to be brought into memory if there is not enough room for all of them, then the system must choose among them CPU scheduling- It several jobs ready to run at the same time, the system must choose among them. Memory layout for a multiprogramming system. 10

11 2.4. Time-sharing system Main drawback of multiprogrammed and batched system doesn t provide for user interaction with the computer. Time-sharing or multitasking is a logical extension of multiprogramming. An interactive or hands-on computer system provides direct communication between the user and the system. The response time should be short. In time-shared OS many users to share the computer simultaneously. A program is known as process. Each user has at least one separate program in memory. Process executes only for a short time. Several jobs must be kept simultaneously in memory. So the system must have memory management and protection. The execution of a job may not be completely in memory. So we use virtual memory. The main advantage of the virtual memory scheme is that programs can be larger then physical memory Conclusion: Even though there are various OS system, the system must be user friendly and provide faster access to the user without any clash in the jobs by providing a synchronized arrangement of job scheduling and sharing of resources. The system should avoid the deadlock stuck of the jobs while execution. Chapter3.0--Desktop systems 3.1. Introduction: This chapter deals with the information related to the computer systems which are worked separately by a single user and can be connected to the network or with some other devices. Here there is an overview about the evolution of the desktop operating systems. 11

12 3.2. Desktop systems: PC operating systems are not multi user system and not multitasking systems. The MS-DOS operating system has been upgraded to OS/2 multitasking system. The Apple Macintosh has been ported to more advanced hardware, and included new features. Operating systems for these computers have benefited from the development of operating systems for mainframes.microcomputers were immediately able to adopt some of the technology developed for larger operating systems. The hardware costs for microcomputers are considerably low that the use of the computer and CPU utilization is not a major problem. Since these individual computers are connected to a local area network or with the other computers in a particular area file protection is very important. Therefore, these operating systems concerned with the file protection mechanism. Two desktop systems are connected together with same or different OS 3.3. Conclusion: Even though the desktop system contains advanced time sharing systems and file protection mechanism they cannot make the system safe from attack. So, higher security protection mechanisms are needed to all types of systems which are connected in a network. Chapter 4.0--Multiprocessor systems 4.1. Introduction: All the systems mostly are single processor systems as they have only one processor (CPU). Multiprocessor systems are otherwise called as parallel systems or tightly coupled systems. This chapter discusses the details about the multiprocessor systems such as the architecture, types, advantages etc., 12

13 4.2. Multiprocessor system Single processor systems have only one main CPU. Multiprocessor systems (also known as parallel systems or tightly coupled systems) have more than one processor sharing the computer bus, the clock and memory Advantages of Multiprocessor system Increased throughput The speed-up ratio with N processor is not N. When multiple processors cooperate on a task a certain account of overhead is incurred in keeping all the parts working correctly This overhead condition for shared resources lowers the expected gain. A group of N programmers working closely together does not result in N times the amount of word being accomplished Economy of scale Multiprocessor systems can save more money than multiple single processor systems because they can share peripherals mass storage and power supplies. If several programs operate on the same set of data it is cheaper to store those data on one disk and to have all the processors share them. Increased reliability If we have ten processors and one fails, then each of the remaining nine processors must pick up a share of the word of the failed processor The entire runs only 10 percent slower, rather then failing altogether. This ability to continue providing service proportional to the level of surviving hardware is called graceful degradation. Systems designed for graceful degradation are also called fault tolerant. 13

14 4.4. Types of Multiprocessor system Depending on the memory it can be divided into two multiprocessing system 1) Symmetric multiprocessing(smp) Each processor runs an identical copy of OS, and these copies communicate with one another when needed. No master slave relationship exists between processors. Symmetric multiprocessing architecture CPU CPU CPU Memory 2) Asymmetric multiprocessing(asmp) Each processor is assigned a specific task. Master slave relationship between processors. A master processor controls the system. The other processors perform the master instruction or predefined task. Master processors are more capable than slaves and are given full control over what the slave processors. The master processor schedules and allocates work to the slave processors. Master processor has direct control over I/O device 14

15 Symmetric Multiprocessing Software is meant to access all the processors. SMP is simply a collection of identical processors capable of processing any information that any one processor is given. Writing software and operating systems that are multiprocessing capable, was much more realistic for an SMP architecture. Asymmetric Multiprocessing Software is meant to have control over the master and slave processors with time scheduling. ASMP was very complex and evaluted in its design. Writing software and operating systems that are multiprocessing capable, was not much more realistic for an ASMP architecture 4.5. Conclusion: Multiprocessor systems are those that are reliable in multiple user environments. There is no asymmetric multiprocessing followed by any system because of the architectural complexity and implementation. But symmetric multiprocessing are used in a reliable manner. Chapter 5.0--Distributed systems 5.1. Introduction: Distributed systems are depending on networking for their functionality. They are able to share computational tasks and provide a rich set of features to users. These distributed operating systems support various protocols such as TCP/IP in networks. For an operating system in a distributed environment, it needs interface devices to manage and pack and unpack the data in the source and destination. Here the discussion is based on the types of distributed environment, structure of each and every type and their features Distributed systems A distributed system is a collection independent computer systems that appear to its user as a single coherent system. General architecture of distributed systems 15

16 5.3. Distributed operating system Distributed operating systems are the OS shared by a network of computers which provides a transparent access to the resources to number of machines. A distributed OS depends on the communication architecture for basic communication functions Types of distributed systems 1) Client server systems Centralized systems acts as server systems to satisfy requests generated by client systems. General Structure of a Client-Server system Client Client Client Client Server Network Server systems can be categorized as, compute-server systems Provide an interface through which clients can send requests to perform an action and get response to execute the 16

17 action and send back the results to the clients. File-server systems Provide a file system interface where clients can create, update, read and delete files. The client server architecture is given below: 2) Peer-to-peer systems: Peer-to-peer, or abbreviated P2P, peer-to-peer network is a type of network in which each workstation has equivalent capabilities and responsibilities. This differs from client/server architectures where some computers are dedicated to serving the others. Peer-to-peer networks are generally simpler but they usually do not offer the same performance under heavy loads. These systems consist of a collection of processors that do not share memory or a clock. No master slave between systems. Each processor has its own local memory. The processors communicate with one another through various communication lines, such as high speed buses or telephone lines.example is the World Wide Web. Generally, P2P networks are used for sharing files. 17

18 The general structure of the peer-to-peer network is given below 5.5. Advantages of distributed systems Performance enhancement Scalability Fault tolerance Flexibility Incremental growth Use of idling resources 5.6. Conclusion: After the invention of distributed systems the communication became faster than previous technology. Using distributed environment, the recent technology GRID COMPUTING came into existence. This makes resource utilization the most efficient. Chapter 6.0--Clustered systems 6.1. Introduction Clustered systems perform the tasks together to accomplish computational work. They are different from parallel systems. Clustered systems are the systems that share storage and are closely linked via LAN networking Types Of Clustering 1) Asymmetric clustering mode 18

19 2) Symmetric clustering mode 3) Parallel Cluster 1) In asymmetric clustering mode one machine is in hot standby mode while the other is running the applications. The hot standby host does nothing but monitor the active server. If the server fails, the hot standby host becomes the active server. 2 ) In symmetric mode, two or more hosts are running applications, and they are monitoring each other. This mode is more efficient, since it uses all the hardware resources. 3) Other forms of clustering are parallel clusters and clustering over the WAN. Parallel clusters allow multiple hosts to access the same data on the shared storage. Most clusters do not allow shared access to data on the disk Cluster system architecture The following diagram shows the clustered system architecture. The individual computers are connected by some high sped LAN or switch hardware. Each computer is capable of operating independently. In addition, a middleware layer of software is installed in each computer to enable cluster operation. The cluster middleware provides a unified system image to the user. This is also responsible for providing high availability. 19

20 6.4. Cluster middleware services and functions Single entry point Single file hierarchy Single control point Single virtual networking Single memory space Single process space Single job management Single user interface Single I/O space Single process space Check pointing Process migration Chapter 7.0. Real Time Systems A special purpose operating system is the real time system. A real time system is used when rigid time requirements have been placed on the operation of a processor or the flow of data. Therefore a real time system is always used as a control device Real time systems Real time systems are the systems that controls scientific experiments, medical imaging systems, industrial control systems and certain display systems. Eg. Automobile systems, home appliances system, fuel injection system etc., 7.2. Types of real time systems 1. Hard real time systems 2. Soft real time systems. 1. Hard real time systems A hard real time system guarantees that critical tasks be completed on time. Hard real time systems use data storage to retrieve the data within the time to finish the particular 20

21 task. Hard real systems conflict with the operation of time sharing systems, and the two cannot be mixed. Also the general purpose operating systems do not support the hard real time functionality. 2. Soft real time systems Soft real time systems are the less restrictive type of real time systems. In this type of systems a critical real time task gets priority over other tasks, and retains that priority until it completes. A real time task cannot be kept waiting indefinitely for the kernel to run it. Soft real time is an achievable goal that can be mixed with other types of systems Advantages 1. Can be mixed with any other types of systems. 2. Useful in several areas such as virtual reality, advanced scientific projects. 3. Widely used in various application areas such as planetary rovers and undersea exploration Disadvantages: 1. More limited utility than hard real time systems. 2. They are risky to use for industrial control and robotics. 3. They need advanced operating system features and which cannot be supported by hard real time systems. Chapter 8.0. Handheld Systems The rapid improvement in technology paved the way to invent handy devices. So to operate these devices a system is needed which is called handheld operating systems. The size is the challenge in these type of devices. So, a proper system has to operate these type of systems. 21

22 8.1. Handheld Systems Personal digital assistants (PDA S) such as Palm pilots or cellular telephones with connectivity to a network. Since handheld devices are small in size they have small amount of memory and slow processors and small display screens. So, the operating systems that are used in these type of devices must handle the memory very efficiently Issues Since the handheld devices do not use virtual memory, programmers are forced to write or implement programs within the limited physical memory capacity. Handheld processors are normally slow in process. To make the processor to work faster needs more power. This leads to bigger size battery which is not possible in handheld devices. So, the OS applications must be designed to reduce the work of the processor considerably. Also the handheld devices have smaller screens which are not much useful for reading s or browsing Conclusion Now a days handheld devices are used by people widely. Some handheld devices use wireless technology such as Bluetooth which allows remote access to mail and browsing. Cellular phones fall in this category. The Operating System also supports the handheld devices atmost for retrieval of information from the handheld devices. Chapter 9.0. Hardware Protection To improve utilization the OS began to share system resources among several programs simultaneously. A properly designed OS must ensure that an incorrect program cannot cause other programs to execute incorrectly.many programming errors are detected by the hardware. 22

23 Various methods of Hardware protection Dual-mode operation I/O protection Memory protection CPU protection 9.1. Dual Mode operation Two separate modes of operation: User mode and monitor mode. Monitor mode also called supervisor mode, system mode or privileged mode A bit, called the mode bit, is added to the hardware of the computer to indicate the current mode. Monitor (0) or user (1). At system boot time the hardware starts in monitor mode The operating system is then loaded and starts user processes in user mode Dual mode operation protects the OS from errant users. The hardware allows privileged instructions to be executed only in monitor mode User to interact with the OS by asking the system to perform some designated tasks that only the operating system should do. The user executing a privileged instruction involves each such request. Such a request is known as a system call also called a monitor call or an operating system function call 9.2. I/O operation A user program may disrupt the normal operation of the system by issuing illegal I/O instruction, by accessing memory locations within the OS itself or refusing to relinquish the CPU. For I/O protection to be complete, we must be sure that a user pgm can never gain control of the computer in monitor mode. 23

24 Use of a system call to perform I/O Case n Resident monitor 1 Trap to Monitor Read System call n 2 Perform I/O 3 Return to User 9.3. Memory protection User program We must provide memory protection at least for the interrupt vector and the interrupt service routines. To protect user programs from access by another one. This protection must be provided by the hardware. A base and a limit register define a logical address space 0 Monitor Job Job Job 3 Job 4 Limit register 24

25 The base register holds the smallest physical memory address. For example if the base register holds and limit register is , then the program can legally access all addresses from through inclusive. Base Base + limit CPU >= address yes < yes no no Trap to operating system monitor addressing error Memory Any attempt by a program executing in user code to access monitor memory or other users memory results in a trap to the monitor which treats the attempt as a fatal error. The base and limit registers can be loaded by only the OS, which uses special privileged instructions. It can be executed only in monitor mode and since only the OS executes in monitor mode CPU protection 25

26 We must prevent and user program from getting studs in an infinite loop or not calling system services and never returning control to the OS. To achieve this goal, we can use timer. A timer can be set to interrupt the computer affer a specified period. A fixed-rate clock and a counter implement variable timer. When the counter reaches 0,an interrupt occurs. Use of timer is to prevent a user program from running long. To initialize a counter with the time limit that a program is allowed to run. To implement time-sharing. Content switch- OS is invoked at the end of each time slice to perform various tasks, such as adding the value N to the record that specifies the amount of time the user pgm has executed. The OS saves registers, internal variables and buffers to prepare for the next pgm to run. Various System components Chapter System Components Process management Main-memory management File management I/O system management Networking Protection system Command interpreter system Process management A process is defined as a program in execution. A process needs certain resources to do its task. The resources such as CPU time, memory, file and I/O devices are either given to the process when it is created or allocated to it while it is running. A program is a passive entity- Contents of a file stored on disk. 26

27 A process is an active entity- Program counter specifying the next instruction to execute. The OS is responsible for the following activities 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 Main memory management Main memory is central to the operation of a modern computer system. During instruction fetch cycle- the central processor reads instructions from main memory During data fetch cycle-it both reads and writes data from main memory. The main memory is the only large storage device that the CPU is able to address and directly. The OS is responsible for the following activities connection with main memory management Keeping track of which parts of memory are currently being used and by whom. Deciding which processes are to be loaded into memory when memory space becomes available. Allocating and reallocating memory space as needed File management A file is a collection of (data) related information by its creator. Files may be free from (for e.g. text files) or may be formatted rigidly (for e.g. fixed fields). 27

28 The concept of a file by managing mass storage media, such as disks and tapes The OS is responsible for the following activities connection with file management Creating and deleting files. Creating and deleting directories Supporting primitives for manipulating files and directories Mapping files onto secondary storage Backing up files on stable storage media I/O system management One of the purposes of an OS is to hide the peculiarities of specific hardware devices from the user. The I/O subsystem consists of A memory management component that includes buffering caching and spooling. A general device driver interface. Drivers for specific hardware devices. Only the device driver knows the peculiarities of the specific device to which is assigned Secondary storage management The data s are accessed by the programs must be in main memory or primary storage during execution The system must provide secondary storage to back up main memory. Systems use disks as online storage medium for both programs and data. The OS is responsible for the following activities in secondary storage management Free-space management Storage allocation 28

29 Disk scheduling Networking The processors in the system are connected through a communication network, which can be configured in a number of different ways. Access to a shared resource allows computation speed up increased functionality increased data availability and enhanced reliability. In distributed system protocols are used to increase system s utility and popularity. Hypertexts transfer protocol - Communication between a web server and a web browser. File transfer protocol and network - File system (FTP, NFS)- Removing the need for a user to log in before she/he is allowed to use a remote resource Protection system Protection is any mechanism for controlling the access of programs processes or users to the resources defined by a computer system. If a computer system has multiple users and allows the concurrent execution of multiple processes, then the various processes must be protected from one another s activities. Protection can improve reliability by detecting latent errors at the interfaces Command-Interpreter System It is the interface between the user and the OS. Control-card interpreter or the command-line interpreter or shell - its function - to get the command statement and executes it. Command Interpreter is a special program that is running when a job is initiated, or when a user first logs on. 29

30 Chapter Operating System services Introduction Operating system provides an environment for the execution of the programs. Various services are provided by the operating system separately to the users and to the programs. The services provided by various OS will differ from one another. But there are common services that are commonly provided by all the operating systems to the programmers for convenience Services provided by the operating system a) Program Execution The system must be able to load a program into memory and to run that program. The program must be able to end its execution, either normally or abnormally. b) I/O operation A running may require I/O. This I/O may involve a file or an I/o device. The OS is responsible for the following activities Free-space management Storage allocation Disk scheduling For efficiency and protection, users usually cannot control I/O devices directly. So OS must provide an I/O. c) File system manipulation Program need to read and write files. Programs also need to create and delete files by name. d) Communications Two ways are o The first takes place between processes that are executing on the same computer. 30

31 o The second takes place between processes that are executing on different computer systems that are tied together by a computer network. Communications implemented via shared memory. e) Error detection Errors may occur in the CPU and memory hardware (such as a memory error or a power failure) in I/O devices (Such as a priority on tape, a connection failure of a network or lack of paper in the printer) and in the user program (such as an arithmetic overflow, as attempt to access an illegal memory location). For each type of error the OS should take the appropriate action to ensure correct and consistent computing. Systems with multiple users can gain efficiency by sharing the computer resources among the users f) Resource allocation When multiple users are logged on the system or multiple jobs are running at the same time, resources must be allocated to each of them. Many different types of resources are managed by the operating system. Operating systems have CPU-scheduling routines that take into account the speed of the CPU the jobs that must be executed the number of registers available and other factors. There might be routines to allocate to a tape drive for use by a job These routines may also allocate plotters, moderns and other peripheral devices g) Accounting We want to keep track of users use how many and which kinds of computer resources. This record keeping may be used for accounting or simply for accumulating usage statistics. 31

32 h) Protection o The owners of information stored in a multi-user computer system may want to control use of that information o When several disjointed processes execute concurrently. It should not be possible for one process to interface with the others or with the operating system itself. Security of the system from outsiders is also important. o Security starts with each user having to authenticate himself to the system, usually by means of a password to be allowed access to the resources. Chapter System Calls System calls provide the interface between a process and the operating system. These calls are generally available as assembly language instructions, and they are usually listed in the various manuals used by the assembly language programmers. Three general methods are used to pass parameters to the OS. The simplest approach is to pass the parameters than registers. There may be more parameters than registers. The parameters are generally stored in a block or table in memory and the address of the block is passed as a parameter in a register. Passing of parameter as a table X register X: parameters for call Load address X System call 13 Use parameters from table X Code for system call 13 32

33 User program Parameters can also be placed or pushed onto the stack by the program and popped off the stack by the os. System calls can be grouped into five major categories Process control File management Device management Information maintenance Communications Process control A running program needs to be able to halt its execution either normally (end) or abnormally (abort). It a system call is made to terminate the currently running program abnormally or if the program run into a problem and cause an error dump a dump of memory is sometimes taken and an error message generated. End, abort Load, execute Create process, terminate process Get process attributes, set process attributes Wait for time Wait event, single event Allocate and free memory A process or job executing one program may want to load and execute another program. MS-DOS OS is a single tasking system, which has a command interpreter that is involved when the computer is started. MS-DOS execution at system startup 33

34 Free Memory Command Interpreter Kernel MS-DOS is a single tasking it uses a simple method to run a program and does not create a new process. It loads the program into memory, writing over most of itself to give the program as much memory as possible. MS-DOS execution running a program Free Memory Process Command Interpreter Kernel A TSR program is a program that hooks an interrupt and then exits with the terminate and stay resident system call. The terminate and stay resident system call causes MS-DOS to reserve the space occupied by the TSR, So it will not be overwritten when the command interpreter is reloaded Free BSD is an example of multitasking system. The command interpreter may continue while another program is executed. To start a new process the shell executes a fork system call. 34

35 UNIX running multiple programs Process D Free Memory Process C Interpreter Process B File management Kernel Create file, delete file Open, close Read, write, reposition (rewind or skip to the end of file) Get file attribute, set file attribute. File attributes include the file name, a file type, protection codes, accounting information. Device management A program as it is running may need additional resources to proceed. Request device, release device Read, write, reposition Get device attributes, set device attributes Logically attach or detach devices Information maintenance Transferring information between the user program and OS. Get time or data, set time or date Get system data, set system data Get process file, or device attributes Set process file or device attributes Communication 35

36 Two common models of communication Message passing model Shared memory model Create, delete communication connection Send, receive messages Transfer status information Attach or detach remote devices MESSAGE PASSING MODEL Process A Process B M M Kernel M 2 1 A connection must be opened before communication can table place. One process accessing another process s memory. Message passing is useful when smaller no s of data need to be exchanged It is easier for intercomputer communication. 36

37 SHARED MEMORY MODEL Process A Shared Memory Process B Kernel Processes use map memory system calls to gain access to regions of memory owned by other processes. Exchange information by reading and writing data in these shared areas. Shared memory allows maximum speed and convenience of communication Chapter System Programs Introduction One of the major aspects of a modern operating system is the collection of system programs. The system programs are one of the major components in computer system architecture. They are in between the operating system and the application program Definition System programs are the programs that provide a convenient environment for program development and execution. Examples are the user interface to system calls. Others are considerably more complex Kinds of System program Logical computer hierarchy 37

38 System programs Application programs File management These programs create, delete, copy, rename, print, dump, list and generally manipulate files and directories Status information Some programs ask the system for the data, time, and amount of available memory or disk space, number of users or similar status information Formatted information is printed to the terminal or other o/p device or file. File modification Several text editors may be available to create and modify the content of files stored on disk or tape. Programming language support Compilers assemblers and interpreters for common PL are provided to the user with the OS. Now these programs are provided separately Program loading and execution Absolute loaders, relocatable loaders, linkage editor and overlay loaders are used to load programs into memory Communications 38

39 It allows users to send messages to one another s screens to browse web passes, to send , to log in remotely or to transfer files from one machine to another. System utilizes (or) application programs Web browsers, word processors, tent formatters, spreadsheets and data base systems, plotting and statistical- analysis packages. Important system program for an OS is the command interpreter (CI) Function-To get and execute the next command Some of the commands are, Create, delete, list, print, copy, execute and so on These commands can be implemented in two general ways One approach- The command interpreter itself contains the code to execute the command For e.g. a command to delete a file May cause the CI to jump to a section of its code that sets up the parameters and makes the system call Another approach- Other OS (Unix) implements most commands by system programs For e.g. The Unix command to delete a file, rm G Would search for a file called rm load the file into memory and execute it with the parameter G. Chapter Process Concept Introduction Early computer systems allowed only one program to be executed at a time. This program had the complete control of the system and this is the only program that will access all the system resources. But present day computers allow multiple programs run simultaneously. This requires firm control and more compartmentalization of various programs. This results the evolution of the process. If the OS is very complex, it is expected to do more work for the users. 39

40 To perform different tasks the operating systems have collection of processes. All these processes can execute concurrently with the CPU and by switching the CPU between processes the OS can make the computer more productive. This chapter deals with the details related to the process, their types, the states of those processes which they undergo while execution and the execution methodology Process Definition 1: A process is defined as a program in execution. Definition 2: A process is an asynchronous activity. Definition 3: A process is defined as the locus of control of a procedure in execution. Definition 4: A process is defined as the manifestation by a process control block in the operating system. Definition 5: A process is an entity to which the processors are assigned for execution Process creation Operating systems need some mechanisms to make sure the existence of all the processes. It is possible to have all the processes to be present ready which are needed always. A process can be created by the following activities 1. System initialization 2. Execution of a process creating system call by a running process 3. A user request to create a new process 4. Initiation of a batch job Foreground and background processes When an OS is booted, several processes are created. Some of these are foreground processes and some are called background processes. A foreground process is a process that interacts with the users and performs the work for them. A background process on the other hand does not have any interaction with the users but has specific functions such as accepting an incoming mail. Processes that stay in the background to 40

41 handle the activities such as , web pages, news, printing and so on are called daemons. Large systems will have more number of daemons. In addition to those processes created at boot time, a running process will issue system call to create more new processes to help it to do the job. In interactive systems, users can start a program issuing a command either through the keyboard or through the mouse. This creates new processes to run the selected program. Users can open multiple windows and each window is run by individual process. Creation of new processes are done and applied only to the batch systems which are found in large mainframe system. Here users can submit batch jobs to the system. When the operating system decides that it has the resources to run another job, it creates a new process and runs the next job from the input queue in it. In all these cases a new process is created by having an existing process that executes a system call to create a new process. This process may be a running user process or a system process or a batch process. Now the system call tells the operating system to create a new process and indicate directly or indirectly, which program to run it Process termination A process will be terminated in various ways. This is based on the situation the OS will allow to terminate the process. Normally a newly created process will be terminated. The process termination is done in the following ways. Normal exit The process will exit automatically after successful completion Error exit Because of some error the process voluntarily exit from the Execution and starts it after some time Fatal error The process is forced to exit in the middle of execution Killed by another process The currently executing process is forced to exit And release its resources for higher priority process by the operating system. Most processes are terminated because they complete their work. When a compiler has compiled the program given to it, it executes a system call to tell the 41

42 OS that it is finished and the OS will take action to terminate the process by issuing another system call Process states A process undergoes a series of discrete process states. Various events can cause a process to change its state. Any process will undergo the following states normally. 1) New state - The process is being created 2) Running state- The process is utilizing the CPU and executes the Instructions 3 Waiting state/ blocking state- The process is waiting for some event to occur such I/O completion or reception of a signal 4) Ready state - The process is waiting for the processor to be assigned to perform its execution 5) Termination state /Completion state- The process is finished its execution. The termination may a voluntary termination or non voluntary termination based on the situation. Various process states are there apart from these above mentioned states but these are the primary states for a process for execution. The process state diagram is given below 42

UNIT I OPERATING SYSTEMS OVERVIEW

UNIT I OPERATING SYSTEMS OVERVIEW UNIT I OPERATING SYSTEMS OVERVIEW Computer System Overview-Basic Elements, Instruction Execution, Interrupts, Memory Hierarchy, Cache Memory, Direct Memory Access, Multiprocessor and Multicore Organization.

More information

OPERATING SYSTEMS UNIT - 1

OPERATING SYSTEMS UNIT - 1 OPERATING SYSTEMS UNIT - 1 Syllabus UNIT I FUNDAMENTALS Introduction: Mainframe systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered Systems Real Time Systems Handheld Systems -

More information

Operating Systems Fundamentals. What is an Operating System? Focus. Computer System Components. Chapter 1: Introduction

Operating Systems Fundamentals. What is an Operating System? Focus. Computer System Components. Chapter 1: Introduction Operating Systems Fundamentals Overview of Operating Systems Ahmed Tawfik Modern Operating Systems are increasingly complex Operating System Millions of Lines of Code DOS 0.015 Windows 95 11 Windows 98

More information

OPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne

OPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne OVERVIEW An operating system is a program that manages the

More information

Operating System: an Overview. Lucia Dwi Krisnawati, MA

Operating System: an Overview. Lucia Dwi Krisnawati, MA Operating System: an Overview Lucia Dwi Krisnawati, MA What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system goals:

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Silberschatz, Galvin and Gagne 2009 Chapter 1: Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture Operating-System Structure Operating-System

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments

More information

1. Operating System Concepts

1. Operating System Concepts 1. Operating System Concepts 1.1 What is an operating system? Operating systems are an essential part of any computer system. An operating system (OS) is software, which acts as an intermediary between

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems Personal-Computer Systems Parallel Systems Distributed Systems Real -Time

More information

CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM:

CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM: CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM: TOPICS TO BE COVERED 1.1 Need of Operating System 1.2 Evolution of os 1.3 operating system i. Batch ii. iii. iv. Multiprogramming Time sharing Real time v.

More information

Introduction. What is an Operating System? A Modern Computer System. Computer System Components. What is an Operating System?

Introduction. What is an Operating System? A Modern Computer System. Computer System Components. What is an Operating System? Introduction CSCI 315 Operating Systems Design Department of Computer Science What is an Operating System? A Modern Computer System Computer System Components Disks... Mouse Keyboard Printer 1. Hardware

More information

European University of Lefke. Instructor: Dr. Arif SARI

European University of Lefke. Instructor: Dr. Arif SARI European University of Lefke CIS 105 Operating Systems Instructor: Dr. Arif SARI Email: asari@eul.edu.tr Introduction 1.1 Silberschatz, Galvin and Gagne 2009 Chapter 1: Introduction, Silberschatz, Galvin

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 System I/O System I/O (Chap 13) Central

More information

To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture Operating-System Structure Operating-System Operations Process Management Memory Management Storage Management

More information

Lecture 1 Introduction (Chapter 1 of Textbook)

Lecture 1 Introduction (Chapter 1 of Textbook) Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 1 Introduction (Chapter 1 of Textbook) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The slides

More information

Some popular Operating Systems include Linux Operating System, Windows Operating System, VMS, OS/400, AIX, z/os, etc.

Some popular Operating Systems include Linux Operating System, Windows Operating System, VMS, OS/400, AIX, z/os, etc. An Operating System (OS) is an interface between computer user and computer hardware. An operating system is software which performs all the basic tasks like file management, memory management, process

More information

DM510 Operating Systems. Jacob Aae Mikkelsen

DM510 Operating Systems. Jacob Aae Mikkelsen DM510 Operating Systems Jacob Aae Mikkelsen DM510 2014 DM510 Course Introduction Teacher: Jacob Aae Mikkelsen ( jamik@imada.sdu.dk ) Teaching Assistant: Daniel Fentz Johansen ( dfjohansen@gmail.com ) Course

More information

Module 1: Introduction. What is an Operating System?

Module 1: Introduction. What is an Operating System? Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems Personal-Computer Systems Parallel Systems Distributed Systems Real-Time Systems

More information

Module 1: Introduction

Module 1: Introduction Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems Personal-Computer Systems Parallel Systems Distributed Systems Real-Time Systems

More information

ECE397A Operating Systems. Chapter 1: Introduction

ECE397A Operating Systems. Chapter 1: Introduction ECE397A Operating Systems Welcome! Instructor: Professor Csaba Andras Moritz Class webpage: http://www.ecs.umass.edu/ece/andras/courses/ece397 Instructors webpage: http://www.ecs.umass.edu/ece/andras 3

More information

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on Chapter 1: Introduction Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Objectives To describe the basic organization of computer systems To provide a grand tour of the major

More information

UNIT 2. OPERATING SYSTEM STRUCTURES

UNIT 2. OPERATING SYSTEM STRUCTURES This document can be downloaded from www.chetanahegde.in with most recent updates. 1 UNIT 2. OPERATING SYSTEM STRUCTURES 2.1 INTRODUCTION An OS provides the environment within which the programs are executed.

More information

Introduction to Operating System

Introduction to Operating System Introduction to Operating System An operating system is a program which manages all the computer hardware. It provides the base for application program and acts as an intermediary between a user and the

More information

Operating System For Computer Science & Information Technology By www.thegateacademy.com Syllabus Syllabus for Operating System Processes, Threads, Inter Process Communication, Concurrency and Synchronization,

More information

CS6401- Operating System QUESTION BANK UNIT-I

CS6401- Operating System QUESTION BANK UNIT-I Part-A 1. What is an Operating system? QUESTION BANK UNIT-I An operating system is a program that manages the computer hardware. It also provides a basis for application programs and act as an intermediary

More information

Module 1: Introduction

Module 1: Introduction Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems Personal-Computer Systems Parallel Systems Distributed Systems Real -Time

More information

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto Slides based on the book Operating System Concepts, 9th Edition, Abraham Silberschatz, Peter B. Galvin and Greg Gagne,

More information

Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction

Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction Lecturer: Eng. Mohamed B. Abubaker Note: Adapted from the resources of textbox Operating System Concepts, 9 th edition What is an

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 What is an Operating System? What is

More information

Introduction to Operating Systems (Part II)

Introduction to Operating Systems (Part II) Introduction to Operating Systems (Part II) Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/24 1 / 45 Computer

More information

Part I Overview Chapter 1: Introduction

Part I Overview Chapter 1: Introduction Part I Overview Chapter 1: Introduction Fall 2010 1 What is an Operating System? A computer system can be roughly divided into the hardware, the operating system, the application i programs, and dthe users.

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Chapter 1: Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture Operating-System Structure Operating-System Operations Process Management

More information

Course Details. Operating Systems with C/C++ Course Details. What is an Operating System?

Course Details. Operating Systems with C/C++ Course Details. What is an Operating System? Lecture Course in Autumn Term 2013 University of Birmingham Lecture notes and resources: http://www.cs.bham.ac.uk/ exr/teaching/lectures/opsys/13_14 closed facebook group: UoBOperatingSystems anyone registered

More information

Chapter 1: Introduction. Chapter 1: Introduction

Chapter 1: Introduction. Chapter 1: Introduction Chapter 1: Introduction Chapter 1: Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture Operating-System Structure Operating-System Operations Process Management

More information

Operating System Review

Operating System Review COP 4225 Advanced Unix Programming Operating System Review Chi Zhang czhang@cs.fiu.edu 1 About the Course Prerequisite: COP 4610 Concepts and Principles Programming System Calls Advanced Topics Internals,

More information

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015 Lecture Course in Autumn Term 2015 University of Birmingham September 22, 2015 Course Details Overview Course Details What is an Operating System? OS Definition and Structure Lecture notes and resources:

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Chapter 1: Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture Operating-System Structure Operating-System Operations Process Management

More information

7/20/2008. What Operating Systems Do Computer-System Organization

7/20/2008. What Operating Systems Do Computer-System Organization Introduction to Operating Systems Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture Operating-System Structure Operating-System Operations Process Management

More information

Operating Systems. studykorner.org

Operating Systems. studykorner.org Operating Systems Outlines What are Operating Systems? All components Description, Types of Operating Systems Multi programming systems, Time sharing systems, Parallel systems, Real Time systems, Distributed

More information

Chapter 2 Operating-System Structures

Chapter 2 Operating-System Structures This chapter will discuss the following concepts: 2.1 Operating System Services 2.2 User Operating System Interface 2.3 System Calls 2.4 System Programs 2.5 Operating System Design and Implementation 2.6

More information

Operating Systems. Introduction & Overview. Outline for today s lecture. Administrivia. ITS 225: Operating Systems. Lecture 1

Operating Systems. Introduction & Overview. Outline for today s lecture. Administrivia. ITS 225: Operating Systems. Lecture 1 ITS 225: Operating Systems Operating Systems Lecture 1 Introduction & Overview Jan 15, 2004 Dr. Matthew Dailey Information Technology Program Sirindhorn International Institute of Technology Thammasat

More information

UNIT-I MAINFRAME SYSTEMS

UNIT-I MAINFRAME SYSTEMS UNIT-I Introduction: Mainframe Systems - Desktop Systems Multiprocessor Systems Distributed Systems Clustered Systems - Real Time Systems Hardware Protection System Components Handheld Systems -Operating

More information

ROEVER ENGINEERING COLLEGE, PERAMBALUR DEPARTMENT OF INFORMATION TECHNOLOGY OPERATING SYSTEMS QUESTION BANK UNIT-I

ROEVER ENGINEERING COLLEGE, PERAMBALUR DEPARTMENT OF INFORMATION TECHNOLOGY OPERATING SYSTEMS QUESTION BANK UNIT-I systems are based on time-sharing systems ROEVER ENGINEERING COLLEGE, PERAMBALUR DEPARTMENT OF INFORMATION TECHNOLOGY OPERATING SYSTEMS QUESTION BANK UNIT-I 1 What is an operating system? An operating

More information

UNIT I PROCESSES AND THREADS

UNIT I PROCESSES AND THREADS UNIT I PROCESSES AND THREADS Introduction to operating systems review of computer organization operating system structures system calls system programs system structure virtual machines. Processes: Process

More information

Operating Systems. Computer Science & Information Technology (CS) Rank under AIR 100

Operating Systems. Computer Science & Information Technology (CS) Rank under AIR 100 GATE- 2016-17 Postal Correspondence 1 Operating Systems Computer Science & Information Technology (CS) 20 Rank under AIR 100 Postal Correspondence Examination Oriented Theory, Practice Set Key concepts,

More information

Course Content. 07-Feb-17 Faculty of Computer Science & Engineering 1 BK TP.HCM

Course Content. 07-Feb-17 Faculty of Computer Science & Engineering 1 BK TP.HCM Course Content Course Overview Process Concepts Processes Scheduling Processes Synchronization Deadlocks & Problems solving Real Memory Virtual Memory I/O Management Files system Some modern OS Examples

More information

Chapter 2: Operating-System Structures. Operating System Concepts Essentials 8 th Edition

Chapter 2: Operating-System Structures. Operating System Concepts Essentials 8 th Edition Chapter 2: Operating-System Structures Operating System Concepts Essentials 8 th Edition Silberschatz, Galvin and Gagne 2011 Chapter 2: Operating-System Structures Operating System Services User Operating

More information

Chapter 2: Operating-System

Chapter 2: Operating-System Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services! User Operating System Interface! System Calls! Types of System Calls! System Programs! Operating

More information

OPERATING SYSTEMS: Lesson 1: Introduction to Operating Systems

OPERATING SYSTEMS: Lesson 1: Introduction to Operating Systems OPERATING SYSTEMS: Lesson 1: Introduction to Jesús Carretero Pérez David Expósito Singh José Daniel García Sánchez Francisco Javier García Blas Florin Isaila 1 Why study? a) OS, and its internals, largely

More information

Computer-System Organization (cont.)

Computer-System Organization (cont.) Computer-System Organization (cont.) Interrupt time line for a single process doing output. Interrupts are an important part of a computer architecture. Each computer design has its own interrupt mechanism,

More information

Operating Systems Overview. Chapter 2

Operating Systems Overview. Chapter 2 Operating Systems Overview Chapter 2 Operating System A program that controls the execution of application programs An interface between the user and hardware Masks the details of the hardware Layers and

More information

Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications

Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications concurrently on all computers in the cluster. Disadvantages:

More information

Introduction to PC Operating Systems

Introduction to PC Operating Systems Introduction to PC Operating Systems Operating System Concepts 8th Edition Written by: Abraham Silberschatz, Peter Baer Galvin and Greg Gagne John Wiley & Sons, Inc. ISBN: 978-0-470-12872-5 Chapter 2 Operating-System

More information

Operating Systemss and Multicore Programming (1DT089)

Operating Systemss and Multicore Programming (1DT089) Operating Systemss and Multicore Programming (1DT089) Introduction to Operating Systemss (Chapter 1) Wednesday january 23 Uppsala University 2013 karl.marklund@it.uu.se Chapter 1: Introduction Chapter

More information

CSC 453 Operating Systems

CSC 453 Operating Systems CSC 453 Operating Systems Lecture 3: Operating-System Structures Operating System Components Operating systems are large and complex - the only way to manage such a project is to divide it into smaller

More information

Introduction. TDDI04, K. Arvidsson, IDA, Linköpings universitet Contents. What is an Operating System (OS)?

Introduction. TDDI04, K. Arvidsson, IDA, Linköpings universitet Contents. What is an Operating System (OS)? TDDI04 Concurrent Programming, Operating Systems, and Real-time Operating Systems Introduction Copyright Notice: The lecture notes are mainly based on Silberschatz s, Galvin s and Gagne s book ( Operating

More information

Types and Functions of Win Operating Systems

Types and Functions of Win Operating Systems LEC. 2 College of Information Technology / Software Department.. Computer Skills I / First Class / First Semester 2017-2018 Types and Functions of Win Operating Systems What is an Operating System (O.S.)?

More information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Objectives To describe the services an operating system provides to users, processes, and

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls (important!) Types of System Calls (important!) System

More information

Operating System Services

Operating System Services CSE325 Principles of Operating Systems Operating System Services David Duggan dduggan@sandia.gov January 22, 2013 Reading Assignment 3 Chapter 3, due 01/29 1/23/13 CSE325 - OS Services 2 What Categories

More information

Chapter 1: Introduction. What is an Operating System? Overview Course (contd.) How do I spend my time? Computer System Components

Chapter 1: Introduction. What is an Operating System? Overview Course (contd.) How do I spend my time? Computer System Components ECE397A Operating Systems Overview Chapter 1: Introduction Welcome! Instructor: Professor Csaba Andras Moritz, andras@ecs.umass.edu Class webpage: http://www.ecs.umass.edu/ece/andras/courses/ece397_s2005

More information

Four Components of a Computer System

Four Components of a Computer System Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources

More information

PART -A. UNIT -1 INTRODUCTION TO OPERATING SYSTEMS, SYSTEM STRUCTURES: What operating

PART -A. UNIT -1 INTRODUCTION TO OPERATING SYSTEMS, SYSTEM STRUCTURES: What operating PART -A UNIT -1 INTRODUCTION TO OPERATING SYSTEMS, SYSTEM STRUCTURES: What operating systems do; Computer System organization; Computer System architecture; Operating System structure; Operating System

More information

Chapter 1: Introduction. Operating System Concepts 8th Edition,

Chapter 1: Introduction. Operating System Concepts 8th Edition, Chapter 1: Introduction, Administrivia Reading: Chapter 1. Next time: Continued Grand Tour. 1.2 Outline Common computer system devices. Parallelism within an operating system. Interrupts. Storage operation,

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Operating System Third Year CSE( Sem:I) 2 marks Questions and Answers UNIT I

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Operating System Third Year CSE( Sem:I) 2 marks Questions and Answers UNIT I DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Operating System Third Year CSE( Sem:I) 2 marks Questions and Answers UNIT I 1. What is an Operating system? An operating system is a program that manages

More information

Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System

Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System Operating System Operating System Overview Chapter 2 A program that controls the execution of application programs An interface between applications and hardware 1 2 Operating System Objectives Layers

More information

Operating System Overview. Operating System

Operating System Overview. Operating System Operating System Overview Chapter 2 1 Operating System A program that controls the execution of application programs An interface between applications and hardware 2 1 Operating System Objectives Convenience

More information

CSC 453 Operating Systems

CSC 453 Operating Systems CSC 453 Operating Systems Lecture 1: An Introduction What Is an Operating System? An operating system is the software that serves as an interface between the user (or his/her software applications) and

More information

EECS 3221 Operating System Fundamentals

EECS 3221 Operating System Fundamentals EECS 3221 Operating System Fundamentals Instructor: Prof. Hui Jiang Email: hj@cse.yorku.ca Web: http://www.eecs.yorku.ca/course/3221 General Info 3 lecture hours each week 2 assignments (2*5%=10%) 1 project

More information

EECS 3221 Operating System Fundamentals

EECS 3221 Operating System Fundamentals General Info EECS 3221 Operating System Fundamentals Instructor: Prof. Hui Jiang Email: hj@cse.yorku.ca Web: http://www.eecs.yorku.ca/course/3221 3 lecture hours each week 2 assignments (2*5%=10%) 1 project

More information

Lecture 2 - Fundamental Concepts

Lecture 2 - Fundamental Concepts Lecture 2 - Fundamental Concepts Instructor : Bibhas Ghoshal (bibhas.ghoshal@iiita.ac.in) Autumn Semester, 2015 Bibhas Ghoshal IOSY 332C & IOPS 332C: OS Autumn Semester, 2015 1 / 43 Lecture Outline Operating

More information

CS420: Operating Systems

CS420: Operating Systems OS Overview James Moscola Department of Engineering & Computer Science York College of Pennsylvania Contents of Introduction slides are courtesy of Silberschatz, Galvin, Gagne Operating System Structure

More information

CS420: Operating Systems

CS420: Operating Systems OS Overview James Moscola Department of Engineering & Computer Science York College of Pennsylvania Contents of Introduction slides are courtesy of Silberschatz, Galvin, Gagne Operating System Structure

More information

Chapter 2: Operating-System Structures. Chapter 2: Operating-System Structures. Objectives. Operating System Services

Chapter 2: Operating-System Structures. Chapter 2: Operating-System Structures. Objectives. Operating System Services Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

UNIT 1 JAGANNATH UNIVERSITY UNIT 2. Define Operating system and its functions. Explain different types of Operating System

UNIT 1 JAGANNATH UNIVERSITY UNIT 2. Define Operating system and its functions. Explain different types of Operating System JAGANNATH UNIVERSITY BCAII OPERATING SYSTEM MODEL TEST PAPER (SOLVED) UNIT 1 Q1 Q2 Q3 Q4 Q5 Define Operating system and its functions Explain different types of Operating System Describe different types

More information

Chapter 2. Operating-System Structures

Chapter 2. Operating-System Structures Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

Principles of Operating Systems CS 446/646

Principles of Operating Systems CS 446/646 Principles of Operating Systems CS 446/646 1. Introduction to Operating Systems a. Role of an O/S b. O/S History and Features Serial processing Simple batch systems Multiprogrammed batch systems Time-sharing

More information

Chapter 2: System Structures. Operating System Concepts 9 th Edition

Chapter 2: System Structures. Operating System Concepts 9 th Edition Chapter 2: System Structures Silberschatz, Galvin and Gagne 2013 Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs

More information

OPERATING- SYSTEM CONCEPTS

OPERATING- SYSTEM CONCEPTS INSTRUCTOR S MANUAL TO ACCOMPANY OPERATING- SYSTEM CONCEPTS SEVENTH EDITION ABRAHAM SILBERSCHATZ Yale University PETER BAER GALVIN Corporate Technologies GREG GAGNE Westminster College Preface This volume

More information

CHAPTER 1 - INTRODUCTION. Jacob Aae Mikk elsen

CHAPTER 1 - INTRODUCTION. Jacob Aae Mikk elsen CHAPTER 1 - INTRODUCTION Jacob Aae Mikk elsen OBJECTIVES Provide grand tour of major operating systems components Provide coverage of basic computer system organization WHAT OPERATING SYSTEMS DO COMPUTER

More information

OPERATING SYSTEM. Functions of Operating System:

OPERATING SYSTEM. Functions of Operating System: OPERATING SYSTEM Introduction: An operating system (commonly abbreviated to either OS or O/S) is an interface between hardware and user. OS is responsible for the management and coordination of activities

More information

Module 1 Introduction/OS Overview

Module 1 Introduction/OS Overview Module 1 Introduction/OS Overview Reading: Chapter 1 and 2 (Silberchatz) Objective: Quick overview of computer system organization the processor (CPU), memory, and input/output, architecture and general

More information

Chapter 2: Operating-System Structures. Operating System Concepts 8 th Edition

Chapter 2: Operating-System Structures. Operating System Concepts 8 th Edition Chapter 2: Operating-System Structures Operating System Concepts 8 th Edition Silberschatz, Galvin and Gagne 2009 Chapter 2: Operating-System Structures Different Services of Operating System. System Calls-

More information

The Lesson Plan of OS. The syllabus of OS. Access the lesson plan and syllabus at

The Lesson Plan of OS. The syllabus of OS. Access the lesson plan and syllabus at The Lesson Plan of OS The syllabus of OS Access the lesson plan and syllabus at http://mycse/cse The Slide does not contain all the information and cannot be treated as a study material for Operating System.

More information

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on Chapter 1: Introduction Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 1: Introduction 1. What Operating Systems Do 2. Computer-System Organization 3. Computer-System

More information

Unit 2 : Computer and Operating System Structure

Unit 2 : Computer and Operating System Structure Unit 2 : Computer and Operating System Structure Lesson 1 : Interrupts and I/O Structure 1.1. Learning Objectives On completion of this lesson you will know : what interrupt is the causes of occurring

More information

Introduction to Computer Systems and Operating Systems

Introduction to Computer Systems and Operating Systems Introduction to Computer Systems and Operating Systems Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr Topics Covered 1. Computer History 2. Computer System

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Silberschatz, Galvin and Gagne 2009 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 5 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 User Operating System Interface - CLI CLI

More information

Chapter 1: Introduction Dr. Ali Fanian. Operating System Concepts 9 th Edit9on

Chapter 1: Introduction Dr. Ali Fanian. Operating System Concepts 9 th Edit9on Chapter 1: Introduction Dr. Ali Fanian Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 1.2 Silberschatz, Galvin and Gagne 2013 Organization Lectures Homework Quiz Several homeworks

More information

Operating Systems. Operating Systems

Operating Systems. Operating Systems The operating system defines our computing experience. It is the first software we see when we turn on the computer, and the last software we see when the computer is turned off. It's the software that

More information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition Chapter 2: Operating-System Structures Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures 2.1 Silberschatz, Galvin and Gagne 2009 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

CSE Opera+ng System Principles

CSE Opera+ng System Principles CSE 30341 Opera+ng System Principles Lecture 2 Introduc5on Con5nued Recap Last Lecture What is an opera+ng system & kernel? What is an interrupt? CSE 30341 Opera+ng System Principles 2 1 OS - Kernel CSE

More information

Table of Contents 1. OPERATING SYSTEM OVERVIEW OPERATING SYSTEM TYPES OPERATING SYSTEM SERVICES Definition...

Table of Contents 1. OPERATING SYSTEM OVERVIEW OPERATING SYSTEM TYPES OPERATING SYSTEM SERVICES Definition... Table of Contents 1. OPERATING SYSTEM OVERVIEW... 1 Definition... 1 Memory Management... 2 Processor Management... 2 Device Management... 2 File Management... 2 Other Important Activities... 3. OPERATING

More information

Announcement. Exercise #2 will be out today. Due date is next Monday

Announcement. Exercise #2 will be out today. Due date is next Monday Announcement Exercise #2 will be out today Due date is next Monday Major OS Developments 2 Evolution of Operating Systems Generations include: Serial Processing Simple Batch Systems Multiprogrammed Batch

More information

Chapter 1 Computer System Overview

Chapter 1 Computer System Overview Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Seventh Edition By William Stallings Objectives of Chapter To provide a grand tour of the major computer system components:

More information

1.1 Introduction. Fig.1.1 Abstract view of the components of a computer system.

1.1 Introduction. Fig.1.1 Abstract view of the components of a computer system. 1.1 Introduction An operating system is a program that manages the computer hardware. It also provides a basis for application programs and acts as an intermediary between a user of a computer and the

More information

NETW3005 Operating Systems Lecture 1: Introduction and history of O/Ss

NETW3005 Operating Systems Lecture 1: Introduction and history of O/Ss NETW3005 Operating Systems Lecture 1: Introduction and history of O/Ss General The Computer Architecture section SFDV2005 is now complete, and today we begin on NETW3005 Operating Systems. Lecturers: Give

More information

Computer System Overview

Computer System Overview Computer System Overview Introduction A computer system consists of hardware system programs application programs 2 Operating System Provides a set of services to system users (collection of service programs)

More information