Software is a set of instructions required to run a computer system. An operating system is a software used to support a computer’s basic functions. It is in-built in the system. It manages both software as well as hardware resources of a computer and provides common services for a computer program. It is a collection of computer programs that control the system. It operates as a mediator between computer programs & hardware or you can say that it is an interface between the user & the hardware.
- Most Common Examples of Operating System are:
- Functions Of Operating System
- History & Evolution Of Operating System
User <=> Application <=> Operating System <=> Hardware
Most Common Examples of Operating System are:
- Chrome OS;
- Apple’s macOS;
- BlackBerry Tablet OS;
- Microsoft Windows (Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP); etc.
Functions Of Operating System
- Security: The operating system prevents unauthorized access to programs by using password protection.
- Improves System Performance: It detects the time between the service requests and system response to having a complete glimpse of system health. By doing so it can help in improving the performance of the system by giving the crucial message to troubleshoot the problems (if any).
- Error Handling: The Operating system constantly monitors the errors during the execution of the programs. It also detects the malfunctioning of the computer system.
- Memory Management: The operating system manages & allocates main memory or primary memory to the system programs. Primary memory stores the data before processing. It stores the data temporarily and it can retain the data till the system is switched ON otherwise the data can be lost due to any power failure. It includes storage locations & each storage location has a different number known as storage address. The operating system keeps the path of primary memory. It means that it keeps track of each byte of main memory, i.e., records which bytes of memory are used by which user program.
- Processor Management: In a multi-programming environment the OS provides adjustment & communication among processes. The OS decides the sequence in which processes have access to the processor (CPU) and for how long. This function is called as process scheduling. To manage all these it keeps the record of the processes and the program subjected to perform this task is called a traffic controller. The OS allocates the processor to a process and de-allocates when the process is no longer required.
- Device Management: An operating system manages the link between the devices. It is one of the most important functions of the OS to manage the computer’s internal & external hardware such as optical drives, hard disk, video cards, etc. It also controls all the connected devices and tells them how to operate & communicate. It keeps track of all the devices connected with the system and the program liable for this task is known as Input/Output controller (I/O controller). It also efficiently allocates devices & de-allocates the devices when they are not required.
- File Management: The operating system also manages the file-related activities like creating a new file, modifying an existing file, naming a file, sharing a file, protection of files, copying/moving a file from one storage location to another, can delete a file, etc.
- Job Accounting: It saves the record of time and resources required by various tasks and users.
- Program Control: OS also supports programs to be run, operate, and function as designed.
- Network Communication: The operating system also supports network communication by facilitating the connected network devices to interact with the computer and the programs.
History & Evolution Of Operating System
History means the past of the operating system while evolution means the growth of the operating system over time. The history & evolution of operating systems have been tightly related to the history & evolution of computer systems over time. There are five generations of the computer that are classified according to the period which also led to the development of an operating system as per requirement and appeal of the time & users.
- Zero Generation (Mechanical Parts): The first digital computer (analytical machine) was developed by a great English mathematician, Charles Babbage. This analytical machine consisted of wheels, gears, etc. But this machine was quite slow in working & inaccurate and did not have any operating system.
- First Generation-Vacuum Tubes (1942-1955): The period of the first generation was 1942-1955 in which the mechanical design of the previous generation changed to electrical design i.e., vacuum tubes. In this generation, the vacuum tubes were the main electric component used to process the data. These machines were quite large and produced a lot of heat during running. They were unreliable and performed slow input/output operations. Plug boards (switches) were used to feed a calculation for each word. The computers of this generation did not have any operating system & nor any programming language.
- Second Generation-Transistors & Batch Processing (1955-1964): The internal of the second generation was 1955-1964. In this generation, transistors were used instead of vacuum tubes by which the size, as well as the cost of the computers, got reduced. They generate less heat & were highly reliable as compared to the first generation computers. They were also very slow but about 10 times faster, when compared to the computers, contained vacuum tubes. In these computers, the programs and data were acknowledged in groups/batch that’s why they were also called single-stream batch processing system. These computers were called mainframes used in large rooms by professional engineers & could perform a single task at a time. Punch cards were used in this generation. Assemble languages were used to develop programs like COBOL, FORTRAN.
- Third Generation-Integrated Circuits & Multi-programming (1964-1975): The third generation computers used integrated circuits instead of transistors. These computers were designed as general-purpose computers used to perform most familiar computing tasks. So, the size of the computers of this generation decreased with the changes in the electronic circuits used over time as the single integrated circuits contained several transistors. Hence, computers became cheaper as compared to the computers of the first & second generation computers. They consumed less power and had large storage capacity. The integrated circuits had enlarged the performance of the computers with more reliability. The computers belonged to this generation could perform several jobs at once (multi-programming). The two major developments during the third generation were the development of micro & minicomputers. Integrated circuits have developed computers faster and used nanoseconds for computing data. Mouse & keyboard were introduced in this generation.
- Fourth Generation-Microprocessors (1975-1989): With the advanced technology of VLSI (very large scale integrated circuits) circuits, chips, operating system it becomes easy to create personal computers & also desktop computer as more powerful. One of the main aspects in the formation of personal computing was the beginning of the Microsoft & Windows operating system. In 1975 the Windows operating system was established whereas the MS-DOS was introduced in 1981. Microprocessor chips were used as the substitute of integrated circuits on which thousands of circuits were placed. Hence, the size of the machine, cost & consumption of the power shortened. The creation of the personal computers further led to the growth of the network. These machines were more reliable and portable. A less amount of heat was produced. High-level languages were used in these computers such as DBase, C, C++, etc.
- Fifth Generation-Artificial Intelligence (1989-Present): Fifth generation computers used artificial intelligence which requires human intelligence & is used presently. It means a user-friendly technology that can meet the demands/concerns of the users. The computers of this generation use GUI (Graphical User Interface) operating system which provides a friendly environment & graphical interface to the user to perform tasks on it easily. The computers are made of different sizes so, that the people who belong to different fields can use them according to their needs. The technology used in these computers was ULSI (Ultra large scale integration) and a microprocessor is used due to which the size of the circuit decreases while the capacity of operating the data increases. ULSI develops the parallel processing hardware. High-level languages are used in this generation like JAVA, Net, C, C++, etc.