Operating system is an integrated set of programs that controls the resources (CPU, memory, I/O devices etc) of a computer system and provides its users with an interface or virtual machine that is easier to use than the bare machine.
Most operating systems perform the functions given below:
- Process Management – Process management module takes care of creation and deletion of processes, scheduling of system resources to different processes requesting them, and providing mechanisms for synchronization and communication among processes.
- Memory Management – Memory management module takes care of allocation and de-allocation of memory space to programs in need of this resource.
- File Management – File management module takes care of file-related activities such as organization, storage, retrieval, naming, sharing and protection of files.
- Security – Security module protects the resources and information of a computer system against destruction and unauthorized access.
- Command Interpretation – Command interpretation module takes care of interpreting user commands, and directing system resources to process the commands. With this mode of interaction with a system, users are not much concerned about hardware details of the system.
- [#1] – Introduction to Computer Fundamentals
- [#2] – Basic computer organization
- [#3] – Number systems
- [#4] – Computer Codes
- [#5] – Computer Arithmetic
- [#6] – Processor and Memory
- [#7] – Secondary Storage Devices
- [#8] – Input-Output Devices
- [#9] – Computer software
- [#10] – Planning the Computer Program
- [#11] – Computer Languages
- [#12] – System Implementation and Operation
- [#13] – Operating Systems
- [#14] – Application Software packages
- [#15] – Business Data Processing
- [#16] – Data Communications and Computer Networks
- [#17] – The Internet
- [#18] – Multimedia
- [#19] – Classification of Computers
- [#20] – Introduction to C Programming Language
Points To Remember:
- Operating system (often referred to as OS) is an integrated set of programs that controls the resources (CPU, memory, I/O devices, etc.) of a computer system and provides its users with an interface or virtual machine that is easier to use than the bare machine.
- Main functions of most modern operating systems are process management, memory management, file management, security, and command interpretation.
- Efficiency of an operating system and overall performance of a computer system are measured usually in terms of its throughput, turnaround time, and response time.
- A process (also called job) is a program in execution. The main objective of process management module of an operating system is to manage the processes submitted to a system in manner to minimize idle time of processors (CPUs, I/O processors, etc.) of the system.
- In a uniprogramming system, only one job is processed by the system at a time and all system resources are available exclusively for the job until its completion.
- Multiprogramming is interleaved execution of two or more different and independent programs by a computer.
- Multitasking is interleaved execution of multiple jobs (often referred to as tasks of same user) in a single-user system.
- In multithreading, a process consists of an address space and one or more threads of control. Each thread of a process has its own program counter, register states, and stack. However, all the threads of a process share the same address space. Threads are often referred to as lightweight processes and traditional processes are referred to as heavyweight processes.
- Systems having multiple CPUs are called multiprocessing systems. They can execute multiple processes concurrently. Multiple CPUs of these systems are used to simultaneously process either instructions from different and independent programs or different instructions from the same program (known as parallel processing).
- Time-sharing is a mechanism to provide simultaneous interactive use of a computer system by many users in such a way that each one feels that he/she is the sole user of the system. It uses multiprogramming with a special CPU scheduling algorithm to achieve this.
- Memory management module of an operating system manages the main memory of a system. Its job is to keep track of which parts of memory are in use and which are free. It also allocates memory to processes when they need it, and de-allocates when they no more need.
- In a multiprogramming memory model, multiple user processes can reside simultaneously in main memory. The two memory management schemes used to facilitate this are multiprogramming with fixed number of memory partitions and multiprogramming with variable number of memory partitions.
- Virtual memory is a memory management scheme that allows execution of processes that might not be loaded in main memory completely. The three basic concepts used for realization of virtual memory are on-line secondary storage, swapping, and demand paging.
- A file is a collection of related information. Every file has a name, its data, and attributes.
- File management module of an operating system takes care of file-related activities such as structuring, accessing, naming, sharing, and protection of files.
- Computer security deals with protecting various resources and information of a computer system against destruction and unauthorized access. Commonly used approaches for this are user authentication, access control, and cryptography.
- Command interpretation module (known as command interpreter) of an operating system serves as an interface for users to communicate with computers via its operating system. Two broad categories of user interfaces supported by various operating systems are command-line interface and graphical user interface (GUI).
- The gap between functionality of an operating system and needs of users for frequently used programs is often bridged by a special category of software known as OS capability enhancement software. These software are grouped normally into three categories – translating programs, library programs, and utility programs.
- Some popular operating systems are UNIX, MS-DOS, Microsoft Windows, Microsoft Windows NT, and linux.
List of Questions:
- What is an operating system? Why it is necessary for a computer system?
- What are the two primary objectives of having an operating system in a computer system? Explain how an operating system helps in meeting these objectives.
- Draw logical architecture diagram of a computer system. Explain the role of an operating system in this architecture.
- Explain the role of an operating system as a resource manager of a computer system.
- “The operating system tends to isolate system hardware from users”. Discuss.
- List various functions performed normally by an operating system.
- Explain the role of an operating system with respect to following functions:
- What parameters are used normally to measure the performance of a computer system?
- Define the following terms:
- What is a process in a computer system? What is the main objective of process management module of an operating system?
- How was a job typically executed in early computer systems? What major drawbacks did this approach have?
- What is batch processing? How jobs are typically executed in a batch processing system?
- What are control statements? Why they are needed?
- Do all computers use the same types of JCL statements? Write reasons for your answer.
- You want to compile and execute a FORTRAN program. In plain English list necessary JCL statements you will prepare for this job.
- Differentiate between a uniprogramming and a multiprogramming system. What are their relative advantages and disadvantages?
- Define multiprogramming. Explain how multiprogramming ensures effective utilization of main memory and CPU.
- Differentiate between I/O-bound and CPU-bound jobs.
- List some hardware and software requirements for a multiprogramming system to work satisfactorily.
- What is a memory partition?
- What is a process control block? Why it is needed? What does it typically contain?
- What is multitasking? What similarities and differences (if any) are between multiprogramming and multitasking?
- What are threads? Differentiate between a single-threaded and a multi-threaded process.
- List some motivations for using a multi-threaded process instead of multiple single-threaded processes for performing some computation.
- Differentiate between multiprogramming and multithreading.
- What is multiprocessing? Draw basic organization diagram of a typical multiprocessing system.
- Differentiate between tightly-coupled and loosely-coupled multiprocessing systems.
- How is multiprocessing different from multiprogramming?
- Discuss advantages and limitation of multiprocessing systems.
- What is time-sharing? What is a time-slice?
- In a timesharing system, explain how each user gets an impression that he/she is the sole user of the system.
- What are the three different states in which all processes of a timesharing system can be? Illustrate how a process switches from one state to another.
- List some hardware and software requirements of a time-sharing system.
- List some advantages of time-sharing systems.
- Why timesharing systems are considered most suitable for program development and testing?
- Multiprogramming and timesharing both allow multiple user processes to reside simultaneously in a computer. Differentiate between the two concepts.
- Differentiate among the following terms:
- What is the main objective of memory management module of an operating system?
- Differentiate between uniprogramming and multiprogramming memory models. What are their relative advantages and disadvantages?
- Differentiate between multiprogramming with fixed number of memory partitions and multiprogramming with variable number of memory partitions.
- What is a virtual memory? Why it is so called? How it is useful?
- Explain the three basic concepts used for realization of virtual memory.
- What is swapping? How does it help in memory management?
- List some advantages and disadvantages of virtual memory.
- What is a file? Differentiate between a file’s data and its attributes.
- What is a file name? Why it is used?
- What are the typical jobs performed by file management module of an operating system?
- Differentiate between sequential access and random access files.
- List some file operations typically provided by an operating system. Mention the use of each operation.
- What is a file extension in a file name? What for are file extensions typically used? List some typical file extensions and their meanings.
- What jobs are performed typically by security module of an operating system?
- Differentiate between external security and internal security requirements of a computer system?
- What security aspects an operating system needs to deal with normally as part of internal security of a computer system?
- Differentiate between user authentication and access control requirements of a computer system.
- List some commonly used user authentication mechanisms.
- What is a biometric device? What for it is used?
- What is cryptography? How does it help in improving the security of a computer system?
- What jobs are performed typically by command interpretation module of an operating system?
- What is a command interpreter? How does it contribute to ‘ease of use’ objective of an operating system?
- What are system calls? How they are used?
- Differentiate between command-line interface and graphical user interface. List their relative advantages and disadvantages.
- What is a job control language (JCL)? Why it is needed?
- What are OS capability enhancement software? Name a few types of software that belong to this category.
- What are translating programs? Name a few types of software that belong to this category.
- What are library programs? Write a few examples of such programs.
- What are utility programs? Write a few examples of frequently used utility programs.
- Write short notes on:
Disk formatting utility
Data compression utility
Data backup utility
- What is a computer virus? How does a typical virus works? When a computer system suffers from virus infection, how it is cured?
- Name four popular operating system. Describe the main features of any two of them.
- Write short note on:
Objectives of an operating system
Functions of an operating system
Parameters for measuring system performance
- Write short note on:
- Write short notes on:
File access methods
Uniprogramming memory model
Multiprogramming memory model
- Write short notes on:
- Write short notes on: