Working with Operating System Chapter : 2 Operating System Operating system is a system software which acts as an interface between user and computer. It has two parts : Kernel and Shell. Kernel is responsible for interacting with hardware and the shell is responsible for interacting with the user. The Shell acts as the command interpreter which takes the commands from the user, interprets them & takes action accordingly. Concept of Booting Booting means loading or moving the operating system into the main memory of computer. Booting is of two types : 1) Hard Booting 2) Soft Booting Types of Operating System Single Program OS : This OS is a single user OS, so only one user is executed at a time. Multiprogram OS : This is multiuser OS. It supports multiprogramming i.e. more than one user can be supported at the same time. Time Sharing OS : This OS uses time sharing technique to execute multiple programs at a time. Each active user is given a time slice for the executing of programs. Real Time OS : In real Time OS jobs have fixed time deadlines and the jobs have to be completed within their deadlines. Multiprocessing OS : is capable of handling more than one processors as the jobs have to be executed on more than one processor. Types of Application Software (i) Packages (ii) Utilities (iii) Customised Software (i) Packages : This type of software is developed keeping in mind the general requirements for carrying out a specific task. Many users can use it simultaneously as it fulfills the general requirements. Example : Electronic Spreadsheet, DBMS (Database Management system, Word Processing Package etc. Packages Word Processing Package is a package that processes textual matter and creates organized and flawless documents. An Electronic Spreadsheet is a program that accepts data in a tabular form (in rows and columns) and allows the users to manipulate/ calculate/ analyze data in the desired manner. A Database Management System (DBMS) is a package that can handle and manage bulk of stored data. Desktop Publishing software : The software that handles page layout by combining the functions of a traditional typesetter and a layout artist, is known as DTP. Graphics Software : The application software that manipulates images is known as Graphics software and the software that incorporates images, text, sound, computer animation, and video sequences is known as multimedia software. Presentation graphics software : The application software that can create professional looking visual aids is called Presentation Graphics Software. Utilities Utilities are those application programs that assist the computer by performing housekeeping functions like backing up disk or scanning/ cleaning viruses or arranging information etc. Some of the important utilities are as follows : 1) Text Editor 2) Backup Utility 3) Compression Utility 4) Disk Defragmentor 5) Antivirus Software Types of Services provided by OS 1) Program Execution 2) Handling Input/Output Operations. 3) Manipulation of the file system 4) Error detection and handling 5) Resource allocation 6) Accounting : The OS keeps an account of what type of functioning is taking place and what type of errors have occurred. 7) Information and Resource Protection : OS ensures that information & Resources are used in correct way. OS functions Major functions of OS are listed below : 1) Processor Management 2) Storage ( Memory ) management 3) Information Management 1) Processor Management : Processor management means managing the process or processor i.e. the CPU so this function is also termed as CPU scheduling. The main focus is on increasing the throughput i.e. the amount of work accomplished in a given time interval ( e.g. 15 jobs per hour). Throughput = No. of jobs completed / Total time taken to complete the jobs Job Scheduling It is the process of assigning priority to different jobs submitted for execution and to admit new jobs for processing at appropriate times. Process & its states : Process is a program in execution. During execution process changes its states i.e. current activity. A process can have these states : new, active , waiting or halted Process States NEW ACTIVE WAITING HALTING TYPES OF SCHEDULING Non-Preemptive scheduling Preemptive scheduling Non-Preemptive scheduling : In this type of scheduling job always completes before another scheduling decision is made. Different scheduling techniques which use non-preemptive scheduling are : i) First Come First Serve (FCFS) Scheduling ii) Shortest job Next (SJN) Scheduling iii) Deadline Scheduling Preemptive Scheduling In Preemptive scheduling a scheduling decision can be made even while the job is executing. Therefore, a preemptive scheduling may force a job in execution to release the processor, so that priority job can be executed first to improve throughput. The techniques used in preemptive scheduling are : i) Round Robin scheduling Ii) Response Ratio Scheduling Memory Management CPU MEMORY I/O SYSTEM Memory plays a central role in computer system as both CPU and I/O system interact with memory. Every program must be assigned some memory area and loaded into memory in order to be executed. Various approaches for memory management are given as under : 1) Contiguous Storage Allocation 2) Non Contiguous Storage Allocation 3) Virtual Storage Using Paging Information Management OS has a component called ‘Information management component and is structured as follows : i) Physical IOCS (Input-Output control system) is responsible to handle the device for I/O operation and for error recovery. ii) Logical IOCS is responsible for efficient organization and access of data on IO devices e.g. open a file, read a record, delete a record etc. Iii) File system is responsible for protection and controlled sharing of files. Some commonly Used OS Linux Unix Windows MS-DOS OPEN SOURCE SOFTWARE Freely accessible Freely used Freely changed,improved. Freely copied and distributed Payments may or may not required to be made Source code is available. Proprietory Software Neither open nor freely available. Source code not available. Further distribution and modification is either forbidden or requires special permission by the supplier or vendor. Freeware Freely accessible Freely used No modifications can be made. Freely copied and distributed No payments required to be made Source code not available. Freeware is often used in marketing situations in order to sell additional products. E.g. Microsoft Internet Explorer Shareware Freely accessible Freely used No modifications can be made. Freely copied and distributed A license fee has to be paid after a certain period of time e.g. antivirus Source code not available. Its objective is to make the software available to try for as many users as possible. Representing Characters in Memory ASCII (American Standard Code for Information Interchange) is the most widely used alphanumeric code in most microcomputers and minicomputers and in many mainframes. The ASCII code is a 7-bit code, and so it has 27 = 128 possible code groups to represent different characters. ISCII (Indian Standard Code for Information Interchange) is an 8-bit code capable of coding 256 characters. ISCII code retains all ASCII characters and offers coding for Indian scripts also. Thus it is also called Indian Scripts Code for Information Interchange. UNICODE (Universal Coding) Unicode provides a unique number for every character, no matter what the platform, no matter what the program, no matter what the language. The Unicode Standard has been adopted by such industry leaders as Microsoft, Oracle, IBM etc. Unicode version 3.0 represented 49,194 characters, whereas Unicode version 3.1 has added many more characters, making the character count to 94,140.