# data[].attributes.body
A computer system consists of hardware and software, with software further categorized into application software and system software (operating system).

The operating system serves as an intermediary between the user and computer hardware, with goals to execute user programs, simplify problem-solving, enhance user convenience, and efficiently utilize computer hardware.

# data[].attributes.body
Accessing computer resources is divided into layers, with each layer interacting only with the layer above or below it.

When installing a new hardware device, no changes are required for users or applications, but the operating system needs to be updated with the necessary device drivers to control the new device.

When installing a new software application, no hardware changes are needed, but compatibility with the operating system should be ensured, and users may need to learn how to use the new application.

Changing the operating system requires ensuring compatibility with both applications and hardware.

# data[].attributes.body
The User Mode is responsible for the user interface and application execution, while the Kernel Mode handles background processes, system resources, hardware control, and program execution.

System calls are used to switch between User and Kernel modes.

# data[].attributes.body
The kernel is a software code that controls the entire operating system. It loads first when the OS boots and remains in memory throughout the computer session. It executes processes and handles interrupts in the kernel space, while user tasks are performed in a separate user area of memory. The kernel interacts with users through a shell and other programs and hardware.

# data[].attributes.body
The kernel provides services for process management, file management, I/O management, and memory management.

System calls are used to provide these services.

The kernel includes:

1. Scheduler: assigns the kernel's processing time to various processes.

2. Supervisor: grants permissions to each process to use computer system resources.

3. Interrupt handler: handles requests from hardware devices competing for kernel services.

4. Memory manager: allocates memory space for users of the kernel service.

# data[].attributes.body
A program or application can make a system call to request services or resources from the kernel of the operating system. These calls allow for input/output operations, memory access, process creation, and waiting for signals or interrupts. System calls are known as software interrupts and are essential for the operation of the operating system.

# data[].attributes.body
The power on switch sends electricity to the motherboard via the Voltage Good line. If the power supply is good, the BIOS chip takes over. In Real Mode, the CPU can only use about 1 MB of motherboard memory.

The BIOS performs a Power-On Self Test (POST) to check hardware functionality.

It then looks for the Master Boot Record (MBR) on the primary hard disk, which contains a map of all partitions.

The Bootstrap Loader follows instructions to start up the computer and load the operating system.

In Early Kernel Initialization, a smaller core of the kernel is activated, including device drivers for RAM usage.

# data[].attributes.body
Funtions of operating system:

Process Management

File Management

I/O Management

Security and protection

User interface

Memory management

# data[].attributes.body
A process is an executing program that requires resources like CPU time, memory, files, and I/O devices. Multiple processes can run simultaneously, and the creation, execution, and termination of processes are essential functions of an operating system. Process synchronization is necessary when processes depend on shared resources. When processes are independent, measures must be taken to prevent memory overlap. The OS manages RAM usage, allocating and de-allocating memory as needed. Prioritizing more important processes for execution is also the responsibility of the OS.

# data[].attributes.body
A file is a collection of related information defined by its creator, and file systems provide conventions for encoding, storage, and data management on storage devices. Examples of file systems include FAT32, NTFS, EXT3, and HFS+. The operating system is responsible for activities such as file creation, deletion, directory creation, support for manipulating files and directories, mapping files onto secondary storage, and file backup on stable storage media.

# data[].attributes.body
Device controllers act as interfaces between the CPU and devices, while device drivers are software components that interact with the device controllers.

Deadlocks can occur when processes hold control of different I/O resources and refuse to release them.

Device management involves keeping track of connected devices, designating an I/O controller for each device, determining access to devices by processes, allocating devices efficiently, and deallocating devices when no longer needed.

# data[].attributes.body
The operating system utilizes password protection and other techniques to safeguard user data and prevent unauthorized access to programs and user data.

It assigns access rights permissions to files and directories to ensure security.

# data[].attributes.body
A user interface (UI) manages data input, instructions, and screen display. There are two types of UI: Command Line Interface (CLI) and Graphical User Interface (GUI).

# data[].attributes.body
A user interface (UI) controls data entry, instructions, and screen display. It includes two types: Command Line Interface (CLI) and Graphical User Interface (GUI).

# data[].attributes.body
A user interface (UI) manages data input, instructions, and screen display. It consists of two types: Command Line Interface (CLI) and Graphical User Interface (GUI).

# data[].attributes.body
•Desktop Class

Windows

OS X

Unix/Linux

Chrome OS

•Server Class

Windows Server

Mac OS X Server

Unix/Linux

•Mobile Class

Android

iOS

Windows Phone

# data[].attributes.body
A user interface (UI) controls data entry, instructions, and screen display. It includes two types: Command Line Interface (CLI) and Graphical User Interface (GUI).

# data[].attributes.body
DOS is a single-user, single-tasking operating system with no built-in networking support. Users had to manually install drivers for new hardware components. It supports only 16-bit programs and has a command line user interface. DOS is still used due to its small size, simplicity, low memory and storage requirements, and compatibility with less powerful computers.

# data[].attributes.body
Microsoft Windows is a graphical operating system designed for Intel-platform desktop and notebook computers. It is well-known for having a wide selection of available applications. Current editions include Windows 7, 8, 8.1, 10, and 11.

# data[].attributes.body
MacOS is a user-friendly operating system that runs on Mac hardware. It offers a wide range of applications. The latest edition is macOS 14, also known as Sonoma.

# data[].attributes.body
Linux is an open-source, cross-platform operating system that runs on various devices. It derives its name from the combination of "Linus" (the first developer) and "UNIX" (another operating system). Users have the freedom to modify, improve, and redistribute the code. While developers cannot charge for the Linux kernel itself, they can charge for distributions (distros) such as Ubuntu, Red Hat, and others.

# data[].attributes.body
Chrome OS is a popular thin client operating system designed for minimal hardware and specific tasks, such as web browsing.

# data[].attributes.headline
SERVER (WHAT IS A SERVER?) OPERATING SYSTEMS

# data[].attributes.subject
SERVER (WHAT IS A SERVER?) OPERATING SYSTEMS

# data[].attributes.body
Windows Server offers a familiar GUI interface for Windows users, while UNIX provides mature server capabilities, stability, and a large user community. Linux is free, customizable, and offers many free services and utilities.

# data[].attributes.body
System-on-chip (SoC) is an operating system preinstalled on a chip in portable devices like smartphones. Popular SoC operating systems include iOS for iPad and iPhone, and Android for various tablets and phones. Users can download applications (apps) from app stores like the Apple App Store and Google Play Store.

# data[].attributes.body
iOS is the operating system developed by Apple for their tablets and phones. The current stable version is iOS 17.

# data[].attributes.body
Android is a widely used operating system for smartphones and tablets, based on the Linux Kernel. It is developed by Google. The current versions include Android 8 Oreo, Android 9 Pie, Android 10, Android 11, and Android 12.

# data[].attributes.body
1. Linux is open-source, allowing anyone to access and customize its source code for various purposes.

2. The Linux system offers strong security features, requiring authorization for each application and eliminating the need for antivirus software.

3. Linux is free to use, as it is distributed under the GPL license, unlike other operating systems that require expensive licenses.

4. Linux has lower system requirements, requiring less memory and disk space compared to other operating systems.

5. Linux is known for its stability, rarely experiencing system crashes or slowdowns, and maintaining high performance levels without frequent reboots.

# data[].attributes.body
6. Linux offers high performance and can handle a large number of users simultaneously across different networks.

7. The Linux operating system is flexible, suitable for desktop, embedded, and server applications, with customizable component installations.

8. Users have control over software updates in Linux, with faster update processes compared to other operating systems.

9. There are numerous Linux distributions available, offering various options and flavors to users, such as Ubuntu, Fedora, Debian, Linux Mint, and Arch Linux.

10. Many Linux distributions provide a Live CD/USB option, allowing users to try the system without installation.

11. Linux provides a graphical user interface (GUI) alongside its command-line interface, offering an interactive user experience similar to Windows.

# data[].attributes.body
12. Linux is highly suitable for programmers, supporting popular programming languages and offering a wide range of development applications. The Linux terminal is preferred by programmers and aids in server management, while the package manager simplifies software installation.

13. Linux has a large and supportive community, with forums and open source developers readily available to provide assistance and support.

14. Linux prioritizes user privacy by not retrieving any private data.

15. Linux provides powerful networking support, making it easy to set up client-server systems and offering efficient command-line tools for server management tasks.

16. Linux is compatible with a wide range of file formats.

17. Linux has a quick and easy installation process, requiring less user input and suitable for older machines.

# data[].attributes.body
The shell, which was previously part of the kernel, is now a utility separate from it. It is easy to change and debug, with various options available such as sh, bsh, csh, ksh, tcsh, wsh, and bash. Users can switch between these shells using the chsh command.