An operating system is a special kind of software with particular privileges, it has an access to user space, to kernel space, to Master boot record.
- The user space is the space of the central memory (RAM memory) where are loaded all applications opened by the logged user.
- The kernel space is the space of RAM memory forbidden to the users, this space contains all processes executed by the machine, the drivers of the devices and all the information necessary to run the computer.
- Master boot record (MBR) is the Sector of the hard disk with all information necessary to start the computer.
A simple operating system needs the following components to run:
- Memory manager: this is the manager of the RAM memory (which is the place where the OS stores the executing programs). This manager decides which application stores on RAM memory for how much time and what is its priority, because, RAM memory contains the data, the instructions, and the information for loading the operating system. The RAM memory is about 16 GB, the hard disk is about 2 TB so the RAM cannot contain all files, applications stored in the hard disk. The RAM has a subset of application which have been being executed now. The Memory manager loads in RAM memory only the information necessary for executing the software during the limited time necessary to perform the operation they want to do.
- File System: contains all information stored on mass memory (for example hard disk, pen drive, cd rom etc). All files are not stored continuously on hard disk but are split in many small parts on relations of the size of the Sector of the hard disk. Each part of the file is stored in a different Sector of the hard disk. The file system contains the rule to decide where the operating system should store the file and the way to recover it. For example in NTFS file system a directory is a simple file that contains the pointer to the first sector of the file and at the block that point at the next 64 sectors etc.
- Process manager: it manages all the processes in execution, each process has the instructions (that are stored in ram memory) the data, for example variables, necessary to run it (stored in ram memory), opened files (stored in ram memory or in the hard disk), the time of the execution of them, the state (wait, ready, execute). This component manages the occupation of CPU because one process cannot use it for a long time.
- Device driver offers to the operating system the interface to communicate with the hardware
- API: it is the interface that uses the other software for communicate with the operative system. it is a very important component because if it is easy to develop an application for the operating system there would be lot of applications written for it and the software become popular.
- User interface: is the mask that hides all the internal structure of the software and makes easy to use of the operating system.
The operating system is a very complex software because it is able to manage every device of the computer: RAM, CPU, Processes, Hard disks, it hides the hardware of the machine, and offers a lot of functionality to the software developer called API.
The operating system is necessary to make working computers, network components (for example routers or switches), smartphone, smart tv, robots, programmable calculators etc.