Introduction To Operating System
Introduction To Operating System
Course Content:
• What is an OS.
• What are its key functions.
• The evaluation of OS.
• What are the popular types of OS.
• Basics of UNIX and Windows.
• Advantages of open source OS like Linux.
• Networks 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
The Structure of Computer Systems
Accessing computer resources is divided into layers.
Each layer is isolated and only interacts directly with the layer below or above it.
If we install a new hardware device
No need to change anything about the user/applications.
However, you do need to make changes to the operating system.
You need to install the device drivers that the operating system will use to control the
new device.
If we install a new software application
No need to make any changes to your hardware.
But we need to make sure the application is supported by the operating system
user will need to learn how to use the new application.
If we change the operating system
Need to make sure that both applications and hardware will compatible with the new
operating system.
Computer Architecture
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
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
• BIOS firmware was stored in a ROM/EPROM (Erasable
Programmable Read-Only Memory) chip known as firmware on
the PC motherboard.
• BIOS can be accessed during the initial phases of the boot
procedure by pressing del, F2 or F10.
• Finally, the firmware code cycles through all storage devices and
looks for a boot-loader. (usually located in first sector of a disk
which is 512 bytes)
• If the boot-loader is found, then the firmware hands over
control of the computer to it.
UEFI
• 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
• A process is a program in execution.
• A process needs certain resources, including CPU time, memory, files, and
I/O devices to accomplish its task.
• Simultaneous execution leads to multiple processes. Hence creation,
execution and termination of a process are the most basic functionality
of an OS
• If processes are dependent, then they may try to share same resources.
thus task of process synchronization comes to the picture.
• If processes are independent, then a due care needs to be taken to avoid
their overlapping in memory area.
• Based on priority, it is important to allow more important processes to
execute first than others.
2. Memory management
• Memory is a large array of words or bytes, each with its own address.
• It is a repository of quickly accessible data shared by the CPU and I/O devices.
• Main memory is a volatile storage device. When the computer made turn off
everything stored in RAM will be erased automatically.
• In addition to the physical RAM installed in your computer, most modern operating
systems allow your computer to use a virtual memory system. Virtual memory allows
your computer to use part of a permanent storage device (such as a hard disk) as extra
memory.
• The operating system is responsible for the following activities in connections with
memory management:
Keep track of which parts of memory are currently being used and by whom.
Decide which processes to load when memory space becomes available.
Allocate and de-allocate memory space as needed.
3. File Management
• A file is a collection of related information defined by its creator.
• File systems provide the conventions for the encoding, storage and management of data on a
storage device such as a hard disk.
FAT12 (floppy disks) File allocation table
FAT16 (DOS and older versions of Windows)
FAT32 (older versions of Windows)
NTFS (newer versions of Windows) New Technology file system
EXT3 (Unix/Linux)
HFS+ (Max OS X) Hierarchical file system
• The operating system is responsible for the following activities in connections with file
management:
✦ File creation and deletion.
✦ Directory creation and deletion.
✦ Support of primitives for manipulating files and directories.
✦ Mapping files onto secondary storage.
✦ File backup on stable (nonvolatile) storage media.
4. Device Management or I/O 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
• In a command-line interface, a user types
commands represented by short keywords or
abbreviations or presses special keys on the
keyboard to enter data and instructions
2. Graphical User Interface
• With a graphical user interface (GUI), you interact
with menus and visual images
History of Operating System
The First Generation (1940's to early 1950's)
No Operating System
All programming was done in absolute machine language, often by wiring up plug-boards to
control the machine’s basic functions.
The Second Generation (1955-1965)
First operating system was introduced in the early 1950's.It was called GMOS
Created by General Motors for IBM's machine the 701.
Single-stream batch processing systems
The Third Generation (1965-1980)
Introduction of multiprogramming
Development of Minicomputer
The Fourth Generation (1980-Present Day)
Development of PCs
Birth of Windows / MaC OS
Types of Operating Systems
1. Batch Operating System
2. Multiprogramming Operating System
3. Time-Sharing OS
4. Multiprocessing OS
5. Distributed OS
6. Network OS
7. Real Time OS
8. Embedded OS
1. Batch Operating System
• The users of this type of operating system does not interact with the computer directly.
• Each user prepares his job on an off-line device like punch cards and submits it to the
computer operator
• There is an operator which takes similar jobs having the same requirement and group them
into batches.
1. Batch Operating System cont..
• This type of OS is used to execute more than one jobs simultaneously by a single processor.
• It increases CPU utilization by organizing jobs so that the CPU always has one job to execute.
• Multiprogramming operating systems use the mechanism of job scheduling and CPU
scheduling.
3. Time-Sharing Operating Systems
• 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..
Hardware
A very simplified Shell
Microkernel and Monolithic Operating System