Two weeks ago I decided to learn some Algorithms for the next three weeks and it has been two weeks since and one more week to go but I am deciding to keep this on standby and start learning about the Operating Systems as that is what I am learning about in College. So I thought of doing this here too to have better understanding of what I learn about at college. So here we go on this journey of learning about Operating Systems.
Operating Systems - Overview
Operating System is an interface between Human Users and Computer's Hardware. An Operating System manages computer hardware, softwares resources. It performs basic functions like file management, input handeling, memory and processes management and handeling input and output devices like Monitor, Keyboard etc. It also handles the execution of all the programs and softwares.
Image Courtesy: Wikipedia
UNIX, Windows, Linux and MacOS are some very popular operating systems.
Some important functions of Operating Systems are following.
- Processor Management
- File Management
- Device Management
- Security
- Performance Control
- Memory Management
- Error Checking
- User-Software Coordination
- Job Accounting
Types of Operating Systems
Following are some of the important types of OS.
Batch OS
Batch OS were Operating Systems that didn't directly interacted with the Users. A user whenever wanted to process some data will have to create the job in shape of punch cards and tapes and then feed it to Computer Operator and then the OS will just pass on the jobs to their corresponding system to process them.
The operating system is was simple and its basic job was to just transfer control over from one job to another. It always resides in the memory like anyother OS and in it many jobs were batched together to maximize the output from the computer.
Time-Sharing OS
Time-Sharing OS is a multitasking OS which means that more than one task can be executed at the same time by sharing the CPU time with each other. They minimize the response time but in doing so does not maximize the processor use. UNIX and almost all modent OS are examples of this type of OS.
Time-Sharing OS has disadvantages of its own too and these are Reliability, Security and Data Communcation.
Distributed OS
In a Distributed OS tasks are distributed between different systems that are connected with each other thorugh softwares and hardware. Each machine or system under the DOS performs the function that is unique to it and provides the used with the results. This way a user can access resources on one machine that are present on another machine.
The systems that use DOS are also called Losely Coupled Systems or Distributed Systems. The Processors that are distributed between the system are called nodes, computers and so on. A DOS employs a master-slave model.
Network OS
A Network OS is an OS that runs on a server and provides the functions to manage users, data, security and applications. A network OS uses different protocols and functions to facilitate the connectivity and connection between the computers and all the devices that are conncted to its network.
A NOS employs client-server model and if any data is needed to be processed it has to be first transferred to the server and then it can be accessed by the client.
UNIX and Linux are most used examples of a Network OS.
There are many more of them but I think these are enough for know to learn something about.