Changes

Jump to: navigation, search

OPS201 - Introduction to Operating Systems

3,291 bytes added, 12:04, 14 September 2023
no edit summary
The operating system, computer hardware, and development tools (compiler, linker, and so forth) work together to present the “programming model” – a conceptual framework which software developers use when creating software. For example, several different application program may be designed to occupy the same area of memory; obviously, this presents a conflict when these applications are used at the same time, so the operating system works with the computer’s hardware to load the applications into different areas of physical memory, and then use the computer’s virtual memory capabilities to make each program appear to be loaded into the region of memory for which it was written.
 
== Components of an Operating System ==
 
Most modern operating systems are delivered as five separate and inter-related parts:
 
=== The Kernel ===
 
This is the heart of the operating system, the main program (or group of programs) that controls the computer. The kernel operates in a special privileged mode, which allows it to manage the resources and security settings for all other software. The kernel is loaded by the computer’s firmware (built-in software) and sets up the computer’s hardware and resources before starting the services and user interface(s) in non-privileged mode, programming the computer’s hardware to enforce the privilege level.
 
=== System Libraries ===
 
Many programs need to perform the same operations, such as accessing the network, playing sound, or drawing something on the screen. Libraries provide a common set of software routines (also known as methods, procedures, subroutines, or functions) which programs access to perform these common operations. This eliminates the need for each program to contain duplicate code for these common operations, which reduces software duplication and size. Although additional libraries may be installed on the computer, the system libraries provided as part of the operating system provide the most broadly-used routines required by nearly every program.
=== Services ===
 
These are programs that run continuously in the background, providing services such as WiFi authentication, print management, and file sharing. Unlike the kernel, these programs don’t operate with full system privilege, and are therefore subject to the same type of resource and security management as regular programs, and they also utilize the system libraries.
=== The User Interface(s) ===
 
This is the software that enables the user to interact with the system. Most operating systems provide at least two user interfaces:
 
1. A text-based user interface that enables the user to enter commands, view the output from those commands, and interact with full-screen text interfaces such as file editors and file managers. This may be referred to as a text user interface (TUI) or a command line interface (CLI).
 
[[File:Cli_windows_linux_android.png|700px|center|A side-by-side view of Windows (10), Linux (Fedora 38), and Android command-line interfaces (CLI) displaying similar information.]]
 
 
2. A graphical user interface (GUI) that typically enables the user to interact with multiple application windows, using a keyboard and a pointing device such as a mouse, trackpad, or touchscreen.
 
[[File:Gui_windows_linux.png|700px|center|A side-by-side view of Windows (10) and Linux (Fedora 38 - Gnome) graphical user interfaces displaying similar information.]]
=== Utilities and Applications ===
 
Most operating systems provide a set of tools to enable users to perform setup, configuration, and maintenance tasks. For example, they may provide “utility” software to add/remove software, configure hardware, and manage files. This utility software may take the form of commands that are accessed through a CLI, or graphical utilities that are accessed through a GUI. Most operating systems also provide a set of basic starter applications, such as a text editor, clock, a few games, and sometimes a web browser.

Navigation menu