Operating System Theory

History of OS

An Operating System is the most important piece of software on your computer. Your OS is always there for you when you need it. We never really think about our OS, it is just there and available to do what we ask it do to.

You might be wondering what does an OS really do? It performs a lot of various tasks that we never really think about. To learn more about what an OS does visit the following two URLs:

It is important for us to understand how operating systems have developed over time. The modern OS is relatively new in comparison to other events (like Dinosaurs)

First Generation (1945-1955): This generation of computers used vacuum tubes.

Second Generation (1955-1965): This generation used transistors and batch systems.

Third Generation (1965-1980): This generation used integrated circuits and multi-programming.

Fourth Generation (1980-1990): This generation is known for using personal computers.

Fifth Generation (1990 - present): This generation is known as the connect generation. This is due to everyone being connected to the internet.

What will the next generation involve? Artificial Intelligence?

To gain more insight on the history of computers please read Computer History 101: The Development Of the PC.


Kernels

Kernels are the most important part of an OS. Many people also say that the kernel is the OS, that everything else is just software/applications. This is an extremely important piece of the OS, so make sure you read about what a kernel is. Keep in mind that there are also different types of kernels and you should know the difference between each one.

Processes

Just as the kernel is the most important part of an OS, the process is the most fundamental part of an OS. without processes we would not be able to do anything with our computers! They would be as useful as a doorstop!

You'll learn that a process has many different definitions. Here are a couple that you might come across:

  • A program in execution

  • An instance of a program running on a computer

  • The entity that can be assigned to and executed on a processor

  • A unit of activity characterized by the execution of a sequence of instructions, a current state, and an associated set of system resources.

The OS needs to keep track of a lot of information that is related to each process. This information is stored in a Process Control Block.

While using our computer and various applications the state of each process/application changes. The OS also needs to keep track of the state that each process is in. You should familiarize yourself with process states to gain a better understanding of how an OS truly operates.

The image to right shows how a process can move from one state to the other, but it does not provide a definition of each state.

Now that we understand how a process is created and the different states a process can be in we can now learn how a process is scheduled by the OS. Depending on the type of OS different scheduling algorithms are possible.

Scheduling Algorithms

Visit each URL below to learn about the scheduling algorithm.

Batch Scheduling:

Interactive Scheduling: