Operating System Module I PDF
Document Details
Uploaded by FervidRing3940
Tags
Summary
This document provides an overview of computer operating systems. It covers topics such as computer system architecture, different types of operating systems, and operating system structures. The document also details the system booting process.
Full Transcript
Operating System Operating System MODULE I Computer-System Architecture Introduction: Operating...
Operating System Operating System MODULE I Computer-System Architecture Introduction: Operating System overview – Operations, Functions, Service-system calls, Types – A computer system can be organized in a number of different ways, which we can categorize roughly Operating System Structure – Simple structure, Layered approach, Microkernel, Modules – according to the number of general-purpose processors used. System boot process. Single-Processor Systems On a single processor system, there is one main CPU capable of executing a general-purpose instruction set, including instructions from user processes. Almost all single processor systems have other special- Introduction: Operating System overview purpose processors as well. They may come in the form of device-specific processors, such as disk, An operating system is a program that manages a computer’s hardware. It also provides a basis for keyboard, and graphics controllers; application programs and acts as an intermediary between the computer user and the computer hardware. Multiprocessor Systems (Tightly coupled) Multiprocessor systems have two or more processors in close communication, sharing the computer bus user 1 user 2 user 3....... user n and sometimes the clock, memory, and peripheral devices. Multiprocessor systems have three main advantages Increased throughput, Economy of scale and Increased reliability. The multiple- processor systems in use today are of two types. o Asymmetric Multiprocessing - Word text editor Web each processor is assigned a specific task. A boss processor controls the system; the other spreadsheet processor browsers processors either look to the boss for instruction or have predefined tasks. SYSTEM AND APPLICATION PROGRAMS o Symmetric Multiprocessing – each processor performs all tasks within the operating system. SMP means that all processors are peers; no boss–worker relationship exists between processors. OPERATING SYSTEM COMPUTER HARDWARE Fig: Abstract view of the components of a computer system Computer System divided into 3 components Hardware (CPU, memory, input/output devices) basic computing resources of the system. Application programs (word processors, spreadsheets, compilers, web browsers) define the ways in which the resources are used to solve user's computing problems. Clustered Systems Operating System controls hardware, co-ordinates it's use among various application programs for various users. EK, AP_SJCET 1 EK, AP_SJCET 2 Operating System Operating System Two or more individual systems or nodes joined together. Such systems are considered loosely coupled. Each node may be a single processor system or a multicore system. Clustering is usually used to provide high-availability service that is, service will continue even if one or more systems in the cluster fail. In general, main memory is too small to accommodate all jobs, the jobs are kept initially on the disk in the job pool. This pool consists of all processes residing on disk awaiting allocation of main memory. Clustering can be structured asymmetrically or symmetrically. In asymmetric clustering, one machine Multiprogrammed systems provide an environment in which the various system resources (for example, is in hot-standby mode while the other is running the applications. The hot-standby host machine does CPU, memory, and peripheral devices) are utilized effectively, but they do not provide for user interaction nothing but monitor the active nodes. If that active nodes fails, the hot-standby host becomes the active with the computer system. Time sharing (or multitasking) is a logical extension of multiprogramming. node. In symmetric clustering, two or more hosts are running applications and are monitoring each other. In time-sharing systems, the CPU executes multiple jobs by switching among them, but the switches Operating-System Structure occur so frequently that the users can interact with each program while it is running. An operating system provides the environment within which programs are executed. Internally, operating As the name itself suggests, multi-tasking refers to execution of multiple tasks at a time. In the modern systems vary greatly in their makeup. operating systems, we are able to play MP3 music, edit documents in Microsoft Word, surf the Google Chrome all simultaneously, this is accomplished by means of multi-tasking. One of the most important aspects of operating systems is the ability to multiprogram. A computer running more than one program at a time. Eg. like running Excel and Firefox simultaneously. Multithreading is an extension of multitasking. A thread is a basic unit of CPU utilization. Multi- threading is an execution model that allows a single process to have multiple code segments (i.e., threads) A single program cannot, in general, keep either the CPU or the I/O devices busy at all times. Single running concurrently within the “context” of that process. users frequently have multiple programs running. Multiprogramming increases CPU utilization by e.g. VLC media player, where one thread is used for opening the VLC media player, one thread for organizing jobs (code and data) so that the CPU always has one to execute. playing a particular song and another thread for adding new songs to the playlist. The operating system keeps several jobs in memory simultaneously (Figure 1.9). Types of operating systems Batch Operating System Jobs are executed sequentially without direct user interaction. Suitable for repetitive tasks like payroll and data processing. Requires the operator to batch similar jobs together for efficiency. EK, AP_SJCET 3 EK, AP_SJCET 4 Operating System Operating System Simple to design but lacks interactivity and real-time capabilities. program running. With sharing, many processes could be adversely affected by a bug in one program. A Early examples include IBM's punch card-based systems. properly designed operating system must ensure that an incorrect (or malicious) program cannot cause Time-Sharing Operating System other programs to execute incorrectly. Multiple users share the CPU using time-slicing techniques. Reduces idle CPU time by switching between tasks quickly. a) Dual-Mode Operation Each user gets a time slot, making the system appear interactive. Useful in environments like UNIX systems for multi-user operations. In order to ensure the proper execution of the operating system, we must be able to distinguish between Allows concurrent execution of processes for better productivity. the execution of operating-system code and user defined code. Distributed Operating System Manages multiple computers connected via a network as a single system. There are 2 separate modes of operation Resources like files and printers are shared across the network. Offers high fault tolerance and scalability for large systems. User Mode Commonly used in cloud computing environments (e.g., Azure). Kernel Mode (Supervisor Mode, System Mode, Privileged Mode) Ensures better performance and load balancing across systems. 'mode bit' – is the bit added to the hardware of a computer to indicate the current mode, kernel (0) or Real-Time Operating System (RTOS) user (1) Processes tasks within strict time limits for timely outputs. Used in systems where delays can cause failures (e.g., medical devices). with mode bit, we can distinguish between a task that is executed on behalf of the OS and one that is Two types: Hard RTOS (no delays allowed) and Soft RTOS (minor delays tolerable). executed on behalf of the user. Optimized for quick response and deterministic behavior. when computer system is executing on behalf of user application: - User Mode Found in robotics, automotive systems, and industrial machinery. when a user application requests a service from the OS (via a system call) the system must transition Multi-Tasking Operating System Handles multiple tasks or processes simultaneously on one CPU. from user mode to kernel mode to fulfill the request. Optimizes resource usage by allocating CPU time to active tasks. Ensures smoother operation for users running multiple programs. Common in modern OS like Windows and macOS. Improves efficiency and user experience in computing environments. Operating-System Operations Modern operating systems are interrupt driven. If there are no processes to execute, no I/O devices to service, and no users to whom to respond, an operating system will sit quietly, waiting for something to happen. Events are almost always signaled by the occurrence of an interrupt or a trap. A trap (or an exception) is a software-generated interrupt caused either by an error (for example, division by zero or At system boot time, hardware starts in kernel mode. invalid memory access) or by a specific request from a user program that an operating-system service be OS is loaded and starts user applications in user mode. performed. The interrupt-driven nature of an operating system defines that system’s general structure. Whenever a trap or interrupt occur, the hardware switches from user mode to kernel mode. For each type of interrupt, separate segments of code in the operating system determine what action Dual mode of operation provides us with the means for protecting the operating system from errant should be taken. An interrupt service routine is provided to deal with the interrupt. users—and errant users from one another. Since the operating system and the users share the hardware and software resources of the computer We accomplish this protection by designating some of the machine instructions that may cause harm system, we need to make sure that an error in a user program could cause problems only for the one as privileged instructions. EK, AP_SJCET 5 EK, AP_SJCET 6 Operating System Operating System The hardware allows privileged instructions to be executed only in kernel mode. A process needs certain resources to perform task If an attempt is made to execute these instructions in user mode, the hardware treats it as illegal and o CPU time traps it to the OS. o memory Example for privileged instruction: - I/O control, timer management, and interrupt management. o files o I/O devices b) Multi-Mode Operation (concept of modes can be extended modes) these resources are either given to the process when it is created or allocated to it while it is running CPU uses more than 1 bit to set and test the mode A program is a passive entity Eg: contents of a file stored on a disk a process is an active entity. c) Timer Program counter: - a process has 1 program counter specifying the next instruction to execute It is used to ensure that the OS maintains control over the CPU Execution of such process is sequential. Not possible to allow a user program to get stuck in an infinite loop or fail to call system services for CPU executes one instruction at a time, one after another until the process completes. these reasons, a timer is used. A system consists of a collection of processes A timer can be set to interrupt the computer after a specific period. o some are OS processes (execute system code) The period may be fixed or variable. o some are user processes (execute user code) Variable timer is implemented by a counter. All processes can be executed concurrently by a single CPU. OS sets the counter. OS is responsible for following process management activities Every time the clock ticks the counter is decremented. 1. Scheduling process on CPU When the counter reaches zero, an interrupt occurs. 2. Creating and deleting both system and user processes 3. Suspending and resuming processes Functions of OS 4. Providing mechanisms for process synchronization 5. Providing mechanisms for process communication Process Management Memory Management Memory Management Main Memory is a large array of bytes Storage Management Each byte has it's own address o file system management Central processor reads instructions from main memory during instruction fetch cycle and also write o mass storage management data to it. o caching OS is responsible for the following memory management activities o I/O Systems o Keeping track of which parts of memory are currently being used and who is using them. Protection and Security o Deciding which processes and data to move into and out of memory. o Allocating and deallocating memory space as needed Process Management Storage Management Process – program in execution OS provides a uniform, logical view of information storage. Eg: a word processing program being run by user on a PC. a) File System Management EK, AP_SJCET 7 EK, AP_SJCET 8 Operating System Operating System Computers store information on several types of physical media. Cache coherency Eg : magnetic disk, optical disks, magnetic tape. In certain cases, copy of data may exist simultaneously in different cache. We may need to make A file is a collection of related information defined by its creator. sure that an update to a data in one cache is immediately reflected in other caches as well. This It represents program and data. situation is called cache coherency. Data files may be numeric, alphabetic, alphanumeric or binary. d) Input/output systems OS is responsible for the following activities in connection with file management: - The I/O system consists of several components: Creating and deleting files. A memory management component that include buffering, caching and spooling. Creating and deleting directories to organize files. A general device driver interface. Mapping files onto secondary storage. Drivers for specific hardware devices Backing up files on stable storage media. Protection and Security b) Mass storage management If a computer system has multiple users and allows the concurrent execution multiple processes, the Main memory is too small to accommodate all data and programs and because the data that it holds are access to the data must be regulated. lost when the power is lost, the computer system must provide secondary storage to back up main For that purpose, mechanisms ensure that files, memory segments, CPU and other resources can be memory. operated on only by those processes that have gained proper authorization from the OS. Disks can be used as a storage medium. Eg : timer ensures that no process can gain control of the CPU without eventually relinquishing Compiler, assembler, assembler, word processors, editors, formatters etc., are stored on a disk control. until loaded into memory. Protection: - Any mechanism for controlling the access of processes or users to the resources. Proper management of disks are important. Protection can improve reliability. OS is responsible for the following disk management activities: Unprotected resource cannot defend against use by an unauthorized or incompetent user. o Free space management. Security: - function of an OS is to defend a system from external and internal attacks. o Storage allocation Eg :- denial of service attack o Disk scheduling. Most OS's maintain a list of user names and associated user identifiers. secondary storage and tertiary storage are also there. o These are unique, one per user. c) Caching o User id is associated with all of the user processes Information is normally kept in some storage system such as main memory. Group Identifiers and group names are used to identify a set of users. As it is used, it is copied into a faster storage system 'the cache' on a temporary basis. a user can be in one or more groups. When we need a particular piece of information, we first check whether it is in the cache, if it is, Escalated Privileges – user sometimes needs to escalate privileges to gain extra permissions for an then we use the information directly from the cache, if it is not we use the information from the activity. source, putting a copy in the cache. Operating System Services Internal program registers provide a high speed cache for the main memory. OS provides an environment for the execution of programs. Other caches are implemented in hardware It also provides certain services to programs Eg : instruction caches that hold instructions to be executed next. Cache management caches have limited size so cache management is an important problem. EK, AP_SJCET 9 EK, AP_SJCET 10 Operating System Operating System 5. Communications One process needs to exchange information with other process. It will be between processes executing on the same computer or different computers tied together by a computer network. 6. Error Detection OS needs to detect and correct errors constantly. Errors may occur in: o CPU and memory hardware (memory error/power failure) o I/O devices (lack of paper in printer, connection failures on network) o In user program (attempt to access illegal memory locations, too great use of CPU time) For each type of error, OS should take the appropriate action to ensure correct and consistent 1. User Interface computing. almost all OS have a user interface, it can take several forms 7. Resource Allocation a) Command-line interface (CLI) When there are multiple users or multiple jobs running at the same time, resources must be allocated uses text commands and a method for entering them. to each of them. b) Batch interface OS manages different types of resources In this, commands and directives to control those commands are entered into files, and those OS must have CPU scheduling routine that consider: - files are executed. o The speed of CPU c) Graphical user interface o Jobs that must be executed In this, the interface is a window system with a pointing device to direct I/O, choose from menu, o Number of registers available. make selections and a keyboard to enter text. It has routines to allocate printers, USB storage drives and other peripheral devices. 2. Program Execution 8. Accounting The system must be able to load a program into memory and to run that program. OS needs to keep track of which users use how much and what kinds of computer resources. The program must be able to end its execution, either normally or abnormally. This record keeping may be used for accounting or simply for accumulating usage statistics. 3. I/O Operations 9. Protection and Security A running program may require I/O which may involve a file or an I/O device. When separate processes execute concurrently, it should not be possible for one process to interfere Users cannot control I/O devices directly. with the other or with the OS itself. OS must provide a means to do so. Protection involves ensuring that all access to system resources is controlled. 4. File System Implementation Security of the system from outsiders is also important. programs need to read and write files and directories. Security is implemented by proper authentication mechanisms. They also need create and delete them by name, search for a given file, and list the file information. Each user must authenticate himself or herself by means of a password to gain access to system some OS include premium management to allow or deny access to files or directories based on file resources. ownership. EK, AP_SJCET 11 EK, AP_SJCET 12 Operating System Operating System System Calls A system call is a method of interacting with the operating system via programs. It is a request from computer software to an operating system's kernel. System calls provide an interface to the services made Program available by an operating system. to read Even simple programs make heavy use of the OS. Application developers design programs according to data from a an Application Programming Interface (API) file and copy them to API specifies: another o Set of functions that are available to the application programmer. file o Including parameters that are passed to each functions and return values the programmer can expect. Eg : Windows API for Windows Systems, POSIX API for POSIX based systems, JAVA API for programs that run on Java Virtual Machine. a) System Calls Interface b) Methods to pass parameters to the OS It serves as the link to system calls made available by the OS. A number is associated with each system call, and the system call interface maintains a table indexed Three general methods are used to pass parameters to the operating system. The simplest approach is to according to the numbers. pass the parameters in registers. In some cases, however, there may be more parameters than registers. The system call interface invokes the intended system call in the OS kernel and return the states of the system call & any return value. The caller need know nothing about how the system call is implemented or what it does during execution. Rather, the caller need only obey the API and understand what the operating system will do as a result of the execution of that system call. Thus, most of the details of the operating-system interface are hidden from the programmer by the API. The relationship between an API, the system-call interface, and the operating system is shown in Figure 2.6, which illustrates how the operating system handles a user application invoking the open () system call. In these cases, 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 (Figure 2.7). This is the approach taken by Linux and Solaris. Parameters also can be placed, or pushed, onto the stack by the program and popped off the stack by the operating system. EK, AP_SJCET 13 EK, AP_SJCET 14 Operating System Operating System o get time or date, set time or date o get system data, set system data o get process, file or device attributes o set process, file or device attributes Communications o create, delete communication connection. o send, receive messages o transfer status information o attach/detach remote devices Process Control a running program needs to halt it's execution either normally [end()] or abnormally [abort()]. a process or job executing program may want to load() and execute() another program. c) Types of System Calls a new job can be created using create_process() a job can be terminated using System Calls can be grouped roughly into six terminate_process(). Examples of Windows and Unix major categories. System Calls the attributes of a job or process including the job's priority, it's maximum allowable execution Process Control Windows Unix time etc can be determined and reset using get_process_attributes() and set_process_attributes(). Process Control o load, execute to wait for the execution of newly created process, wait_time() is used. CreateProcess() fork() o create/terminate process ExitProcess() exit() if we want to wait for a specific event to occur, wait_event() is used. File Manipulation o get process attributes, set process attributes the jobs or processes should then signal when that event has occured using signal_event(). CreateFile() open() o wait for time ReadFile() read() quite often, 2 or more process may share data. To ensure integrity of data, lock is used, no other Device Manipulation o wait event, signal event process can access the data until lock is released, so the system calls used for this purpose is SetConsoleMode() ioctl() o allocate & free memory ReadConsole() read() acquire_lock() and release_lock(). Information Maintenance File Management GetCurrentProcessID() getpid() File Management o create/delete file SetTimer() alarm() Communication create() , delete() both system calls require name of the file. o open, close CreatePipe() pipe() once the file is created, we need to open() and use it. o read, write, reposition CreateFileMapping() shmget() Protection read(), write(), reposition() [rewind or skip to the end of file] can be performed. o get file attributes/set file attributes SetFileSecurity() chmod() close() can be called if we are no longer using it. Device Management InitlializeSecurityDescriptor() umask() we need same set of operations for directories o request device, release device various fie attributes are also need to reset o read, write, reposition file attributes include :- o get device attributes, set device attributes. o file name, file type, protection codes, accounting information (to control files) protection o logically attach or detach attributes code, read, write, execute, delete is set for these privileges. Information Maintenance EK, AP_SJCET 15 EK, AP_SJCET 16 Operating System Operating System system calls used for this function are get_file_attributes() and set_file_attributes(). o shared memory model some OS provide more calls like move() and copy(). a) Message passing model: Device Management In this model, the processes communicate with each other by exchanging messages. For this purpose, a a process may need resources to execute like main memory, disk devices, access to files and so communication link must exist between the processes and it must facilitate at least two operations send on. (message) and receive (message). Size of messages may be variable or fixed. Messages can be exchanged if the resources are available, it can be granted and the control can be returned to the user process, between the processes directly or indirectly through a common mailbox. It is typically used in a otherwise the process will have to wait until sufficient resources are available. distributed environment where communicating processes reside on remote machines connected various resources controlled by the OS can be called as devices, some of these devices are physical through a network. devices eg: disk drives others can be thought of as abstract or virtual devices eg: files Steps: a system with multiple users may require us to first request() a device to ensure exclusive use of it. o A connection must be opened. after we finished with the device we release() it. o Name of other communicator must be known. Each computer in the network has a host name, the once the request has been requested and allocated, we can read(), write(), reposition() the device. host also has a network identifier such as IP address. (gethostid( )) o Each process has a process name; it is translated into an identifier by which the OS refer the Information and Maintenance process. (getprocessid( )) Many system calls exist simply for the purpose of transferring information between the user o Identifiers are passed to the general purpose open() and close() calls or open_connection() and programs and the OS. close_connection() calls. Current time and date can be returned using time() and date(). o accept_connection() can be called to accept the connection. Some system calls may return information about the system such as no of current users, version o A wait_for_connection() call are awakened when a connection is made. no of OS, amount of free memory or disk space and so on. o Source of the communication known as the client, and the receiver known as a server, exchange For debugging we can use the system call dump(). message by read_message() and write_message() system calls. A program trace() lists each system call as it is executed. o close_connection() terminates the connection. Microprocessors provide a CPU known as single step, in which trap is executed by the CPU after b) Shared memory model every instruction. Most OS provide a CPU a time profile of the program to indicate the amount of time that the A shared memory region is established which is used by the processes for data communication. program executes at a particular location or set of locations. o Processes use shared_memory_create() and shared_memory_attach() system calls to create and OS keeps information about all of it's processes, gain access to regions of memory owned by other processes. o eg: calls are used to reset the process information. o Normally OS tries to prevent one process from accessing another process's memory. get_process_attributes() and set_process_attributes() o Shared memory requires that two or more processes agree to remove this restriction. They can Communication then exchange information by reading and writing data in the shared areas. 2 models of interprocess communication are: - Message passing is useful for exchanging smaller amounts of data. o message passing model Shared memory allows maximum speed and convenience of communication. EK, AP_SJCET 17 EK, AP_SJCET 18 Operating System Operating System Shared memory model is used for communication between processes on a single processor or Advantages of Simple structure: multiprocessor systems where the communicating processes reside on the same machine as the It delivers better application performance because of the few interfaces between the communicating processes share a common address space. application program and the hardware. Easy for kernel developers to develop such an operating system. Protection Disadvantages of Simple structure: Provides a mechanism for controlling access to the resources provided by a computer system. Every layer can access the other layers so if any user program fails, the entire system crashes. With the advent of networking and the internet, all computer systems from servers to mobile handheld It does not enforce data hiding in the operating system. devices must be concerned with protection. System calls providing protection include set_permission() and get_permission() which manipulates Another example of limited structuring is the original UNIX operating system. Like MS-DOS, UNIX the permission settings of the resources such as files and disks. initially was limited by hardware functionality. It consists of two separable parts: the kernel and the allow_user() and deny_user() system calls specify whether particular users can or cannot be allowed system programs. The kernel is further separated into a series of interfaces and device drivers, which access to certain resources. have been added and expanded over the years as UNIX has evolved. We can view the traditional UNIX operating system as being layered to some extent, as shown in Figure 2.12. Structures of operating system (i) Monolithic systems (ii) Layered Systems (iii) Micro Kernel (iv) Modular approach. Operating system can be implemented with the help of various structures. The structure of the OS depends mainly on how the various common components of the operating system are interconnected and melded into the kernel. Depending on this we have following structures of the operating system: Simple structure: Such operating systems do not have well defined structure and are small, simple and limited systems. The interfaces and levels of functionality are not well separated. MS-DOS is an example of such operating system. In MS-DOS application programs are able to access the basic I/O routines. These types of operating system cause the entire system to crash if one of the user programs fails. Diagram of the structure of MS-DOS is shown below. Layered structure: An OS can be broken into pieces and retain much more control on system. In this structure the OS is broken into number of layers (levels). The bottom layer (layer 0) is the hardware and the topmost layer (layer N) is the user interface. These layers are so designed that each layer uses the functions of the lower level layers only. This simplifies the debugging process as if lower level layers are debugged and an error occurs during debugging then the error must be on that layer only as the lower level layers have already been debugged. UNIX is an example of this structure. Advantages of Layered structure: EK, AP_SJCET 19 EK, AP_SJCET 20 Operating System Operating System Layering makes it easier to enhance the operating system as implementation of a layer can be changed easily without affecting the other layers. It is very easy to perform debugging and system verification. Modular structure or approach: Disadvantages of Layered structure: It is considered as the best approach for an OS. It involves designing of a modular kernel. The kernel In this structure the application performance is degraded as compared to simple structure. has only set of core components and other services are added as dynamically loadable modules to the At each layer, the data needs to be modified and passed on which adds overhead to the system kernel either during run time or boot time. It resembles layered structure due to the fact that each It requires careful planning for designing the layers as higher layers use the functionalities of kernel has defined and protected interfaces but it is more flexible than the layered structure as a only the lower layers. module can call any other module. For example, Solaris OS is organized as shown in the figure. Micro-kernel: This structure designs the operating system by removing all non-essential components from the kernel and implementing them as system and user programs. This result in a smaller kernel called the micro- kernel. Advantages of this structure are that all new services need to be added to user space and does not require the kernel to be modified. Thus it is more secure and reliable as if a service fails then rest of the operating system remains untouched. Mac OS is an example of this type of OS. Advantages of Micro-kernel structure: It makes the operating system portable to various platforms. As microkernels are small so these can be tested effectively. Disadvantages of Micro-kernel structure: Hybrid Systems Increased level of inter module communication degrades system performance. Very few OS adopt a single, strictly defined structure. They combine different structures, resulting in hybrid systems that address performance, security and usability issues. EK, AP_SJCET 21 EK, AP_SJCET 22 Operating System eg; IOS, Android, Apple Mac OS X System booting process. The procedure of starting a computer by loading the kernel is known as booting the system. Bootstrap Operating BIOS Loader Kernel System Login Steps of Booting: We can describe the boot process in six steps: The Startup It is the first step that involves switching the power ON. It supplies electricity to the main components like BIOS and processor. BIOS: Power On Self-Test It is an initial test performed by the BIOS. Further, this test performs an initial check on the input/output devices, computer’s main memory, disk drives, etc. Moreover, if any error occurs, the system produces a beep sound. Loading of OS BIOS loads the bootstrap loader into memory. Bootstrap program or bootstrap loader is a small piece of code locates the kernel, loads it into main memory, and starts its execution. System Configuration In this step, the drivers are loaded into the main memory. Drivers are programs that help in the functioning of the peripheral devices. Loading System Utilities System utilities are basic functioning programs, for example, volume control, antivirus, etc. In this step, system utilities are loaded into the memory. User Authentication If any password has been set up in the computer system, the system checks for user authentication. Once the user enters the login Id and password correctly the system finally starts. EK, AP_SJCET 23