Operating Systems Part 1
Introduction to Operating Systems is a three (3) credit unit course of twenty-two units. It deals with the various operating system design concepts and techniques.
It also gives an insight into evolution of operating systems. Since operating systems is the most important software in the computer system, this course takes you through the various types of operating system depending on the environment, the design considerations, the functions performed by the operating system and how these are achieved/implemented either through hardware or software..
This course is divided into six modules. The first module deals with the basic introduction to the concept of Operating Systems such as definition and functions of operating system, history and evolution of operating system.
The second module treats, extensively, the various types of operating system.
The third module deals with concept of process management and discusses the concepts of Co- operating Processes, Threads, and CPU Scheduling.
The fourth module discusses process synchronization issues such as Race Condition, Mutual
Exclusion, Critical Section Problem, and other Classic Problems of Synchronization.
The fifth module treats deadlock issues such as deadlock Characterization and methods for dealing with deadlocks.
The last i.e. the sixth module discusses memory management functions of the operating system and issues such as memory management algorithms like paging, segmentation, contiguous memory allocation with their peculiar features were discussed.
This Course Guide gives you a brief overview of the course contents, course duration, and course materials.
What you will learn in this course
The main purpose of this course is to provide the necessary tools for designing and Operating system. It makes available the steps and tools that will enable you to make proper and accurate decision on designs issues and the necessary algorithms for a particular computing environment.
Thus, we intend to achieve this through the following:
- Introduce the concepts associated with Operating systems;
- Provide necessary tools for analysing a computing environment and choosing/designing appropriate operating system.
III. Provide you with the necessary foundation in operating system designs
|Process Management – Unit 5: Algorithm Evaluation||00:00:00|
|Process Management – Unit 4: CPU Scheduling||01:30:00|
|CPU scheduling is the basis of multi-programmed operating systems. By switching the CPU among processes, the operating system can make the computer more productive. In this unit, you are going to be introduced to the basic scheduling concepts and be presented with several different CPU-scheduling algorithms. The problem of selecting an algorithm for a particular system will also be considered. Objectives: At the end of this unit, you should be able to: • Distinguish between preemptive and non-preemptive scheduling • State the goals for CPU scheduling • Give comparative analysis of the following scheduling algorithms: FCFS SJF Priority Scheduling Round-Robin Scheduling Multilevel Queue Scheduling Multilevel Feedback Queue Scheduling • Select a CPU scheduling algorithm for a particular system.|
|Process Management – Unit 3: Threads||01:00:00|
|Introduction A thread, sometimes called a lightweight process (LWP), is a basic unit of CPU utilization; it comprises a thread ID, a program counter, a register set, and a stack. It shares with other threads belonging to the same process its code section, data section, and other operating system resources, such as open files and signals. A traditional (or heavyweight) process has a single thread of control. If the process has multiple threads of control, it can do more than one task at a time. Figure 3.1 illustrates the difference between a traditional single-threaded process and a multithreaded process. 2.0 Objectives At the end of this unit, you should be able to: Distinguish between a thread and a process Enumerate the advantages of threads over processes Distinguish between user and kernel threads|
|Process Management – Unit 2: Co-operating Processes||01:00:00|
|The previous unit has introduced you to the concept of processes and the various operations that can be carried out on processes. Sometimes, when you have more than one process running on the computer system, there may be need for them to interact with one another. This unit takes you through the different ways that these various processes that may be running on the computer system at the same time interacts with one another. 2.0 Objectives At the end of this unit, you should be able to: • Describe the concept of co-operating processes • State reasons for allowing process co-operation • Explain interprocess communication • Describe message passing • Describe some methods for logically implementing a link and the send/receive operations • Describe means of ensuring synchronization communicating processes • Describe the concept of buffering and the various ways it can be implemented.|
|Process Management – Unit 1: Processes||01:00:00|
|Early computer systems allowed one program to be executed at a time. This program has complete control of the system, and had access to all the system’s resources. Current-day computer systems allow multiple programs to be loaded into memory and to be executed concurrently. This evolution requires firmer control and more compartmentalization of the various programs. These needs resulted in the not ion of a process, which is a program in execution. A process is the unit of work in a modern time-sharing system. Although, the main concern of the OS is the execution of user programs, it also needs to take care of various system tasks that are better left outside the kernel itself. A system therefore consists of a collection of processes: Operating system processes executing system code, and user processes executing user code. All these processes can potentially execute concurrently, with the CPU (or CPUs) multiplexed among them. By switching the CPU between processes, the operating system can make the computer more productive. 2.0 Objectives At the end of this unit, you should be able to: Define a process List the possible states of a process Describe a process control block (PCB) Describe process creation and process termination|
|Types of Operating System – Unit 3: Object-oriented and Time sharing Operating Systems||01:00:00|
|In the previous unit, you been exposed to the real-time operating system, its history and application areas. This unit will extensively discuss the time-sharing operating system as well as the Object-oriented operating systems and the various attempts (citing examples where necessary) that had been made to develop them. 2.0 Objectives • At the end of this unit, you should be able to: • Explain what is meant by object-oriented OS • Compare with examples the various attempts that had been made to develop an object-oriented OS|
|Types of Operating System – Unit 2: Real-time operating system||01:00:00|
|The previous unit discussed the disk operating system and its various characteristics and examples. In this unit you will be exposed to the real-time operating system (RTOS), its design philosophies and some of its other characteristic features like scheduling, interrupt handling, etc. 2.0 Objectives • At the end of this unit, you should be able to: • Define and describe the real-time OS • Explain its design philosophies • Describe how its handles tasks such as memory allocation, scheduling, interrupthandling, intertask communication, etc. • State how it is different from the disk OS • Give examples of RTOS|
|Types of Operating System -Unit 1Disk operating system||01:00:00|
|Introduction The previous unit introduced the various types of OS based on different criteria. In this unit, you will be taken through the disk operating system and its various characteristics and examples. 2.0 Objectives • At the end of this unit, the students should be able to: • Describe the disk operating system (DOS) • List the classes of DOS we have • State what distinguishes the different classes of DOS|
|Operating System Fundamentals – Unit 4 Types of Operating Systems||01:20:00|
|Introduction In the last unit you have been introduced to the concept and history of operating system and how it evolved with each discovery and improvement in the technology of computer architecture. In this unit, you are presented with types of operating system based on: (i) The types of computer they control and the sort of applications they support (ii) The nature of interaction that takes place between the computer user and his/her program during its processing. 2.0 Objectives At the end of this unit, you should be able to: Categorize operating systems based on various criteria List the basic features of each type of operating system Distinguish between one type of operating system and another|
|Operating System Fundamentals – Unit 3 The Kernel||00:00:00|
|Introduction In the previous unit we discussed the history and evolution of the operating system. In this unit you will be taken through the core component of the operating system which is the kernel. 2.0 Objectives At the end of this unit, you should be able to: Define the kernel Describe the functions/responsibilities of the kernel Explain its design philosophies/decisions Describe the various kernel-wide design approaches|
|Operating System Fundamentals – Unit 2 History and Evolution of Operating System||01:00:00|
|Introduction Operating system was absent in the first commercial form of electronic computer launched in 1940's. Rows of mechanical switches were used to enter programs. At that time, programming languages were not in use. Naturally, there was hardly any idea about operating system. The user had sole use of the machine and would arrive armed with program and data, often on punched paper tape. The program would be loaded into the machine, and the machine would be set to work until the program completed or crashed. Programs could generally be debugged via a front panel using switches and lights. It is said that Alan Turing was a master of this on the early Manchester Mark I machine, and he was already deriving the primitive conception of an operating system from the principles of the Universal Turing Machine. Later machines came with libraries of support code, which would be linked to the users’ program to assist in operations such as input and output. This was the genesis of the modern-day operating system. However, machines still ran a single job at a time; at Cambridge University in England the job queue was at one time a washing line from which tapes were hung with different coloured clothes-pegs to indicate job-priority. As machines became more powerful, the time needed for a run of a program diminished and the time to hand off the equipment became very large by comparison. Accounting for and paying for machine usage moved on from checking the wall clock to automatic logging by the computer 2.0 Objectives By the end of this unit, you should be able to: • Discuss the history and evolution of operating system • State the basic functions of the operating system • Differentiate the various features of each generation of the operating system|
|Operating System Fundamentals – Unit 1. Definition and Functions of Operating System (OS)||01:00:00|
|IntroductionHaving just read through the Course Guide, you are now to go through this first unit of the course which is very fundamental to the understanding of what an Operating system is and the role it plays in the whole computer system.Now let us go through your study objectives for this unit.2.0ObjectivesAt the end of this unit, you should be able to:Define an OS State the major functions of the OS State the importance of the OS in the computer system./ Enumerate the various services rendered the user by the OS|
No Reviews found for this course.