Académique Documents
Professionnel Documents
Culture Documents
OPERATING SYSTEM
RESEARCH # 1:
2. What is a system?
- A set of detailed methods, procedures and routines created to carry out a specific activity,
perform a duty, or solve a problem.
- A system is a collection of elements or components that are organized for a common purpose.
The word sometimes describes the organization or plan itself (and is similar in meaning to method, ) and
sometimes describes the parts in the system (as in "computer system").
3. Classification of OS?
- i) Multiuser OS:
In a multiuser OS, more than one user can use the same system at a same time through the
multi I/O terminal or through the network.
For example: windows, Linux, Mac, etc.
A multiuser OS uses timesharing to support multiple users.
- ii) Multiprocessing OS:
A multiprocessing OS can support the execution of multiple processes at the same time. It uses
multiple number of CPU. It is expensive in cost however, the processing speed will be faster. It is
complex in its execution. Operating system like Unix, 64 bit edition of windows, server edition of
windows, etc. are multiprocessing.
- iii) Multiprogramming OS: In a multiprogramming OS more than one programs can be used at
the same time. It may or may not be multiprocessing. In a single CPU system , multiple program
are executed one after another by dividing the CPU into small time slice.
example: Windows, Mac, Linux,etc.
- iv) Multitasking OS:
In a multitasking system more than one task can be performed at the same time but they are
executed one after another through a single CPU by time sharing. For example: Windows, Linux,
Mac, Unix,etc.
Multitasking OS are of two types:
a) Pre-empetive multitasking
b) Co-operative multitasking
In the pre-empetive multitasking, the OS allows CPU times slice to each program. After each
time slice, CPU executes another task. Example: Windows XP
In co-operative multitasking a task can control CPU as long as it requires . However, it will free
CPU to execute another program if it doesn’t require CPU. Exaample: windows 3.x,
multifinder,etc.
- v) Multithreading:
A program in execution is known as process. A process can be further divided into multiple sub-
processers. These sub-processers are known as threads. A multi-threading OS can divide process
into threads and execute those threads. This increases operating speed but also increases the
complexity. For example: Unix, Server edition of Linux and windows.
- vi) Batch Processing:
A batch processing is a group of processing system in which all the required input of all the
processing task is provided initially. The result of all the task is provided after the completion of
all the processing. Its main functions are:
Multiple task are processed
User cannot provide input in between the processing
It is appropriate only when all the inputs are known in advance
It requires large memory
CPU ideal time is less
Printer is the appropriate output device
It is old processing technique and rarely used at present
- vii) Online Processing:
It is an individual processing system in which the task is processed on individual basis as soon as
they are provided by the user. It has features like:
Individual task is processed at a time
User can provide input in between processing
It is appropriate when all inputs ate not known in advance
It doesn’t require large memory
CPU ideal time is more
Monitor is appropriate output device
It is modern processing technique and mostly used in present
4.Functions of OS?
- i) I/O Management:
OS manages I/O devices and makes the I/O process effective. OS accepts the input from the
input device, stores it in the main memory, ask the CPU to process it and finally provides the
result to the output devices for output.
- ii) Command Interpreter:
Command interpreter is one of the part of operating system which reads the commands that
user types in at a terminal, interprets them and translate them into a detailed set of instructions
that the computer hardware can understand. It varies widely from one OS to other OS. Every OS
must provide command interpreter for its operation.
- iii) Memory Management:
Memory is the large array of words or bytes, each with its own address. When user requests
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 program terminates its memory area is free and the same memory area is allocated for other
programs.
- iv) Process Management:
OS finds the status of processor and processes, chooses a job, chooses processer in the job,
allocates the processor to the process and frees the processer when the process is executed.
- v) Time Sharing:
OS manages the time of CPU. The kernel OS checks frequency for other processes requesting
CPU time. Time sharing checks for CPU request from higher priority processes that are made
every 10 milliseconds. When two or more processes at the same priority level are competing for
the CPU time, CPU time is sliced into segments, defined by time slice and passed from process to
process in a round robin fashion, preventing a single process from monopolizing the CPU until it
blocks or terminates.
- vi) Security:
OS makes sure that only authorized users get access to the computer and its data and the users
only do things they are authorized to do.
- vii) Deadlock Prevention:
During processing, a situation can arise in which a resource shared by two or more processes
cannot continue because the resource required by one process is held by the other. This
situation is called deadlock. OS ensures that the above condition do not hold by carefully
allocating resources.
- viii) Interrupt Handling:
Interrupt is a signal generated from a device or program when they need attention of the CPU.
OS determines the type of interrupt and priority of the interrupt, stops the execution process of
CPU, preserves the initial state of the CPU, perform the requested operation and brings the CPU
at the same state when it was stopped.
- ix) Virtual Storage:
If there are programs larger than main memory (RAM) of the computer, OS uses the reserved
space in the secondary memory which is termed as virtual memory. It makes the execution of
larger program (than RAM) possible but at the same times the operation becomes slower.
Chrome OS
Chromium OS is an open-source project that aims to build an operating system that
provides a fast, simple, and more secure computing experience for people who spend most of their time
on the web. Here you can review the project's design docs, obtain the source code, and contribute.
Mobile OS
A mobile operating system (or mobile OS) is an operating system for Smartphone,
tablets, PDAs, or other mobile devices. While computers such as the typical laptop are mobile, the
operating systems usually used on them are not considered mobile ones as they were originally
designed for bigger stationary desktop computers that historically did not have or need specific "mobile"
features.
Network OS
A network operating system is an operating system designed for the sole purpose of
supporting workstations, database sharing, application sharing and file and printer access sharing among
multiple computers in a network. Certain standalone operating systems, such as Microsoft Windows NT
and Digital’s OpenVMS, come with multipurpose capabilities and can also act as network operating
systems. Some of the most well-known network operating systems include Microsoft Windows Server
2003, Microsoft Windows Server 2008, Linux and Mac OS X.
Linux OS
Linux OS assembled under the model of free and open-source software development and
distribution. The defining component of Linux is the Linux kernel, an operating system kernel first released on
October 5, 1991.
Linux was originally developed as a free operating system for personal computers based on the Intel
x86 architecture, but has since been ported to more computer hardware platforms than any other operating
system. Because of the dominance of Android on smartphones, Linux has the largest installed base of all
general-purpose operating systems. Linux, in its original form, is also the leading operating system
on servers and other big iron systems such as mainframe computers and virtually all fastest supercomputers.
Paravitualized OS
A paravirtualized operating system is an operating system (OS) that is modified to run in
a paravirtualized environment that provides a software interface to virtual machines, similar but not
identical to that of the underlying hardware. In paravirtualized mode, the guest OS is explicitly ported
for the para application programming interface (API) to facilitate communication with the host
virtualization platform.
Cloud OS
The Cloud is a simplified operating system that runs just a web browser, providing
access to a variety of web-based applications that allow the user to perform many simple tasks without
booting a full-scale operating system. Because of its simplicity, Cloud can boot in just a few seconds. The
operating system is designed for Netbooks, Mobile Internet Devices, and PCs that are mainly used to
browse the Internet. From Cloud the user can quickly boot into the main OS, because Cloud continues
booting the main OS in the background.
Combining a browser with a basic operating system allows the use of cloud computing, in which
applications and data "live and run" on the Internet instead of the hard drive.
Cloud can be installed and used together with other operating systems, or act as a standalone operating
system. When used as a standalone operating system, hardware requirements are relatively low.
Firefox OS
Firefox OS is an open-source operating system – made for Smartphone, tablet
computers and smart TVs – designed by Mozilla and external contributors, based on the rendering
engine of their Firefox web browser and the Linux kernel.
Firefox OS is designed to provide a complete, community-based alternative operating system, for
running web applications directly or those installed from an application marketplace. The applications
use open standards and approaches such as JavaScript and HTML5, a robust privilege model, open
web APIs that can communicate directly with hardware, e.g. cellphone hardware.
Android OS
Android is a mobile operating system developed by Google, based on the Linux kernel and
designed primarily for touch screen mobile devices such as smart phones and tablets. Android's user
interface is mainly based on direct manipulation, using touch gestures that loosely correspond to real-world
actions, such as swiping, tapping and pinching, to manipulate on-screen objects, along with a virtual
keyboard for text input. In addition to touch screen devices.
DOS
DOS short for disk operating system, is an acronym for several computer operating
systems that are operated by using the command line.
MS-DOS dominated the IBM PC compatible market between 1981 and 1995, or until about 2001 including the
partially MS-DOS-based Microsoft Windows (95, 98, and Millennium Edition). "DOS" is used to describe the
family of several very similar command-line systems, including MS-DOS, PC DOS, DR-DOS, FreeDOS, ROM-
DOS, and PTS-DOS.
7. What is OS level-virtualization?
Operating-system-level virtualization is a server virtualization method in which
the kernel of an operating system allows the existence of multiple isolated user-space instances, instead of
just one. Such instances, which are sometimes called containers, software containers, virtualization
engines (VEs) or jails (FreeBSD jail or chroot jail), may look and feel like a real server from the point of view
of its owners and users.
Operating-system-level virtualization is commonly used in virtual hosting environments, where it is useful for
securely allocating finite hardware resources amongst a large number of mutually-distrusting users. System
administrators may also use it, to a lesser extent, for consolidating server hardware by moving services on
separate hosts into containers on the one server.
The Open Systems Interconnect (OSI) model has seven layers. This article describes and
explains them, beginning with the 'lowest' in the hierarchy (the physical) and proceeding to the
'highest' (the application). The layers are stacked this way:
Application
Presentation
Session
Transport
Network
Data Link
Physical
PHYSICAL LAYER
The physical layer, the lowest layer of the OSI model, is concerned with the transmission and
reception of the unstructured raw bit stream over a physical medium. It describes the
electrical/optical, mechanical, and functional interfaces to the physical medium, and carries the
signals for all of the higher layers. It provides:
Data encoding: modifies the simple digital signal pattern (1s and 0s) used by the PC to better
accommodate the characteristics of the physical medium, and to aid in bit and frame
synchronization. It determines:
Link establishment and termination: establishes and terminates the logical link between two nodes.
Frame traffic control: tells the transmitting node to "back-off" when no frame buffers are available.
Frame sequencing: transmits/receives frames sequentially.
Frame acknowledgment: provides/expects frame acknowledgments. Detects and recovers from
errors that occur in the physical layer by retransmitting non-acknowledged frames and handling
duplicate frame receipt.
Frame delimiting: creates and recognizes frame boundaries.
Frame error checking: checks received frames for integrity.
Media access management: determines when the node "has the right" to use the physical medium.
NETWORK LAYER
The network layer controls the operation of the subnet, deciding which physical path the data
should take based on network conditions, priority of service, and other factors. It provides:
This layer relieves the upper layers of the need to know anything about the data transmission and
intermediate switching technologies used to connect systems. It establishes, maintains and
terminates connections across the intervening communications facility (one or several intermediate
systems in the communication subnet).
In the network layer and the layers below, peer protocols exist between a node and its immediate
neighbor, but the neighbor may be a node through which data is routed, not the destination
station. The source and destination stations may be separated by many intermediate systems.
TRANSPORT LAYER
The transport layer ensures that messages are delivered error-free, in sequence, and with no losses
or duplications. It relieves the higher layer protocols from any concern with the transfer of data
between them and their peers.
The size and complexity of a transport protocol depends on the type of service it can get from the
network layer. For a reliable network layer with virtual circuit capability, a minimal transport layer is
required. If the network layer is unreliable and/or only supports datagrams, the transport protocol
should include extensive error detection and recovery.
The transport layer header information must then include control information, such as message
start and message end flags, to enable the transport layer on the other end to recognize message
boundaries. In addition, if the lower layers do not maintain sequence, the transport header must
contain sequence information to enable the transport layer on the receiving end to get the pieces
back together in the right order before handing the received message up to the layer above.
End-to-end layers
Unlike the lower "subnet" layers whose protocol is between immediately adjacent nodes, the
transport layer and the layers above are true "source to destination" or end-to-end layers, and are
not concerned with the details of the underlying communications facility. Transport layer software
(and software above it) on the source station carries on a conversation with similar software on the
destination station by using message headers and control messages.
SESSION LAYER
The session layer allows session establishment between processes running on different stations. It
provides:
Session establishment, maintenance and termination: allows two application processes on different
machines to establish, use and terminate a connection, called a session.
Session support: performs the functions that allow these processes to communicate over the
network, performing security, name recognition, logging, and so on.
PRESENTATION LAYER
The presentation layer formats the data to be presented to the application layer. It can be viewed
as the translator for the network. This layer may translate data from a format used by the
application layer into a common format at the sending station, then translate the common format
to a format known to the application layer at the receiving station.
The presentation layer provides:
The application layer serves as the window for users and application processes to access network
services. This layer contains a variety of commonly needed functions:
OPERATING SYSTEMS
MSIT 621