0% found this document useful (0 votes)
14 views3 pages

Five Main Components Of An Operating System

The document outlines the five main components of an operating system: process management, memory management, disk and file systems, networking, and security. It explains how these components work together to manage processes, memory allocation, file systems, network communication, and security measures. Each component plays a crucial role in ensuring efficient operation and resource management within a computer system.

Uploaded by

Cristine Gabisan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views3 pages

Five Main Components Of An Operating System

The document outlines the five main components of an operating system: process management, memory management, disk and file systems, networking, and security. It explains how these components work together to manage processes, memory allocation, file systems, network communication, and security measures. Each component plays a crucial role in ensuring efficient operation and resource management within a computer system.

Uploaded by

Cristine Gabisan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Five Main Components Of An Operating System

Process Management

Process is a system abstraction, it illustrates that system has only one job to do. Every program running
on a computer, be it background services or applications, is a process. As long as a von Neumann
architecture is used to build computers, only one process per CPU can be run at a time. Older
microcomputer OSes such as MS-DOS did not attempt to bypass this limit, with the exception of interrupt
processing, and only one process could be run under them. Mainframe operating systems have had
multitasking capabilities since the early 1960s. Modern operating systems enable concurrent execution of
many processes at once via multitasking even with one CPU. Process management is an operating
system's way of dealing with running multiple processes. Since most computers contain one processor
with one core, multitasking is done by simply switching processes quickly.

Depending on the operating system, as more processes run, either each time slice will become smaller or
there will be a longer delay before each process is given a chance to run. Process management involves
computing and distributing CPU time as well as other resources. Most operating systems allow a process
to be assigned a priority which affects its allocation of CPU time. Interactive operating systems also
employ some level of feedback in which the task with which the user is working receives higher priority.
Interrupt driven processes will normally run at a very high priority. In many systems there is a background
process, such as the System Idle Process in Windows, which will run when no other process is waiting for
the CPU.

Memory Management

Current computer architectures arrange the computer's memory in a hierarchical manner, starting from
the fastest registers, CPU cache, random access memory and disk storage. An operating system's
memory manager coordinates the use of these various types of memory by tracking which one is
available, which is to be allocated or deallocated and how to move data between them. This activity,
usually referred to as virtual memory management, increases the amount of memory available for each
process by making the disk storage seem like main memory. There is a speed penalty associated with
using disks or other slower storage as memory – if running processes require significantly more RAM
than is available, the system may start thrashing. This can happen either because one process requires a
large amount of RAM or because two or more processes compete for a larger amount of memory than is
available. This then leads to constant transfer of each process's data to slower storage.

Another important part of memory management is managing virtual addresses. If multiple processes are
in memory at once, they must be prevented from interfering with each other's memory (unless there is an
explicit request to utilise shared memory). This is achieved by having separate address spaces. Each
process sees the whole virtual address space, typically from address 0 up to the maximum size of virtual
memory, as uniquely assigned to it. The operating system maintains a page table that matches virtual
addresses to physical addresses. These memory allocations are tracked so that when a process
terminates, all memory used by that process can be made available for other processes.

The operating system can also write inactive memory pages to secondary storage. This process is called
"paging" or "swapping" – the terminology varies between operating systems.

It is also typical for operating systems to employ otherwise unused physical memory as a page cache;
requests for data from a slower device can be retained in memory to improve performance. The operating
system can also pre-load the in-memory cache with data that may be requested by the user in the near
future; SuperFetch is an example of this.

Disk And File Systems


All operating systems include support for a variety of file systems.

Modern file systems comprise a hierarchy of directories. While the idea is conceptually similar across all
general-purpose file systems, some differences in implementation exist. Two noticeable examples of this
are the character used to separate directories, and case sensitivity.

Unix demarcates its path components with a slash (/), a convention followed by operating systems that
emulated it or at least its concept of hierarchical directories, such as Linux, Amiga OS and Mac OS X.
MS-DOS also emulated this feature, but had already also adopted the CP/M convention of using slashes
for additional options to commands, so instead used the backslash (\) as its component separator.
Microsoft Windows continues with this convention; Japanese editions of Windows use ¥, and Korean
editions use ₩. Versions of Mac OS prior to OS X use a colon (:) for a path separator. RISC OS uses a
period (.).

Unix and Unix-like operating allow for any character in file names other than the slash, and names are
case sensitive. Microsoft Windows file names are not case sensitive.

File systems may provide journaling, which provides safe recovery in the event of a system crash. A
journaled file system writes information twice: first to the journal, which is a log of file system operations,
then to its proper place in the ordinary file system. In the event of a crash, the system can recover to a
consistent state by replaying a portion of the journal. In contrast, non-journaled file systems typically need
to be examined in their entirety by a utility such as fsck or chkdsk. Soft update is an alternative to
journalling that avoids the redundant writes by carefully ordering the update operations. Log-structured file
systems and ZFS also differ from traditional journaled file systems in that they avoid inconsistencies by
always writing new copies of the data, eschewing in-place updates.

Many Linux distributions support some or all of ext2, ext3, ReiserFS, Reiser4, GFS, GFS2, OCFS,
OCFS2, and NILFS. Linux also has full support for XFS and JFS, along with the FAT file systems, and
NTFS.

Microsoft Windows includes support for FAT12, FAT16, FAT32, and NTFS. The NTFS file system is the
most efficient and reliable of the four Windows file systems, and as of Windows Vista, is the only file
system which the operating system can be installed on. Windows Embedded CE 6.0 introduced ExFAT, a
file system suitable for flash drives.
Mac OS X supports HFS+ as its primary file system, and it supports several other file systems as well,
including FAT16, FAT32, NTFS and ZFS.

Common to all these (and other) operating systems is support for file systems typically found on
removable media. FAT12 is the file system most commonly found on floppy discs. ISO 9660 and
Universal Disk Format are two common formats that target Compact Discs and DVDs, respectively.
Mount Rainier is a newer extension to UDF supported by Linux 2.6 kernels and Windows-Vista that
facilitates rewriting to DVDs in the same fashion as what has been possible with floppy disks.

Networking

Most current operating systems are capable of using the TCP/IP networking protocols. This means that
one system can appear on a network of the other and share resources such as files, printers, and
scanners using either wired or wireless connections.

Many operating systems also support one or more vendor-specific legacy networking protocols as well,
for example, SNA on IBM systems, DECnet on systems from Digital Equipment Corporation, and
Microsoft-specific protocols on Windows. Specific protocols for specific tasks may also be supported such
as NFS for file access.
Security

Many operating systems include some level of security. Security is based on the two ideas that:

The operating system provides access to a number of resources, directly or indirectly, such as files on a
local disk, privileged system calls, personal information about users, and the services offered by the
programs running on the system;

 The operating system is capable of distinguishing between some requesters of these resources
who are authorized (allowed) to access the resource, and others who are not authorized
(forbidden). While some systems may simply distinguish between "privileged" and "non-
privileged", systems commonly have a form of requester identity, such as a user name.
Requesters, in turn, divide into two categories:
 Internal security: an already running program. On some systems, a program once it is running
has no limitations, but commonly the program has an identity which it keeps and is used to check
all of its requests for resources.
 External security: a new request from outside the computer, such as a login at a connected
console or some kind of network connection. To establish identity there may be a process of
authentication. Often a username must be quoted, and each username may have a password.
Other methods of authentication, such as magnetic cards or biometric data, might be used
instead. In some cases, especially connections from the network, resources may be accessed
with no authentication at all.

In addition to the allow/disallow model of security, a system with a high level of security will also offer
auditing options. These would allow tracking of requests for access to resources (such as, "who has been
reading this file?").

Security of operating systems has long been a concern because of highly sensitive data held on
computers, both of a commercial and military nature. The United StatesGovernment Department of
Defense (DoD) created the Trusted Computer System Evaluation Criteria (TCSEC) which is a standard
that sets basic requirements for assessing the effectiveness of security. This became of vital importance
to operating system makers, because the TCSEC was used to evaluate, classify and select computer
systems being considered for the processing, storage and retrieval of sensitive or classified information.

You might also like