1 Unnamed 24 04 2023
1 Unnamed 24 04 2023
BY DR.M.THIRUNAVUKKARASAN
SCOPE,VIT,VELLORE
Topics to be covered:
Introduction
Course Objectives & Course Outcomes
Course Contents (Syllabus)
Text & Reference books.
What is an OS.
What are its key functions.
The evaluation of OS.
What are the popular types of OS.
What is an Operating System?
Computer System = Hardware + Software
Software = Application Software + System Software(OS)
An Operating System is a system Software that acts as an
intermediary/interface between a user of a computer and the computer
hardware.
Operating system goals:
Execute user programs and make solving user problems easier
Make the computer system convenient to use
Use the computer hardware in an efficient manner
9597394733
Prp 218-f
Course Objectives
To introduce the operating system concepts, designs and provide skills required to
implement the services.
2. To describe the trade-offs between conflicting objectives in large scale system
design
To develop the knowledge for application of the various design issues and services.
Course Outcomes
Problem: If RAM needs an operating system to work, and an operating system needs RAM in
order to work, how does your computer activate its RAM to load the operating system?
Operating System Mode
The User Mode is concerned with the actual
interface between the user and the system.
It controls things like running applications
and accessing files.
Kernel is a software code that reside in central core of OS. It has complete
control over system.
When operation system boots, kernel is first part of OS to load in main
memory.
Kernel remains in main memory for entire duration of computer session.
The kernel code is usually loaded in to protected area of memory.
Kernel performs it’s task like executing processes and handling interrupts
in kernel space.
User performs it’s task in user area of memory.
This memory separation is made in order to prevent user data and kernel
data from interfering with each other.
Kernel does not interact directly with user, but it interacts using SHELL and
other programs and hardware.
Kernel cont…
Kernel includes:-
1. Scheduler: It allocates the Kernel’s processing time to various
processes.
2. Supervisor: It grants permission to use computer system
resources to each process.
3. Interrupt handler : It handles all requests from the various
hardware devices which compete for kernel services.
4. Memory manager : allocates space in memory for all users of
kernel service.
kernel provides services for process management, file management,
I/O management, memory management.
System calls are used to provide these type of services.
System Call
Power On Switch sends electricity to the BIOS will then look for a small sector at the very beginning of your
motherboard on a wire called the Voltage Good primary hard disk called MBR.
line. The MBR contains a list, or map, of all of the partitions on your
If the power supply is good, then the BIOS computer‘s hard disk (or disks).
(Basic Input/Output System) chip takes over. After the MBR is found the Bootstrap Loader follows basic instructions
In Real Mode, CPU is only capable of using for starting up the rest of the computer, including the operating system.
approximately 1 MB of memory built into the In Early Kernel Initialization stage, a smaller core of the Kernel is
motherboard. activated.
The BIOS will do a Power-On Self Test (POST) This core includes the device drivers needed to use computer‘s RAM
to make sure that all hardware are working. chips.
BIOS
UEFI stands for Unified Extensible Firmware Interface. It does the same job as a BIOS,
but with one basic difference: it stores all data about initialization and startup in an .efi
file, instead of storing it on the firmware.
This .efi file is stored on a special partition called EFI System Partition (ESP) on the hard
disk. This ESP partition also contains the bootloader.
UEFI was designed to overcome many limitations of the old BIOS, including:
UEFI supports drive sizes upto 9 zettabytes, whereas BIOS only supports 2.2 terabytes.
UEFI provides faster boot time.
UEFI has discrete driver support, while BIOS has drive support stored in its ROM, so updating BIOS
firmware is a bit difficult.
UEFI offers security like "Secure Boot", which prevents the computer from booting from
unauthorized/unsigned applications. This helps in preventing rootkits.
UEFI runs in 32bit or 64bit mode, whereas BIOS runs in 16bit mode. So UEFI is able to provide a
GUI (navigation with mouse) as opposed to BIOS which allows navigation only using the keyboard.
Functions of Operating System
1. Process Management
Device controllers are components on the motherboard (or on expansion cards) that act as an interface
between the CPU and the actual device.
Device drivers, which are the operating system software components that interact with the devices
controllers.
A special device (inside CPU) called the Interrupt Controller handles the task of receiving interrupt
requests and prioritizes them to be forwarded to the processor.
Deadlocks can occur when two (or more) processes have control of different I/O resources that are needed
by the other processes, and they are unwilling to give up control of the device.
It performs the following activities for device management.
Keeps tracks of all devices connected to system.
Designates a program responsible for every device known as Input/output controller.
Decides which process gets access to a certain device and for how long.
Allocates devices in an effective and efficient way.
Deallocates devices when they are no longer required.
5. Security & Protection
The operating system uses password protection to protect user data and similar other
techniques.
It also prevents unauthorized access to programs and user data by assigning access
right permission to files and directories.
The owners of information stored in a multiuser or networked computer system may
want to control use of that information, concurrent processes should not interfere
with each other.
6. User Interface Mechanism
A user interface (UI) controls how you enter data and instructions and how
information is displayed on the screen
There are two types of user interfaces
1. Command Line Interface
2. Graphical user Interface
1. Command-line interface
With a graphical user interface (GUI), you interact with menus and visual images
History of Operating System
Each task is given some time to execute so that all the tasks work smoothly.
These systems are also known as Multi-tasking Systems.
The task can be from a single user or different users also.
The time that each task gets to execute is called quantum.
After this time interval is over OS switches over to the next task.
3. Time-Sharing Operating Systems cont..
Desktop Class
Windows
OS X
Unix/Linux
Chrome OS
Server Class
Windows Server
Mac OS X Server
Unix/Linux
Mobile Class
Android
iOS
Windows Phone
Desktop Class Operating Systems:-
Windows Server
Familiar GUI interface for those experienced with Windows
UNIX
Very mature server capabilities, time-tested, large user community, stable
Linux
Free, customizable, many free services and utilities available
Windows Server
UNIX
Tablet and Phone Operating Systems
System-on-chip (SoC): An operating system that comes preinstalled on a
chip on a portable device such as a smartphone.
Popular SoC operating systems:
iOS: for iPad, iPhone
Android: for a variety of tablets and phones
Downloadable applications (apps) from an App store, for example:
Apple App Store
Google Play Store
iOS on the iPhone and iPad
3. Free
Certainly, the biggest advantage of the Linux system is that it is free to use.
We can easily download it, and there is no need to buy the license for it.
It is distributed under GPL (General Public License).
Comparatively, we have to pay a huge amount for the license of the other OS
Advantage of Linux Operating
System
4. Lightweight
The requirements for running Linux are much less than other operating
system
In Linux, the memory footprint and disk space are also lower.
Generally, most of the Linux distributions required as little as 128MB of
RAM around the same amount for disk space.
5. Stability
Linux is more stable than other operating systems.
Linux does not require to reboot the system to maintain performance
levels.
It rarely hangs up or slow down. It has big up-times.
Advantage of Linux Operating
System
6. Performance
Linux system provides high performance over different networks.
It is capable of handling a large number of users simultaneously.
7. Flexibility
Linux operating system is very flexible.
It can be used for desktop applications, embedded systems, and server applications too.
It also provides various restriction options for specific computers.
We can install only necessary components for a system.
8. Software Updates
In Linux, the software updates are in user control.
We can select the required updates.
There a large number of system updates are available.
These updates are much faster than other operating systems.
So, the system updates can be installed easily without facing any issue.
Advantage of Linux Operating
System
9. Distributions/ Distros
There are many Linux distributions available in the market.
It provides various options and flavors of Linux to the users.
We can choose any distros according to our needs.
Some popular distros are Ubuntu, Fedora, Debian, Linux Mint, Arch Linux,
For the beginners, Ubuntu and Linux Mint would be useful.
Debian and Fedora would be good choices for proficient programmers.
10. Live CD/USB
Almost all Linux distributions have a Live CD/USB option.
It allows us to try or run the Linux operating system without installing it.
11. Graphical User Interface
Linux is a command-line based OS but it provides an interactive user interface like Windows.
Advantage of Linux Operating
System
12. Suitable for programmers
It supports almost all of the most used programming languages such as C/C++, Java, Python, Ruby, and
more.
Further, it offers a vast range of useful applications for development.
The programmers prefer the Linux terminal over the Windows command line.
The package manager on Linux system helps programmers to understand how things are done.
Bash scripting is also a functional feature for the programmers.
It also provides support for SSH, which helps in managing the servers quickly.
13. Community Support
Linux provides large community support.
We can find support from various sources.
There are many forums available on the web to assist users.
Further, developers from the various open source communities are ready to help us.
Advantage of Linux Operating
System
14. Privacy
Linux always takes care of user privacy as it never takes much private data from the user.
Comparatively, other operating systems ask for the user's private data.
15. Networking
Linux facilitates with powerful support for networking. The client-server systems can be easily set to a
Linux system. It provides various command-line tools such as ssh, ip, mail, telnet, and more for
connectivity with the other systems and servers. Tasks such as network backup are much faster than
others.
16. Compatibility
Linux is compatible with a large number of file formats as it supports almost all file formats.
17. Installation
Linux installation process takes less time than other operating systems such as Windows. Further, its
installation process is much easy as it requires less user input. It does not require much more system
configuration even it can be easily installed on old machines having less configuration.
Advantage of Linux Operating
System
18. Multiple Desktop Support
Linux system provides multiple desktop environment support for its enhanced use. The desktop
environment option can be selected during installation. We can select any desktop environment such
as GNOME (GNU Network Object Model Environment) or KDE (K Desktop Environment) as
both have their specific environment.
19. Multitasking
It is a multitasking operating system as it can run multiple tasks simultaneously without affecting the
system speed.
20. Heavily Documented for beginners
There are many command-line options that provide documentation on commands, libraries, standards
such as manual pages and info pages. Also, there are plenty of documents available on the internet
in different formats, such as Linux tutorials, Linux documentation project, Serverfault, and more. To
help the beginners, several communities are available such as Ask Ubuntu, Reddit, and
StackOverflow.
UNIX Shell and Utilities
User
The shell used to be in the
kernel but now is a utility outside Utilities Shell
of it.
Easy to change/debug.
Kernel
Many of them (sh, bsh, csh,
ksh, tcsh, wsh, bash)
Possible to switch between Hardware
them (chsh)
A very simplified Shell