Operating System Structure

Operating System Structure

Operating System Structure

In this lecture, we will be discussing the structure of operating systems. We will focus on multi-programming and multitasking, which are two important topics in operating system design.

Multi-Programming

  • Every operating system must be capable of multi-programming.
  • Multi-programming means the capability of running multiple programs by the CPU.
  • Multi-programming increases CPU utilization by organizing jobs so that the CPU always has one to execute.
  • Jobs are kept in a job pool, and a subset of these jobs is loaded into memory for execution.

Multitasking (Time Sharing)

  • Every operating system must be capable of multitasking or time-sharing.
  • Jobs are assigned to the CPU by the operating system to help execute them efficiently.
  • In multi-programming, when a job goes to use other resources like I/O devices, the CPU is released and can be used by another job until it becomes available again.

Memory Management

  • Memory management is an essential part of any operating system's structure.
  • The OS manages memory allocation and deallocation for processes running on it.
  • Virtual memory allows processes to use more memory than physically available in RAM.

Process Management

  • Process management involves creating and managing processes within an OS environment.
  • The OS creates new processes as needed and terminates them when they are no longer required.

Device Management

  • Device management involves managing input/output devices such as printers, keyboards, etc., connected to the computer.
  • The OS manages device drivers, which are software components that allow the OS to communicate with hardware devices.

Security and Protection

  • Security and protection are essential aspects of any operating system's structure.
  • The OS provides security features such as user authentication, access control, and encryption to protect data from unauthorized access.

Conclusion

  • In conclusion, we have seen that operating systems vary in their makeup internally but share commonalities such as multi-programming and multitasking. Memory management, process management, device management, security, and protection are other critical aspects of an operating system's structure.

Multi-Programming and Multi-Tasking

This section discusses the concepts of multi-programming and multi-tasking, highlighting their similarities and differences.

Multi-Programming

  • Multi-programming is a technique used to utilize CPU resources efficiently by executing multiple jobs simultaneously.
  • It allows for the execution of different tasks at the same time, ensuring that system resources like CPU, memory, and peripheral devices are used effectively.
  • It does not provide for user interaction with the computer system.

Multi-Tasking

  • Multi-tasking or time-sharing systems allow for the execution of multiple jobs by switching among them.
  • The switching occurs so frequently that users can interact with each program while it is running.
  • It requires an interactive or hands-on computer system that provides direct communication between the user and the system.
  • A time-shared operating system allows many users to share the computer simultaneously.

Comparison

  • Both multi-programming and multi-tasking involve executing multiple jobs simultaneously.
  • In multi-programming, there is no user interaction with the computer system. In contrast, in multi-tasking, users can interact with each program while it is running due to frequent switching between jobs.

Introduction to Multi-Programming and Time-Sharing Systems

In this section, we will discuss multi-programming and time-sharing systems. We will learn how the CPU scheduling algorithm decides how the system's time is shared among users.

Users in a Time-Sharing System

  • Each user is provided with a small portion of the time-shared system.
  • Each user has at least one separate program waiting in memory to be executed.
  • A program loaded into memory and executing is called a process.

CPU Scheduling Algorithm

  • The CPU scheduling algorithm decides how the system's time is shared among users.
  • We will discuss CPU scheduling algorithms in detail in later lectures.

Conclusion

  • Process is an important term as far as operating systems are concerned.
  • This concludes our discussion on multi-programming and time-sharing systems.
Video description

Operating System: Operating System Structure Topics discussed: 1. Multiprogramming. 2. Time Sharing (Multitasking). Follow Neso Academy on Instagram: @nesoacademy (https://bit.ly/2XP63OE) Contribute: http://bit.ly/3EpZgBD Memberships: https://bit.ly/2U7YSPI Discord: https://bit.ly/3HiGtJr WhatsApp: https://whatsapp.com/channel/0029Va9B1Bq4tRru0nqgtx3h Books: https://bit.ly/4cZYQil Website ► https://www.nesoacademy.org/ App ► https://play.google.com/store/apps/details?id=org.nesoacademy Facebook ► https://www.facebook.com/nesoacademy Twitter [X] ► https://x.com/nesoacademy Music: Axol x Alex Skrindo - You [NCS Release] #OperatingSystemByNeso #os #OperatingSystem #OperatingSystemStructure