Operating System Fundamentals

  • Enhances the efficiency of the computer system through resource management.
  • Improves the human-computer interface to provide a user-friendly working environment.

Characteristics of an Operating System

An operating system is one of the most fundamental software components in a computer system. It is responsible for managing computer hardware and software resources and providing an interface between users and the computer system. An operating system possesses the following primary characteristics:

  1. Concurrency: An operating system can manage multiple tasks and processes simultaneously, allowing them to execute concurrently. Through techniques such as time-sharing and round-robin scheduling, an operating system can effectively achieve concurrency within limited resources.
  2. Sharing: An operating system allows multiple users or applications to share computer resources simultaneously, such as the processor, memory, disk, and printers. Through reasonable resource scheduling and allocation mechanisms, the operating system ensures efficient utilization and fair sharing of resources.
  3. Virtualization: An operating system can abstract physical resources into logical resources through virtualization technology, providing users with a virtual computing environment. For example, virtual memory can abstract physical memory into a larger logical memory space, while virtual machines can simulate multiple independent computer systems.
  4. Persistence: An operating system can store data and programs on persistent storage media (such as hard drives) and perform read or write operations when needed. This enables computers to store and manage large amounts of data for long periods, achieving persistent data storage and recovery.
  5. Scalability: An operating system should possess good scalability, adapting to new environments when hardware configurations change. It should be able to effectively utilize new hardware resources while maintaining compatibility with legacy hardware.
  6. Security: An operating system must provide security mechanisms to protect the computer system and user data. This includes features such as authentication, access control, file encryption, and antivirus capabilities to prevent unauthorized access and malicious software intrusion.
  7. User Interface: An operating system provides an interface for users to interact with the computer system. This can be a command-line interface (such as the Shell in Unix/Linux), a graphical user interface (such as desktop environments in Windows and macOS), or even novel interaction methods like touch screens and voice recognition.

These characteristics make the operating system a core component of the computer system, providing a convenient environment for users and applications while effectively managing and scheduling computer resources. Different operating systems may vary in these characteristics, but their goal is to provide an efficient, stable, and secure computing environment.

Functions of an Operating System

  • Process Management: Essentially involves managing the "time" allocated to the processor. It employs techniques such as multiprogramming to reasonably distribute CPU time among tasks. This primarily includes process control, process synchronization, process communication, and process scheduling.
  • File Management: Primarily covers file storage space management, directory management, file read/write management, and access control.
  • Storage Management: Involves managing the "space" of main memory. It primarily includes storage allocation and deallocation, storage protection, address mapping (translation), and main memory expansion.
  • Device Management: Essentially involves managing hardware devices, including the allocation, initialization, completion, and deallocation of input/output devices.
  • Job Management: Includes task management, interface management, human-computer interaction, graphical interfaces, voice control, and virtual reality.