Basics of Operating System

Expert-led Courses: Transform Your Career – Enroll Now

What is an Operating System?

An interface connecting the users to the computer hardware is an operating system. It is responsible for everything, from program execution to system management. It runs on all sorts of devices but the company may change according to the manufacturer and the user.

The hardware and the software coordinate with the operating system to manage all the processes on the computer. It is the medium allowing you to interact with the computer without understanding the computer’s language. 

This makes the OS very convenient for the user. There is efficiency as there is the proper usage of all system resources and the OS also can evolve in terms of functions and services.

The basic purpose of the os is to – control allocation and use of computing resources between multiple tasks, and become an interface between the hardware and programmer to simplify tasks like coding, debugging, etc. 

The operating system is present in the primary hard drive of the computer. Users can also install it from an external hard drive, disc drive, etc. Computers earlier had multiple floppy diskettes for an operating system. While the system has multiple important functions, there are 3 three essential utilities. 

The first one is to provide a user interface in CLI or GUI format. Then it is responsible for managing and launching all the application execution. Lastly, using standardized API, makes hardware resources available to all the applications.

User Interface is the main component of this system where users and the admin interact. The operating system as User Interface – 

  1. User
  2. System and application programs
  3. Operating system
  4. Hardware

History of Operating system

  • The idea of the first operating systems came in the 1950s to manage tape storage.
  • The first system was by General Motors Research Lab that came out in the 1950s for IBM 701.
  • It began using disks in the mid-1960s.
  • The first version of the Unix OS came out in the 1960s.
  • Microsoft’s OS came out in 1981 by purchasing the 86-DOS.
  • Windows came in 1985 as graphical user interfaces became relevant.

Features of Operating System

  • Protected and supervisor mode
  • Allows disk access and file systems 
  • Device drivers 
  • Networking Security
  • Program Execution
  • Virtual Memory 
  • Handling I/O operations
  • Manipulation of the file system
  • Resource allocation
  • Information and Resource Protection

Properties of Operating System

1. Batch processing OS

It is a technique of clubbing together the data before processing begins. It defines the commands, programs and data that comes with an existing sequence.

This keeps the job inside the memory and executes them without any manual but on the first come first serve basis. Then it sends the output for printing and processing.

Advantages

  • Saves the operator’s time by taking up work load.
  • No manual intervention allows better performance.

Disadvantages

  • Hard to debug program.
  • Chances of entering an infinite loop.
  • Lack of protection scheme.

2. Multitasking Operating System

It is a situation when the CPU switches between multitasks and executes them. The user instructs the system and then receives an instant response. Time-sharing systems is another name for this function.

This was made to provide an interactive interface at a reasonable cost. The CPU follows scheduling to manage all the tasks.

Every user gets an individual memory in the program which then executes as a process. This execution is time consuming and in the meantime CPU moves on to the next task. Users share the CPU all the time but never realise it because of strong scheduling in place.

3. Multiprogramming OS

The processor gives space to many programs at one time in the memory. This idea is known as multiprogramming. It increases the efficiency of the CPU by organising jobs properly. The jobs under the subset go into the job pool.

The OS picks them from here and executes them one by one. It ensures that the CPU is always working by managing all active programs and resources.

Advantages

  • Increases CPU efficiency. 
  • Gives an impression that the CPU works simultaneously.

Disadvantages

  • Requires CPU scheduling.
  • Requires memory management. 

4. Interactivity

The users can interact with the computer system because of the operating system. It ensures that –

  • There is an interface for the users to interact. 
  • Takes input from the users like through the keyboard.
  • Shows output to the user like on the monitor.
  • Keeps the response time short as the user submits and waits for the results 

5. Real-Time System

It is an embedded system that reads and reacts to sensor data. It guarantees a response in a particular time to give out the best performance.

6. Distributed Environment

There are multiple CPUs in computer systems creating a distributed environment. The os distributed the logic to all these processors. They have their own memory and communicate the signals via the operating system.

7. Spooling

Simultaneous peripheral operations on line is the full form of spool. It is an act of allotting input/output jobs in a buffer. This is because all devices have different data access rates in the computer system. There is a spooling buffer too where data rests while the device catches up.

There is a parallel computation where computing tasks are possible at all times. This works because it uses a disk as a very large buffer and allows overlapping of operations with the processor.

Functions of an Operating System

Functions of an Operating System

1. Memory Management

Managing the main and temporary memory of the computer system refers to memory management. The primary memory has large files which have their address. There is fast storage and direct CPU access. The OS keeps a track of the memory in every way.

It ensures multiprogramming and decides space for every program. It takes care of the allocation and deallocation of memory processes according to a user request.

2. Processor Management

The OS takes a call about time for each process in a processor. This is process scheduling that is being responsible for traffic control. It takes care of the allocation and deallocation of processors according to the process.

3. Device Management

The OS communicates via its respective drivers and keeps a track of all the devices. It is the I/O controller and ensures that they all work efficiently. It decides which process gets what device at what time. This also allocates and deallocates devices.

4. File Management

Apart from navigating and using the directories, the OS collectively takes care of the file systems. Which files get the maximum resources, allocation of resources, and deallocations of the same are some of its functions.

5. Security

It takes care that the system is always safe by having passwords and other measures. This prevents other people from accessing programs and data without authorization.

6. Control over system performance

It controls the system by recording all sorts of delays in the program and seeing how the efficiency can improve.

7. Job accounting

It maintains a record of time and resources that the users can access via different requests and jobs.

8. Error detecting aids

It is responsible for producing dumps, traces, error messages, and other things for the smooth functioning of the system.

9. Coordination between other software and users

It coordinates with the software and the users to create a balance between them.

10. Communication management

It manages the communication between the hardware and the software resources like compilers, interpreters, etc.

11. Command interpretation

It takes in all the requests by the users in form of command and further interprets them to get things done.

12. Networking

The processors create a distributed system where they share memory and devices. The operating system allows these processors to communicate with each other.

13. Secondary-Storage Management

There are many memory stages that are present inside the computer and the operating system takes care of all of them. This includes the primary, the secondary and the cache memory.

Architecture of an Operating System

The terminal mode computer has a text-based interface where all communication is by using traditional keyboards. But now the graphical interface allows users to use gestures via touchscreen, voice commands, etc to communicate.

GUI is more user-friendly as it allows data manipulation but CLI is more popular among the advanced users for sending regular commands that are highly granular. It takes care of application management as well as supporting processes, thread, and many other tasks.

This is one of the functions of the OS as mentioned above. It also enables applications and hardware to connect and utilize the system.

Types of Operating System

1. Batch operating system

This type of operating system does not have direct contact with the computer regularly. The users have the punch cards that they submit to the operator offline. This is to increase the speed as a batch of similar needs runs as a group.

The operator sorts the programs into batches with similar requirements. This type of system doesn’t work because – 

  • No communication between the user and the job
  • The CPU is often idle because mechanical devices are slower. 
  • Prioritizing the tasks is tough 

2. Time-sharing operating systems

As the name suggests, many users from different locations can use the same computer system at the same time. It is a logical extension of multiprogramming where the processor’s time is divided.

It is not the same as multi programmed batch systems and the idea is to minimize response time. CPU switches multiple times allowing the user to receive an immediate response.

Advantages

  • There is a quick response.
  • Fewer chances of software duplication 
  • Reduces processor idle time

Disadvantages

  • Less Reliable
  • Low security and integrity 
  • Issue of data communication

3. Distributed Operating System

This type of operating system allows multiple real-time applications and users to use the system together. The job to process data is divided equally among the processors. There is communication by high-speed lines making up the entire distributed system. It works because – 

  • There is a resource sharing facility
  • Faster exchange of data via electronic mail
  • Failing of one site doesn’t affect others
  • Better customer service 
  • Less load on the host computer
  • Fewer delays in the data processing

4. Network Operating System

This type of operating system has servers to manage all the information, users, and all other elements. This is mainly useful for sharing file and printer access among multiple computers of the same network. Microsoft and Linux are examples of this system only. This network works because –

  • Highly stable
  • The server manages the security 
  • Regular upgrades and easy integration
  • Remote access to servers 

But at the same time, it is costly and centrally dependent. It also requires regular maintenance and updates. 

5. Real-Time Operating System

This is an operating system that allows data processing in very little time. This is present in places where there are rigid time requirements for the operation.

It needs to cope up with the fixed time constraints or the system will fail. This is mostly found in medical imaging systems, industrial control systems, etc. It is of two types –

a. Hard real-time systems

This guarantees completing tasks in the exact time. It has limited secondary storage and the data is in ROM. They mostly don’t have virtual memory.

b. Soft real-time systems

There are fewer restrictions here and priority tasks get done before. There is limited utility but projects like virtual reality, undersea exploration, etc. use this system frequently.

Examples of Operating System

1. Android

An operating system for smartphones and tablets, it is the most popular system in the world today. This is an operating system for mobile devices and has features specifically designed for it.

2. Microsoft Windows

This came out in the 1980s and has multiple versions as of now. Windows 10, Windows 8, Windows 7, and Windows Vista are some of the most popular versions. Windows comes inbuilt in most PCs, becoming the most popular operating system in the world.

3. Mac OS

The Apple operating system comes inbuilt in all Macintosh computers. Mojave, High Sierra, and Sierra are some of the most popular versions. It has only 10% of the market share due to higher cost. The iPhone also uses this operating system for functioning.

4. Linux

Linux is an open-source operating system and only manufacturers can modify this system. It is free software and has many versions to choose from. It has a very low market share but many prefer it because it is easy to customize.

Other operating systems

  1. AIX and AIXL
  2. AmigaOS
  3. BSD
  4. CP/M
  5. Unix
  6. DYNIX/pix
  7. Fuchsia
  8. Goobuntu
  9. HP-UX
  10. IRIX
  11. ISIS
  12. MINIX
  13. MS-DOS
  14. NEXTSTEP
  15. OS/2
  16. OSF/1
  17. OxygenOS
  18. SCO
  19. Sun Solaris
  20. Symbian
  21. System 7
  22. System V
  23. Tru64 Unix
  24. Ultrix
  25. Unisys
  26. Unix
  27. UnixWare
  28. WatchOS
  29. Xenix

Task of an Operating System

  • Creates, modifies, and edits data using an editor.
  • Uses a compiler for translating the user program from high-level to machine language.
  • Moves compiled program code to the computer’s memory for execution.
  • Ensure a proper routine for handling the I/O programming.

I/O System Management

As one of the functions, os also takes care of I/O traffic control. This includes memory management, driver interface, and specific hardware devices.

1. Assembler

It is a language program with input being an assembly and output being an object. The programmer has a basic interpretation machine that uses hardware for fundamental instructions. It uses machine language to get machine memory in place.

2. Compiler

They take care of high-level languages by accepting the source program and producing a corresponding object program. An interpreter is a program responsible for executing a source program. FORTRAN, COBOL, etc. may designate to a compiler and its associated language.

3. Loader

It is responsible for loading the program and executing it. Absolute, relocating, and direct-linking are some of the loading schemes. The assembler outputs the program to the device and the loader executes it. This is a smaller program compared to the assembler.

Advantage of using Operating System

  • Can hide hardware details by an abstraction.
  • Easy because of the graphical user interface.
  • Allows users to execute programs/applications.
  • Makes the computer system convenient. 
  • Makes use of resources in an easy format.
  • Coordinates between all hardware and software devices.

Disadvantages of using Operating System

  • Users can lose all content in case of any glitch.
  • It is hard for small firms to afford operating system software.
  • Accessible to hackers thus security is never a guarantee.

Difference between Firmware and Operating System

FirmwareOperating System
It’s programming that controls that specific device.Ensures functionality above provided by the firmware.
Only manufacturers can make it and no changes are done after that.The users install it and can easily change it.
Present in non-volatile memoryPresent in the hard drive

Conclusion

The operating system is what allows us to access computers every day without any problem. The ways it functions and manages all the tasks, interface of the device keeps on improving. There are many such systems available in the world and we should know about them.

The exams like RRB, Insurance, Bank, etc have computer aptitude as one of the sections in the paper. This is where topics like the operating system will go. All the applicants must make use of the resources and prepare well for these exams.

Did you like this article? If Yes, please give DataFlair 5 Stars on Google

courses

DataFlair Team

DataFlair Team is a group of passionate educators and industry experts dedicated to providing high-quality online learning resources on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. With years of experience in the field, the team aims to simplify complex topics and help learners advance their careers. At DataFlair, we believe in empowering students and professionals with the knowledge and skills needed to thrive in today’s fast-paced tech industry. Follow us for Free courses, expert insights, tutorials, and practical tips to boost your learning journey.

Leave a Reply

Your email address will not be published. Required fields are marked *