0% found this document useful (0 votes)
35 views13 pages

Overview of Linux Operating System

The document provides an extensive overview of the Linux operating system, detailing its components, architecture, and features, including its open-source nature and multi-user capabilities. It also compares Linux with Unix, discusses the Linux kernel, process management, and the Android operating system, highlighting their relationships and functionalities. Additionally, it covers real-time systems and their classifications, emphasizing the importance of meeting timing constraints.

Uploaded by

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

Overview of Linux Operating System

The document provides an extensive overview of the Linux operating system, detailing its components, architecture, and features, including its open-source nature and multi-user capabilities. It also compares Linux with Unix, discusses the Linux kernel, process management, and the Android operating system, highlighting their relationships and functionalities. Additionally, it covers real-time systems and their classifications, emphasizing the importance of meeting timing constraints.

Uploaded by

ln43h4xhmn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Unit 5: Case study on Linux

What is LINUX operating system?


• From smartphones to cars, supercomputers and home appliances, the Linux operating system
is everywhere.

What is Linux?
Just like Windows XP, Windows 7, Windows 8, and Mac OS X, Linux is an operating system.
An operating system is software that manages all of the hardware resources associated with
your desktop or laptop. To put it simply – the operating system manages the communication
between your software and your hardware. Without the operating system (often referred to as
the “OS”), the software wouldn’t function.

The OS is comprised of a number of pieces:

• The Bootloader: The software that manages the boot process of your computer. For most
users, this will simply be a splash screen that pops up and eventually goes away to boot into
the operating system.

• The kernel: This is the one piece of the whole that is actually called “Linux”. The kernel is
the core of the system and manages the CPU, memory, and peripheral devices. The kernel is
the “lowest” level of the OS.

• Daemons: These are background services (printing, sound, scheduling, etc) that either start
up during boot, or after you log into the desktop.

• The Shell: You’ve probably heard mention of the Linux command line. This is the shell – a
command process that allows you to control the computer via commands typed into a text
interface. This is what, at one time, scared people away from Linux the most (assuming they
had to learn a seemingly archaic command line structure to make Linux work). This is no longer
the case. With modern desktop Linux, there is no need to ever touch the command line.

• Graphical Server: This is the sub-system that displays the graphics on your monitor. It is
commonly referred to as the X server or just “X”.

• Desktop Environment: This is the piece of the puzzle that the users actually interact with.
There are many desktop environments to choose from (Unity, GNOME, Cinnamon,
Enlightenment, KDE, XFCE, etc). Each desktop environment includes built-in applications
(such as file managers, configuration tools, web browsers, games, etc).

• Applications: Desktop environments do not offer the full array of apps. Just like Windows
and Mac, Linux offers thousands upon thousands of high-quality software titles that can be
easily found and installed. Most modern Linux distributions (more on this in a moment) include
App Store-like tools that centralize and simplify application installation. For example: Ubuntu
Linux has the Ubuntu Software Center (Figure 1)which allows you to quickly search among
the thousands of apps and install them from one centralized location.

Components of Linux System


Linux Operating System has primarily three components
Kernel − Kernel is the core part of Linux. It is responsible for all major activities of this
operating system. It consists of various modules and it interacts directly with the underlying
hardware. Kernel provides the required abstraction to hide low level hardware details to system
or application programs.
• System Library − System libraries are special functions or programs using which application
programs or system utilities accesses Kernel's features. These libraries implement most of the
functionalities of the operating system and do not requires kernel module's code access rights.

• System Utility − System Utility programs are responsible to do specialized, individual level
tasks.

Kernel Mode vs User Mode


Kernel component code executes in a special privileged mode called kernel mode with full
access to all resources of the computer. This code represents a single process, executes in single
address space and do not require any context switch and hence is very efficient and fast. Kernel
runs each processes and provides system services to processes, provides protected access to
hardware to processes.
Support code which is not required to run in kernel mode is in System Library. User programs
and other system programs works in User Mode which has no access to system hardware and
kernel code. User programs/ utilities use System libraries to access Kernel functions to get
system's low level tasks.

Basic Features
Following are some of the important features of Linux Operating System.
• Portable − Portability means software can works on different types of hardware in same way.
Linux kernel and application programs supports their installation on any kind of hardware
platform.
• Open Source − Linux source code is freely available and it is community based development
project. Multiple teams work in collaboration to enhance the capability ofLinux operating
system and it is continuously evolving.
• Multi-User − Linux is a multiuser system means multiple users can access system resources
like memory/ ram/ application programs at same time.

• Multiprogramming − Linux is a multiprogramming system means multiple applications can


run at same time.

• Hierarchical File System − Linux provides a standard file structure in which system
files/user files are arranged.

• Shell − Linux provides a special interpreter program which can be used to execute commands
of the operating system. It can be used to do various types of operations, call application
programs. etc.

• Security − Linux provides user security using authentication features like password
protection/ controlled access to specific files/ encryption of data.
Architecture
The following illustration shows the architecture of a Linux system –

The architecture of a Linux System consists of the following layers −


• Hardware layer − Hardware consists of all peripheral devices (RAM/ HDD/ CPU etc).

• Kernel − It is the core component of Operating System, interacts directly with hardware,
provides low level services to upper layer components.

• Shell − an interface to kernel, hiding complexity of kernel's functions from users. The shell
takes commands from the user and executes kernel's functions.

• Utilities − Utility programs that provide the user most of the functionalities of an operating
systems.
Explain Interfaces to Linux.
• A Linux system can be regarded as a kind of pyramid, as illustrated in Fig. At the bottom is
the hardware, consisting of the CPU, memory, disks, a monitor and keyboard, and other
devices. Running on the bare hardware is the operating system. Its function is to control the
hardware and provide a system call interfa9ce to all the programs. These system calls allow
user programs to create and manage processes, files, and other resources.

A Linux operating system can be divided in to the following layers:


1) Hardware: This is the bottom most layer of a Linux system. It consists of monitor, CPU,
memory, disks, terminals, keyboards, and other devices.
2) Linux operating system: Linux operating system runs on the hardware. It controls the
hardware and manages memory, processes, file systems, and Input/Output. It also provides a
system call interface for the programs.
3) System library: This is the standard library for calling specific procedures. It provides a
library interface for the system calls. It has various library procedures like read, write, fork,
etc.
4) Utility programs: A Linux system has several standard utility programs like compilers,
shell, editors, file manipulation utilities, text processors, and other programs which can be
called by the user. It provides a user interface for these programs.

What is mean by shell in LINUX? What is its use?


• Computer understand the language of 0's and 1's called binary language. In early days of
computing, instruction are provided using binary language, which is difficult for all of us, to
read and write. So in Os there is special program called

Shell. Shell accepts your instruction or commands in English (mostly) and if it’s a valid
command, it is pass to kernel.
• Shell is a user program or it's environment provided for user interaction. Shell is an command
language interpreter that executes commands read from the standard input device (keyboard)
or from a file.
• Shell is not part of system kernel, but uses the system kernel to execute programs, create files
etc.
Several shell available with Linux including:

Give the list of Linux Utility Programs.


• The command-line (shell) user interface to Linux consists of a large number of standard
utility programs. Roughly speaking, these programs can be divided into six categories,as
follows:

1. File and directory manipulation commands.


2. Filters.
3. Program development tools, such as editors and compilers.
4. Text processing.
5. System administration.
6. Miscellaneous.

POSIX (Portable Operating System Interface) is a set of standard operating system interfaces
based on the Unix operating system.

What is Unix?
Unix is a powerful and multitasking operating system that behaves like a bridge between the
user and the computer. It allows the user to perform specific functions. This operating system
was launched in 1960, and was released by AT&T Bell Labs.

1. Explain evolution of UNIX


• UNIX development was started in 1969 at Bell Laboratories in New Jersey.
• Bell Laboratories was (1964–1968) involved on the development of a multi-user, time-
sharing operating system called Multics (Multiplexed Information and Computing
System). Multics was a failure. In early 1969, Bell Labs withdrew from the
Multicsproject.
• Bell Labs researchers who had worked on Multics (Ken Thompson, Dennis Ritchie,
Douglas McIlroy, Joseph Ossanna, and others) still wanted to develop an operating
system for their own and Bell Labs’ programming, job control, and resource usage
needs.
• When Multics was withdrawn Ken Thompson and Dennis Ritchie needed to rewrite an
operating system in order to play space travel on another smaller machine The result
was a system called UNICS (UNiplexed Information and Computing Service)
• The first version of UNIX was written in the low-level PDP-7(Programmed data
process) assembler language. Later, a language called TMG was developed for the
PDP-7 by R. M. McClure. Using TMG (TransMoGrifier)to develop a FORTRAN
compiler, Ken Thompson instead ended up developing a compiler for a new high- level
language he called B, based on the earlier BCPL (Basic Combined Programming
Language) language developed by Martin Richard. When the PDP- 11 computer
arrived at Bell Labs, Dennis Ritchie built on B to create a new language called C. Unix
components were later rewritten in C, and finally with the kernel itself in 1973.
• Unix V6, released in 1975 became very popular. Unix V6 was free and was distributed
with its source code.
• In 1983, AT&T released Unix System V which was a commercial version.
• Meanwhile, the University of California at Berkeley started the development of its own
version of Unix. Berkeley was also involved in the inclusion of Transmission Control
Protocol/Internet Protocol (TCP/IP) networking protocol.
• The following were the major mile stones in UNIX history early 1980's
• AT&T was developing its System V Unix.
• Berkeley took initiative on its own Unix BSD (Berkeley Software Distribution) Unix.
• Sun Microsystems developed its own BSD-based Unix called SunOS and later was
renamed to Sun Solaris.
• Microsoft and the Santa Cruz operation (SCO) were involved in another version of
UNIX called XENIX.
• Hewlett-Packard developed HP-UX for its workstations.
• DEC released ULTRIX.
• In 1986, IBM developed AIX (Advanced Interactive eXecutive).
Difference between UNIX and Linux

Features Linux Unix

Basic Linux is an open-source operating system. This OS is Unix is a powerful and multitasking
Definition supported on several computer platforms and includes operating system that behaves like a
multiple software features that handle computer bridge between the user and the
resources, and allow you to do tasks. computer.

Launched This operating system was launched by Linus This operating system was launched
by Torvalds at the University of Helsinki in 1991. in 1960 and released by AT&T Bell
Labs.

OS family It belongs to the Unix-like family. It belongs to the Unix family.

Available in It is available in multiple languages. It is available in English.

Kernel It is monolithic. It can be microkernel, monolithic,


Type and hybrid.

Written in C and other programming languages. C and assembly language.

File system It supports more file systems than Unix. It also supports less than Linux.
support

Usage It is used in several systems like desktop, Unix is majorly used on


smartphones, mainframes and servers. workstations and servers.

Examples Some examples of Linux are: Fedora, Debian, Red Some examples of unix are IBM
Hat, Ubuntu, Android, etc. AIX, Darwin, Solaris, HP-UX,
macOS X, etc.

Security Linux provides higher security. Unix is also highly secured.

Price Linux is free and its corporate support is available at a Unix is not totally free. There are
price. some Unix versions that are free,
other than that UNIX is expensive.

Describe Linux kernel with appropriate diagram.

• The Linux kernel is a Unix-like computer operating system kernel. The Linux operating
system is based on it and deployed on both traditional computer systems suchas personal
computers and servers, usually in the form of Linux distributions,[9]and on various embedded
devices such as routers, Wireless access points, PBXes, set-top boxes, FTA receivers, smart
TVs, PVRs and NAS appliances. The Android operating system for tablet computers,
smartphones and smartwatches is also based atop the Linux kernel.
• The Linux kernel API, the application programming interface (API) through which user
programs interact with the kernel, is meant to be very stable and to not break userspace
programs (some programs, such as those with GUIs, rely on other APIs as well). As part of the
kernel's functionality, device drivers control the hardware; "mainlined" device drivers are also
meant to be very stable. However, the interface between the kernel and loadable kernel modules
(LKMs), unlike in many other kernels and operating systems, is not meant to be very stable by
design.

What are Process Management System Calls in Linux?

• Processes are the most fundamental abstraction in a Linux system, after files. As object code
in execution - active, alive, running programs - processes are more than just assembly language;
they consist of data, resources, state, and a virtualized computer.
• Linux took an interesting path, one seldom travelled, and separated the act of reading a new
process from the act of loading a new binary image. Although the two tasks are performed in
tandem most of the time, the division has allowed a great deal of freedom for experimentation
and evolution for each of the tasks.

This road less travelled has survived to this day, and while most operating systems offer a
single system call to start up a new program, Linux requires two: a fork and an exec.

What is Android operating system?

The Android OS was originally created by Android, Inc., which was bought by Google in2005.
Google teamed up with other companies to form the Open Handset Alliance (OHA), which has
become responsible for the continued development of the Android OS.
Android’s underlying kernel is based on Linux, but it has been customized to suit Google’s
directions. There is no support for the GNU libraries and it does not have a native XWindows
system. Inside the Linux kernel are found drivers for the display, camera, flash memory, keypad,
WiFi and audio. The Linux kernel serves as an abstraction between the hardware and the rest of
the software on the phone. It also takes care of core system services like security, memory
management, process management and the network stack.
The Android OS is designed for phones. Its many features include:
• Integrated browser, based on the open source WebKit engine
• Optimized 2D and 3D graphics, multimedia and GSM connectivity
• Bluetooth
• EDGE
• 3G
• WiFi
• SQLite
• Camera
• GPS
• Compass
• Accelerometer

Software developers who want to create applications for the Android OS can download the Android
Software Development Kit (SDK) for a specific version. The SDK includes a debugger, libraries,
an emulator, some documentation, sample code and tutorials. For faster development, interested
parties can use graphical integrated development environments (IDEs) such as Eclipse to write
applications in Java.

Android story
 Android Inc was founded in Palo Alto, California, United States by Andy Rubin,
RichMiner,Nick Sears & Chris White -- Oct 2003
 Google acquired Android Inc -Aug2005
 The Open Handset Alliance, a consortium of several companies was formed -5thNov2007
Android beta SDK released -12thNov2007

Real Time Systems

Real time system means that the system is subjected to real time, i.e., response should be
guaranteed within a specified timing constraint or system should meet the specified deadline.
For example: flight control system, real time monitors etc.

Types of real time systems based on timing constraints:

1. Hard real time system –

This type of sytem can never miss its deadline. Missing the deadline may have disastrous
[Link] usefulness of result produced by a hard real time system decreases abruptly
and may become negative if tardiness increases. Tardiness means how late a real time system
completes its task with respect to its deadline. Example: Flight controller system.

2. Soft real time system –

This type of system can miss its deadline occasionally with some acceptably low probability.
Missing the deadline have no disastrous consequences. The usefulness of result produced by a
soft real time system decreases gradually with increase in tardiness. Example: Telephone
switches.

Reference model of real time system: Our reference model is characterized by three elements:

1. A workload model: It specifies the application supported by system.

2. A resource model: It specifies the resources available to the application.

3. Algorithms: It specifies how the application system will use resources.

Terms related to real time system:

 Job – A job is a small piece of work that can be assigned to a processor and may or may
not require resources.

 Task – A set of related jobs that jointly provide some system functionality.

 Release time of a job – It is the time at which job becomes ready for execution.

 Execution time of a job – It is the time taken by job to finish its execution.

 Deadline of a job – It is the time by which a job should finish its execution. Deadline is
of two types: absolute deadline and relative deadline.

 Response time of a job – It is the length of time from release time of a job to the instant
when it finishes.

 Maximum allowable response time of a job is called its relative deadline.

 Absolute deadline of a job is equal to its relative deadline plus its release time.

 Processors are also known as active resources. They are essential for execution of a job.
A job must have one or more processors in order to execute and proceed towards
completion. Example: computer, transmission links.

 Resources are also known as passive resources. A job may or may not require a resource
during its execution. Example: memory, mutex

 Two resources are identical if they can be used interchangeably else they are
heterogeneous.
Palm OS

Palm OS is a proprietary mobile operating system. Designed in 1996 for Palm Computing,
Inc.'s new Pilot PDA, it has been implemented on a wide array of mobile devices, including
smartphones, wrist watches, handheld gaming consoles, barcode readers and GPS devices.

Palm OS versions earlier than 5.0 run on Motorola/Freescale DragonBall processors. From
version 5.0 onwards, Palm OS runs on ARM architecture-based processors.

The key features of the current Palm OS Garnet are:

 Simple, single-tasking environment to allow launching of full screen applications with


a basic, common GUI set

 Monochrome or color screens with resolutions up to 480x320 pixel

 Handwriting recognition input system called Graffiti 2

 HotSync technology for data synchronization with desktop computers

 Sound playback and record capabilities

 Simple security model: Device can be locked by password, arbitrary application records
can be made private

 TCP/IP network access

 Serial port/USB, infrared, Bluetooth and Wi-Fi connections

 Expansion memory card support

 Defined standard data format for personal information management applications to


store calendar, address, task and note entries, accessible by third-party applications.

Symbian OS

 Design

o Symbian features pre-emptive multitasking and memory protection

o Symbian OS was created with three systems design principles in mind:

o the integrity and security of user data is paramount

o user time must not be wasted

o all resources are scarce


o Symbian uses a microkernel, has a request-and-callback approach to services, and
maintains separation between user interface and engine.

o The OS is optimised for low-power battery-based devices

o Applications, and the OS itself, follow an object-oriented design: Model-view-


controller (MVC).

o Later OS iterations diluted this approach in response to market demands, notably


with the introduction of a real-time kernel and a platform security model in versions
8 and 9.

o There is a strong emphasis on conserving resources

 Features

o User interface

Symbian has had a native graphics toolkit since its inception, known as AVKON (formerly
known as Series 60). S60 was designed to be manipulated by a keyboard-like interface
metaphor, such as the ~15-key augmented telephone keypad, or the mini-QWERTY keyboards.
AVKON-based software is binary-compatible with Symbian versions up to and including
Symbian^3.

o Browser

Symbian^3 and earlier have a built-in WebKit based browser. Symbian was the first mobile
platform to make use of WebKit (in June 2005).[40] Some older Symbian models have Opera
Mobile as their default browser.

o Multiple language support

Symbian has strong localization support enabling manufacturers and 3rd party application
developers to localize their Symbian based products in order to support global distribution.
Current Symbian release (Symbian Belle) has support for 48 languages, which Nokia makes
available on device in language packs (set of languages which cover the languages commonly
spoken in the area where the device variant is intended to be sold). All language packs have in
common English (or a locally relevant dialect of it).

o Application development
From 2010, Symbian switched to using standard C++ with Qt as the main SDK, which can be
used with either Qt Creator or Carbide.c++. Qt supports the older Symbian/S60 3rd (starting
with Feature Pack 1, a.k.a. S60 3.1) and Symbian/S60 5th Edition (a.k.a. S60 5.01b) releases,
as well as the new Symbian platform. It also supports Maemo and MeeGo, Windows, Linux
and Mac OS X.[42][43]

Windows CE

 Features

o Windows CE is optimized for devices that have minimal memory

o Windows CE kernel may run with one megabyte of memory.

o Devices are often configured without disk storage, and may be configured as a
"closed" system that does not allow for end-user extension (for instance, it can
be burned into ROM).

o Windows CE conforms to the definition of a real-time operating system, with a


deterministic interrupt latency. From Version 3 and onward, the system
supports 256 priority levels and uses priority inheritance for dealing with
priority inversion.

o The fundamental unit of execution is the thread. This helps to simplify the
interface and improve execution time.

o The first version – known during development under the code name "Pegasus" –
featured a Windows-like GUI and a number of Microsoft's popular apps, all
trimmed down for smaller storage, memory, and speed of the palmtops of the
day.

o Many platforms have been based on the core Windows CE operating system,
including Microsoft's AutoPC, Pocket PC 2000, Pocket PC 2002, Windows
Mobile 2003, Windows Mobile 2003 SE, Windows Mobile 5, Windows Mobile
6, etc.

o A distinctive feature of Windows CE compared to other Microsoft operating


systems is that large parts of it are offered in source code form.

You might also like