Chapter 1 Operating Systems
Chapter 1 Operating Systems
Chapter 1 Operating Systems
a) Linux
Linux (also known as GNU/Linux) is one of the most prominent examples of free software and
open source development which means that typically all underlying source code can be freely
modified, used, and redistributed by anyone. The name “Linux” comes from the Linux kernel,
started in 1991 by Linus Torvalds. The system’s utilities and libraries usually come from the
GNU operating system (which is why it is also known as GNU/Linux).
Linux is predominantly known for its use in servers. It is also used as an operating system for a
wide variety of computer hardware, including desktop computers, supercomputers, video game
systems, and embedded devices such as mobile phones and routers.
Note: GNU (pronounced "g-new") is a free Unix-like operating system distributed by the Free
Software Foundation. It is available in several different versions, but the most popular is the
GNU/Linux system, which uses the Linux kernel. Since the GNU/Linux system is a popular
version of Linux, it is often referred to as simply "Linux." However, GNU/Linux is technically a
specific version of Linux developed by the GNU Project.
The primary difference between Linux and many other OSs is that the Linux kernel and other
components are free and open source software. Free software projects, although developed in a
collaborative fashion, are often produced independently of each other. A Linux distribution,
commonly called a “distro”, is a project that manages a remote collection of Linux-based
software, and facilitates installation of a Linux OS. Distros include system software and
application software in the form of packages. A distribution is responsible for the default
configuration of installed Linux systems, system security, and more generally integration of the
different software packages into a coherent whole.
b) Windows
Windows (created by Microsoft) is the most dominant OS on the market today. The two most
popular versions of Windows for the desktop are XP and Vista (Vista being the latest version).
There is also a mobile version of Windows as well as a server version of Windows (the latest
being Windows Server 2008). Windows is all proprietary, closed-source which is much different
than Linux licenses. Most of the popular manufacturers make all of their hardware compatible
with Windows which makes Windows operate and almost all kinds of new hardware.
c) OS X
OS X is the major operating system that is created by Apple Inc. Unlike its predecessor (referred
to Classic or OS 9), OS X is a UNIX based operating system. Currently OS X is in version 10.5,
with 10.5.3 being the last major software update and plans for 10.6 having been announced.
Apple has chosen to name each version of OS X after a large cat with 10.0 being Cheetah, 10.1
as Puma, 10.2 as Jaguar, 10.3 as Panther, 10.4 as Tiger, 10.5 as Leopard, and the unreleased 10.6
named Snow Leopard.
Apple also develops a server OS X that is very similar to the normal OS X, but is designed to
work on Apple’s X-Serve hardware. Some of the tools included with the server OS X are
workgroup management and administration software that provide simplified access to common
network services, including a mail transfer agent, a Samba server, an LDAP server, a domain
name server, a graphical interface for distributed computing (which Apple calls Xgrid Admin),
and others.
Description
OS X is a UNIX based OS built on top of the XNU kernel, with standard Unix facilities available
from the CLI. Apple has layered a number of components over this base, including their own
GUI. The most notable features of their GUI are the Dock and the Finder.
The Dock is the bar at the bottom of the screen. To the left of the dotted line you can place the
applications that you use most frequently, and any application that is currently running will
appear there with a blue light underneath it. To the right you can place any documents that you
access most frequently. In 10.5 Leopard they added a tool called Stacks to the right side of the
dock. Stacks are folders that when you click on them spread upward to reveal the contents
without actually opening a finder window.
The Finder does exactly what it says it does. It finds everything in your machine. This is how
you find all of the documents, applications, movies, music, photos, and whatever else you have
stored on your machine. There are four ways to view the contents of the directory you’re looking
at that are chosen from the four icons at the top left of the window: icons, list, column, or Cover
Flow. The icon and list views are pretty standard, but the column and Cover Flow views are
fairly unique to OS X.
Compatibility
OS X is not backward compatible with earlier Mac OSs. It functions like Unix-based Linux
systems which mean that most BSD or Linux packages can be run on OS X. Due to earlier
PowerPC processors, OS X has an image of not being compatible with Windows standards,
documents, etc. However, with new Intel-based machines, dual booting and virtual machines
have become possible.
Security and Usage
OS X is a more secure OS than Windows just like Linux. Rather than Linux, however, OS X is a
closed OS. The latest version of OS X (10.5 - Leopard) was designed to add a lot more features.
The next version of OS X will focus more on functionality than cool features.
2. Roles of operating systems
IO Management
Input/output (IO) is an essential element for the operation of any computer. It allows the
computer to interact with peripheral devices such as a keyboard, mouse, terminals (like modem,
TV card, and NIC card), disks or tapes (CD, DVD, and Floppy disk), printer etc.
Data Management
Data management allows organizing their data into logical groupings called files. Earlier, only a
few of OS provide data management, containing limited flexibility and usefulness. At present,
most of the OS provides this feature.
Memory
Memory management is the function responsible for managing the computer's primary memory.
Memory is a large array of words or bytes, each with its own address. When the user requests to
the CPU for read/write operation, OS determines the amount of memory required for the
program instructions and data. Then, OS allocates required memory to load the program and data
into RAM. When a program terminates, its memory space is free and the same memory area can
be allocated to another program.
Process Management
Process management is the process by which operating systems manage processes, threads,
enable processes to share information, protect process resources and allocate system resources to
processes that request them in a safe manner. It finds the status of processors and processes
(Traffic controller), chooses a job (job scheduler), chooses process in the job (process scheduler),
allocates the processors to the process (dispatcher), and free the processor when the process is
executed.
Device Management
The device management allocates a device to a process. It finds the status of device, channels
and control units, finds answer to questions like which process, which device how much and
allocates the device to the process (IO Scheduling), initiates the IO operation and finally free the
device when the process is completed.
File Management
The file management keeps track of all information on files. It is an opens and closes files. It
finds and records the following for all files: location, size, usage (attributes) status etc. It also
finds as to which process wants which files, checks through the protection routine, opens the file
if allowed, and allocates it to the process. Finally, it closes the file when the process is executed.
Processor management is at a low level which is very near to the machine whereas file
management is at a higher level which is very near to the user.
Time sharing Management
Time sharing management is a function of OS which involves the CPU to allocate the time to a
number of users on the same computer. it is generally found in network operating system. As the
number of users increases the response time for each terminal declines. Time sharing creates the
illusion to the each user so that they are the sole user of the system because the speed of the CPU
compared to that of the monitor and terminal, which is so much faster. thereby giving each time
slice for each user to operate the program interactively. Time sharing manages the time of CPU.
Time sharing checks for CPU requests from higher-priority processes that are made every 10
milliseconds.
Security Management
The security feature protects one user from another and the OS as a whole from all users. Its
main function is to make sure that only authorized users to get access from the computer, and the
users only do things they are authorized to do. Larger OS provides some kind of security but the
degree varies from one OS to another.
Interrupt handling
An interrupt is a signal from a device attached to a computer or from a program within the
computer that causes the main program that operates the computer (the operating system) to stop
and figure out what to do next. Almost all personal (or larger) computers today are interrupt-
driven- that is, they start down the list of computer instructions in one program (perhaps an
application such as a word processor) and keep running the instructions until either (A) they can't
go any further or (B) an interrupt signal is sensed. After the interrupt signal is sensed, the
computer either resumes running the program it was running or begins running another program.
Virtual storage
In a multiprogramming system, there can be many programs located in the memory along
with the operating system. If the program is larger than main memory of the computer, operating
system uses free space of secondary memory which is termed as virtual memory. It is not
necessary to have the entire program in primary storage at one time, only the part on which the
computer is working is needed. The area of secondary storage used for storing pages is called virtual
storage.
a) The kernel : The kernel is the central module of an operating system (OS). It is the
part of the operating system that loads first, and it remains in main memory. Because it stays in
memory, it is important for the kernel to be as small as possible while still providing all the
essential services required by other parts of the operating system and applications. The the kernel
code is usually loaded into a protected area of memory to prevent it from being overwritten by
programs or other parts of the operating system.
Typically, the kernel is responsible for memory management, process and task management, and
disk management. The kernel connects the system hardware to the application software. Every
operating system has a kernel. For example the Linux kernel is used numerous operating systems
including Linux, FreeBSD, Android and others.
b) The command interpreter : A command interpreter is the part of a computer
operating system that understands and executes commands that are entered interactively by a
human being or from a program. In some operating systems, the command interpreter is called
the shell.
Command interpreters serve many purposes and are more useful than graphical user interfaces in
some cases. Details about these cases are given as follows:
o Command interpreters have a large range of commands and queries available for different
operations. Also, it is much faster to type than to click as is done using graphical user
interfaces..
o There are some systems that don’t have enough resources to support graphical user
interfaces. In those cases, command interpreters can be used.
o Scientists and engineers often used command interpreters in scientific environments.
Technically advanced users also prefer command interpreters as compared to graphical
user interfaces.
o People with visual disabilities use command interpreters as they cannot work with
graphical user interfaces. Commands and instructions can be displayed using braille
displays in command interpreters.
c) The file system: For most users, the file system is the most visible aspect of an
operating system. It provides the mechanism for on-line storage of and access to both data and
programs of the operating system and all the users of the computer system. The file system
consists of two distinct parts: a collection of files, each storing related data, and a directory
structure, which organizes and provides information about all the files in the system.
A file system is a process that manages how and where data on a storage disk, typically a hard
disk drive (HDD), is stored, accessed and managed. It is a logical disk component that manages a
disk's internal operations as it relates to a computer and is abstract to a human user.
Regardless of type and usage, a disk contains a file system and information about where disk
data is stored and how it may be accessed by a user or application. A file system typically
manages operations, such as storage management, file naming, directories/folders, metadata,
access rules and privileges.
Commonly used file systems include File Allocation Table 32 (FAT 32), New
Technology File System (NTFS) and Hierarchical File System (HFS).
Bibliography
-Shrestha, R. P., & Manandhar, s. (2014). Computer Essential. Kathmandu: Ashmita publication.
Brijender Kahanwal (2013) et al FILE SYSTEM : A COMPONENT OF OPERATING SYSTEM,
arxiv.org
- lecture notes : Tang Lineker
-more