File Management Subsystem
converts the symbolic names of files with which it is convenient for a user or a programmer to access the physical addresses of the data on the disk, organizes file sharing, and protects them from unauthorized access. Some devices (printer, network adapter, etc.) can be used as files. The OS is endowed with the ability to work with them as files.
External Device Management Subsystem
(VU), or I/O devices, provides an interface (pairing) with all devices connected to the computer. For example, the subsystem of management of the VU on the requests of the file subsystem transfers data between disks and RAM. One of the most important tasks of the OS is to maintain a high-level unified I/O interface. This task is solved with the help of drivers, which are created both by the developers of a particular OS, and by specialists of companies that produce VUs. The unified I/O interface in most OSs is based on the concept of file access, according to which the exchange with any VU looks like an exchange with a file that has a name and is an unstructured sequence of bytes.
Data Protection and Administration Subsystem
The operating system (OS) should provide protection against hardware failures and failures, software errors, erroneous or malicious behavior of system users. OS protection functions are closely related to administration functions. Fault tolerance support is the responsibility of the system administrator. The administrator determines the rights of users when they access various system resources (files, directories, printers, scanners and other devices) and limits their ability to perform certain systemic activities. Therefore, in order to protect data from unauthorized access, the OS must first of all make sure that the user is trying to log in to the system, whose login is authorized by the administrator.
Application Programming Interface
The application programmer is provided with the capabilities of the OS as a set of functions, called the Application Programming Interface (API). The API interface reflects the features of a particular OS, so for application developers, all operating systems with different internal organization, but with the same set of API functions, seem to be the same OS. This simplifies OS standardization and ensures portability of applications between internally different OSs that conform to a certain standard on the API. The API functions are hidden from the end user.
Usually, only the OS can perform actions related to the hardware management of the computer. In these cases, the programmer uses APIs in their applications to access the OS. It can also use a set of service functions that simplify the writing of applications and implement the universal actions often required in various applications, such as processing text strings.
Applications perform calls to API functions using system calls, which are similar to calling subroutines.