[go: up one dir, main page]

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

UNIT I - OS Basics

Uploaded by

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

UNIT I - OS Basics

Uploaded by

nvkeerthuvcet
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 89

UNIT I

OPERATING SYSTEMS AND PROCESS MANAGEMENT


First Half – OS Basics
Functions

Memory Management: Memory management refers to management of


Primary Memory or Main Memory
Processor Management: In multi-programming environment, the OS
decides which process gets the processor when and for how much time.
Device Management: An Operating System manages device communication
via their respective drivers.
File Management: A file system is normally organized into directories for
easy navigation and usage.
Security: OS prevents unauthorized access to programs and data.
Control over system performance: OS will collect usage statistics for
various resources and monitor performance parameters such as response
time, Recording delays between request for a service and response from the
system.
Job accounting: OS Keeps track of time and resources used by various jobs
and users.
Error detection & Response: A variety of errors can occur while a
computer system is running.
Booting the computer: Booting is the process of starting or restarting
the computer.
Coordination between other software and users: An OS enables
coordination of hardware components, coordination and assignment of
compilers, interpreters, assemblers and other software to the various
users of the computer systems.
Objectives

• Convenience: An OS makes a computer more convenient


to use.
• Efficiency: An OS allows the computer system resources to
be used in an efficient manner.
• Ability to evolve: An OS should be constructed in such a
way as to permit the effective development, testing, and
introduction of new system functions without interfering
with service.
EVOLUTION OF OPERATING SYSTEM
EVOLUTION (HISTORY) OF
OPERATING SYSTEM

• The First Generation (1945-55)

• The Second Generation (1955-65)

• The Third Generation (1965-1980)

• The Fourth Generation (1980-Present)

10
1.The First Generation (1945-55)
• Around the mid-1940s (about World War II), it is succeeded to
build calculating engines. The first ones used mechanical relays
but were very slow, with cycle times measured in seconds.
Relays were later replaced by vacuum tubes.

• These machines were enormous, filling up entire rooms with


tens of thousands of vacuum tubes, but they were still millions
of times slower than even the cheapest personal computers
available today.

11
• All programming was done in absolute machine language,
often by wiring up plugboards to control the machine’s
basic functions.

• Programming languages were unknown (even assembly


language was unknown).

• Operating systems also were unknown.

• By the early 1950s, punched cards are started to used. It


was now possible to write programs on cards and read
them in cards instead of using plugboards.12
2. The Second Generation (1955-65)
• The transistors are started to use in the middle1950s. Machines
are more reliable.
• There was a clear separation between designers, builders,
operators, programmers, and maintenance personnel.
• To run a job, a programmer would first write the program on paper
then punch it on cards. He would then bring the card deck down
to the input room and hand it to one of the operators and go drink
coffee until the output was ready.
• Assembler and Fortran were started to be used for programming
punch cards.
13
• Much computer time was wasted while operators were walking
around the machine room.

• People quickly looked for ways to reduce the wasted time. The
solution adopted was the batch system. Batch processing is execution
of a series of programs ("jobs") on a computer without manual
intervention.

• The idea behind it was to collect full of jobs in a tape then read them
onto a magnetic tape. After finishing process the results were writen in
output tape.(Such as the IBM 1401)
14
• After about an hour of collecting a batch of jobs, the tape was
brought into the machine room, where it was mounted on a tape
drive. The operator then loaded a special program (ancestor of
today’s operating system).
• After each job finished, the operating system automatically read the
next job from the tape and began running it. When the whole batch
was done and brought the output tape to a 1401 for printing offline.

15
3. The Third Generation (1965-1980)
• 7094 was the word-oriented, large-scale scientific computers which
were used for numerical calculations in science and engineering.
• On the other hand, 1401 was the character-oriented, commercial
computers which were widely used for commercical works.
• Both of these machines are very huge and people need small
machines.
• IBM produced the System/360 to solve these problems.
• All the machines had the same architecture and instruction set,
programs written for one machine could run on all the others.
• Furthermore, the 360 was designed to handle both scientific and
commercial computing. Thus a single family of machines
16 could satisfy
the needs of all customers.
• The 360 was the first major computer in which is used (small-scale)
Integrated Circuits first.
• OS/360 is the operating system used in third generation computers.
• Most of time along process, processor was idle and it causes waste
time (nearly %80 of total time).
• Multiprogramming is first used in OS/360.

17
• Another major feature present in third-generation operating systems
was the spooling (from Simultaneous Peripheral Operation On Line) .
Spooling refers to putting jobs in a buffer, a special area in memory or
on a disk where a device can access them when it is ready
• Timesharing, a variant of multiprogramming, in which each user has an
online terminal.
• UNIX operating system, which became popular in the academic world,
with government agencies, and with many companies.
• Most versions of UNIX now support POSIX which is an IEEE developed
a standard .

18
4. The Fourth Generation (1980-
Present)
• The age of the personal computer started with the development of LSI
(Large Scale Integration) circuits, chips containing thousands of
transistors on a square centimeter of silicon.
• In 1974, when Intel came out with the 8080, the first general-purpose
8-bit CPU and Kildall then wrote a disk-based operating system called
CP/M (Control Program for Microcomputers) for it.
• In the early 1980s, IBM designed the IBM PC and looked around for
software to run on it. People from IBM contacted Bill Gates to license
his BASIC interpreter. They also asked him if he knew of an operating
system to run on the PC.

19
• When IBM came back, Gates realized that a local computer manufacturer,
Seattle Computer Products, had a suitable operating system. DOS (Disk
Operating System). Gates then offered IBM a DOS/BASIC package which
IBM accepted. IBM wanted certain modifications, so Gates hired the
person who wrote DOS, Tim Paterson, as an employee of Gates’ small!!!
company (Microsoft). The revised system was renamed MS-DOS
(MicroSoft Disk Operating System) and quickly came to dominate the
IBM PC market.
• CP/M, MS-DOS, and other operating systems for early microcomputers
were all based on users typing in commands from the keyboard.

20
• One day, Steve Jobs, who co-invented the Apple computer in his
garage, visited PARC, saw a GUI, and instantly realized its potential
value. Jobs then embarked on building an Apple with a GUI.
• This project produced Lisa, which was too expensive and failed
commercially. Jobs’ second attempt, the Apple Macintosh, was a
huge success, not only because it was much cheaper than the Lisa,
but also because it was user friendly.

21
• Microsoft was strongly influenced by the success of the Macintosh. It produced
a GUI-based system called Windows, which originally ran on top of MS-DOS
(i.e.. it was more like a shell than a true operating system). For about 10 years,
from 1985 to 1993, Windows was just a graphical environment on top of MS-
DOS.
• In the starting in 1995 a freestanding version of Windows, Windows 95, was
released that incorporated many operating system features into it, using the
MS-DOS system only for booting and running old MS-DOS programs,
• In 1998, a slightly modified version of this system, called Windows 98 was
released. Nevertheless, both Windows 95 and Windows 98 still contain a large
amount of 16-bit Intel assembly language.

22
• Another Microsoft operating system is Windows NT (NT stands for
New Technology) which is a full 32-bit system.
• Windows NT was renamed Windows 2000 in early 1999. Microsoft
came out with yet another version of Windows 98 called Windows
Me (Millennium edition).
• Windows XP, Vista, 7, 8, …….
• The other major OS in the personal computer world is UNIX (and
its various derivatives). UNIX is strongest on workstations and
other high-end computers, such as network servers. On Pentium-
based computers, Linux is becoming a popular alternative to
Windows for students and increasingly many corporate users.
23
COMPUTER
ORGANISATION
1.Computer System Organization
• Computer-system operation
• One or more CPUs, device controllers connect through common bus providing access to shared
memory
• Concurrent execution of CPUs and devices competing for memory cycles

• CPU is a hardware in your PC and OS is the software. OS is a medium between you and the CPU. When
you give some input via input devices, the input is directed to the CPU as per the preassigned commands
in the OS.
Computer-System Operation

• I/O devices and the CPU can execute concurrently


• Each device controller is in charge of a particular device type
• Each device controller has a local buffer
• I/O is from the device to local buffer of controller
• CPU moves data from/to main memory to/from local buffers
• Device controller informs CPU that it has finished its operation by causing an
interrupt
Some common interrupts are,
1. Program: generated as a result of an instruction execution, such as
arithmetic overflow, division by zero, attempt to execute an illegal
machine instruction, and reference outside a user’s allowed
memory space.
2. Timer: generated by a timer within the processor
3. I/O: generated by an I/O controller, to signal normal completion of
an operation or to signal a variety of error conditions.
4. Hardware failure: generated by a failure, such as power failure or
memory parity failure.
Interrupt processing/Handling:
1. The device issues an interrupt signal to the processor
2. The processor finishes the execution of the current instruction before
responding to the current interrupt.
3. The processor tests for pending interrupt request. An interrupt vector is the
memory location of an interrupt handler, which prioritizes interrupts and
saves them in a queue, if more than one interrupt is waiting to be handled.
4. The processor next needs to prepare to transfer control to the interrupt
routine. It save the information needed to resume the current program at
the point of interrupt.
5. The pointer then loads the program counter with the entry location of the
interrupt handling routine that will respond to this interrupt
6. Once the program counter has been loaded, the processor proceeds
to next instruction cycle, which begins with an instruction fetch.
7. At this point, the program counter and PSW(program status word)
relating to the interrupted program have been saved on the control
stack.
8. The interrupt handler may now proceed to process the interrupt.
9. When the interrupt processing is complete, the saved register
values are retrieved from the stack and restored to registers
10. Finally the PSW and program counter values are restored from the
stack. As a result the next instruction to be executed will be from
the previously interrupted program
Interrupt handling:
The kernel is a computer program at the core of
a computer's operating system and generally
Two I/O Methods has complete control over everything in the
system.

Synchronous Asynchronous
Interrupt Timeline
2. Storage Structure

• Main memory – only large storage media that the CPU can access
directly
• Typically volatile
• Ex- Random access memory (RAM), Cache,
CPU registers

• Secondary storage – extension of main memory that provides large


nonvolatile storage capacity
Ex- General purpose registers, Hard disk,
solid state disk
Caching
• Information in use copied from slower to faster storage temporarily
• Faster storage (cache) checked first to determine if information is there
• If it is, information used directly from the cache (fast)
• If not, data copied to cache and used there
 Hard disks – rigid metal or glass platters covered with magnetic recording
material
 Disk surface is logically divided into tracks, which are subdivided into
sectors
 The disk controller determines the logical interaction between the device
and the computer

 Solid-state disks – faster than hard disks, nonvolatile


 Various technologies
 Becoming more popular
Storage Hierarchy
• Storage systems organized in hierarchy
• Speed
• Cost
• Volatility
• Device Driver for each device controller to manage I/O
• Provides uniform interface between controller and kernel.

Optical storage devices magnetic tapes


Storage-Device Hierarchy
3. Direct Memory Access (DMA)
• DMA is the method of transferring the data from the computer RAM to
other part of the computer without processing it with CPU.
• When the processor wishes to read/write a block of data, it issues a
command to DMA module by sending DMA module the following
information
 Whether read/write request
 The address of I/O device involved
 The starting location in the memory to read from or write data to
 Number of words to be read or written
• The processor then continues with other work. It delegates this I/O
operation to the DMA module, and that module will take care of it.
• DMA module transfers the entire block of data, one word at a time,
directly to or from memory without going through the processor.
• When the transfer is complete, the DMA module sends an interrupt
signal to the processor. Thus the processor is involved only at the
beginning and at the end of the transfer.
• The DMA module needs to take control of the bus to transfer data to
and from memory. Because of this competition for bus usage, there
may be times when the processor needs the bus and must wait for
the DMA module.
• DMA is more efficient than interrupt driven I/O.
• The copy of data can be performed from
I/O device o memory
Memory to I/O device
Memory to memory
I/O device to I/O device
• The first two operation modes are the transfers of an I/O device to
the main memory which are common operations of a DMA controller
• The other two operations are slightly more difficult to implement and
most DMA controllers do not implement device to device transfers.
How a Modern Computer Works
4. Computer-System Architecture

• Most systems use a single general-purpose processor


• Most systems have special-purpose processors as well.
Multiprocessors systems growing in use and importance
• Also known as parallel systems, tightly-coupled systems
• Advantages include:
1. Increased throughput
2. Economy of scale
3. Increased reliability – graceful degradation or fault tolerance
• Two types:
1. Asymmetric Multiprocessing – each processor is assigned a special task.
2. Symmetric Multiprocessing – each processor performs all tasks
Symmetric Multiprocessing Architecture
A Dual-Core Design
• Dual core is a CPU that has two distinct processors that work
simultaneously in the same integrated circuit. This type of processor can
function as efficiently as a single processor but can perform operations up
to twice as quickly.
Clustered Systems
• Like multiprocessor systems, but multiple systems working together
Usually sharing storage via a storage-area network (SAN)
Provides a high-availability service which survives failures
Some clusters are for high-performance computing (HPC)
Some have distributed lock manager (DLM) to avoid conflicting operations
Applications must be written to use parallelization
Two types:
 Asymmetric clustering has one machine in hot-standby mode
 Symmetric clustering has multiple nodes running applications, monitoring each other
Operating-System Operations
Operating-System Operations
• Modern OS are Interrupt driven (interrupts are either by hardware and
software)
Hardware interrupt by one of the devices
Software interrupt (exception or trap):
-Software error (e.g., division by zero), Request for operating system
service, other process problems include infinite loop, processes
modifying each other or the operating system.
• If there are no processes to execute, no I/O devices to services, and no
users to whom to respond, an OS will sit quietly, waiting for something
to happen.
• For such type of interrupt, separate segments of code in the OS
determine what action should be taken.
Dual mode operation
• For proper execution of the OS we must be able to distinguish between the
execution of OS code and user defined code.
• Dual-mode operation allows OS to protect itself and other system components
• User mode and kernel mode (or supervisor mode, system mode, or privileged
mode).
• A bit called Mode bit provided by hardware
• Provides ability to distinguish when system is running user code (1) or kernel code
(0)
• Some instructions designated as privileged, only executable in kernel mode
• System call changes mode to kernel, return from call resets it to user
• The dual mode of operation provides us with the means for protecting the OS
from users and users from one another.
Dual mode operation
Transition from User to Kernel Mode
• We must ensure that OS maintains control over the CPU.
• We must prevent a user program from getting stuck in an infinite loop or not calling
system services and never returning control to the OS.
• Timer to prevent infinite loop / process hogging resources
• Timer is set to interrupt the computer after some time period
• Keep a counter that is decremented by the physical clock.
• Operating system set the counter (privileged instruction)
• When counter zero generate an interrupt
• Set up before scheduling process to regain control or terminate program that
exceeds allotted time
OS SERVICES
Operating System Services
1. Communications – Processes may exchange information, on the same computer or
between computers over a network
• Communications may be via shared memory or through message passing (packets moved
by the OS)
2. Protection and security - 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
• Protection involves ensuring that all access to system resources is controlled
• Security of the system from outsiders requires user authentication, extends to defending
external I/O devices from invalid access attempts.
3. Accounting - To keep track of which users use how much and what kinds of computer
resources
4. Error detection – OS needs to be constantly aware of possible errors
• May occur in the CPU and memory hardware, in I/O devices, in user program
• For each type of error, OS should take the appropriate action to ensure correct and
consistent computing
• Debugging facilities can greatly enhance the user’s and programmer’s abilities to
efficiently use the system
5. Access to I/O devices:
Each I/O devices requires its own peculiar set of instructions or control signals for operation.
6. Program development:
The OS provides a variety of facilities and services, such as editors and debuggers, to assist
the programmer in creating programs.
7. Program Execution:
A number of steps need to be performed to execute a program. Instructions and data must
be loaded into main memory, I/O devices and files must be initialized, and other resources must
be prepared. The OS handles these scheduling duties for the user.
8. File-system manipulation:
The file system is of particular interest. Programs need to read and write files and
directories, create and delete them, search them, list file Information, permission management.
9. Resource allocation
When multiple users or multiple jobs running concurrently, resources must be allocated to
each of them
• Many types of resources - CPU cycles, main memory, file storage, I/O devices.
10. Controlled access to files:
For file access, the OS must reflect a detailed understanding of not only the nature of the I/O
device (disk drive, tape drive) but also the structure of the data contained in the files on the
storage medium.
A View of Operating System Services
System Calls
System Calls
• System call provide the interface between a process and the OS.
• In computing, a system call (commonly abbreviated to syscall) is the
programmatic way in which a computer program requests a service from
the kernel of the operating system on which it is executed.
• Typically written in a high-level language (C or C++)
• Mostly accessed by programs via a high-level Application Programming
Interface (API) rather than direct system call use
• Three most common APIs are Win32 API for Windows, POSIX API for POSIX-
based systems (including virtually all versions of UNIX, Linux, and Mac OS X),
and Java API for the Java virtual machine (JVM)
API – System Call – OS Relationship Standard C Library Example

C program invoking printf() library call, which


calls write() system call
Example of System Calls
• System call sequence to copy the contents of one file to another file
System Call Implementation
• Typically, a number associated with each system call. System-call interface
maintains a table indexed according to these numbers
• The system call interface invokes the intended system call in OS kernel and
returns status of the system call and any return values
• The caller need know nothing about how the system call is implemented. Just
needs to obey API and understand what OS will do as a result call
• Most details of OS interface hidden from programmer by API
System Call Parameter Passing
• Often, more information is required than simply identity of desired system call
• Exact type and amount of information vary according to OS and call
• Rules for passing Parameters for System Call
• Parameters should be pushed on or popped off the stack by the operating
system.
• Parameters can be passed in registers.
• When there are more parameters than registers, it should be stored in a
block, and the block address should be passed as a parameter to a register.
• Block and stack methods do not limit the number or length of parameters being
passed
Parameter Passing via Table
Types of System Calls
1. Process control
• create process, terminate process
• end, abort
• load, execute
• get process attributes, set process attributes
• wait for time
• wait event, signal event
• allocate and free memory
• Dump memory if error
• Debugger for determining bugs, single step execution
• Locks for managing access to shared data between processes
2. File management
• create file, delete file
• open, close file
• read, write, reposition
• get and set file attributes
3. Device management
• request device, release device
• read, write, reposition
• get device attributes, set device attributes
• logically attach or detach devices
4. Information maintenance
• get time or date, set time or date
• get system data, set system data
• get and set process, file, or device attributes
6. Protection
5. Communications • Control access to resources
• create, delete communication connection • Get and set permissions
• send, receive messages if message passing • Allow and deny user access
model to host name or process name (From
client to server)
• Shared-memory model create and gain access
to memory regions
• transfer status information
• attach and detach remote devices
Examples of Windows and Unix System Calls
System Programs
System Programs
• System programs provide a convenient environment for program development
and execution.
• They can be divided into:
File manipulation
Status information sometimes stored in a File modification
Programming language support
Program loading and execution
Communications
Background services
Application programs
• Most users’ view of the operation system is defined by system programs, not
the actual system calls
• File management - Create, delete, copy, rename, print, dump, list, and generally manipulate files and
directories
• Status information
• Some ask the system for info - date, time, amount of available memory, disk space, number of users
• Others provide detailed performance, logging, and debugging information
• Typically, these programs format and print the output to the terminal or other output devices
• Some systems implement a registry - used to store and retrieve configuration information
• File modification
• Text editors to create and modify files
• Special commands to search contents of files or perform transformations of the text
• Programming-language support - Compilers, assemblers, debuggers and interpreters sometimes
provided
• Program loading and execution- Absolute loaders, relocatable loaders, linkage editors, and overlay-
loaders, debugging systems for higher-level and machine language
• Communications - Provide the mechanism for creating virtual connections among processes, users, and
computer systems
• Allow users to send messages to one another’s screens, browse web pages, send electronic-mail
messages, log in remotely, transfer files from one machine to another
• Background Services
• Launch at boot time
• Some for system startup, then terminate
• Some from system boot to shutdown
• Provide facilities like disk checking, process scheduling, error logging, printing
• Run in user context not kernel context
• Known as services, subsystems, daemons

• Application programs
• Don’t pertain to system
• Run by users
• Not typically considered part of OS
• Launched by command line, mouse click, finger poke
Operating System Structure
Operating System Structure
• General-purpose OS is very large program
• Various ways to structure ones
• Simple structure – MS-DOS
• More complex -- UNIX
• Layered – an abstrcation
• Microkernel -Mach
Simple Structure -- MS-DOS

• MS-DOS – written to
provide the most
functionality in the least
space
• Not divided into
modules
• Although MS-DOS has
some structure, its
interfaces and levels of
functionality are not
well separated
Non Simple Structure -- UNIX

UNIX – limited by hardware functionality,


the original UNIX operating system had
limited structuring. The UNIX OS consists of
two separable parts
• Systems programs
• The kernel
• Consists of everything below the system-call interface
and above the physical hardware
• Provides the file system, CPU scheduling, memory
management, and other operating-system functions;
a large number of functions for one level
Traditional UNIX System Structure
Beyond simple but not fully layered
Layered Approach
• The operating system is
divided into a number of
layers (levels), each built
on top of lower layers.
The bottom layer (layer 0),
is the hardware; the
highest (layer N) is the
user interface.
• With modularity, layers
are selected such that
each uses functions
(operations) and services
of only lower-level layers
Microkernel System Structure
• Moves as much from the kernel into user space
• Mach example of microkernel
• Mac OS X kernel (Darwin) partly based on Mach
• Communication takes place between user modules
using message passing
• Benefits:
• Easier to extend a microkernel
• Easier to port the operating system to new architectures
• More reliable (less code is running in kernel mode)
• More secure
• Detriments:
• Performance overhead of user space to kernel space
communication
Microkernel System Structure
Modules
• Many modern operating systems implement
loadable kernel modules
• Uses object-oriented approach
• Each core component is separate
• Each talks to the others over known interfaces
• Each is loadable as needed within the kernel
• Overall, similar to layers but with more
flexible
• Linux, Solaris, etc
Solaris Modular Approach
Hybrid Systems
• Most modern operating systems are actually not one
pure model
• Hybrid combines multiple approaches to address
performance, security, usability needs
• Linux and Solaris kernels in kernel address space, so
monolithic, plus modular for dynamic loading of
functionality
• Windows mostly monolithic, plus microkernel for different
subsystem personalities
• Apple Mac OS X hybrid, layered, Aqua UI plus Cocoa
programming environment
• Below is kernel consisting of Mach microkernel and BSD
Unix parts, plus I/O kit and dynamically loadable modules
(called kernel extensions)
Mac OS X Structure
iOS

• Apple mobile OS for iPhone, iPad


• Structured on Mac OS X, added
functionality
• Does not run OS X applications natively
• Also runs on different CPU architecture
(ARM vs. Intel)
• Cocoa Touch Objective-C API for
developing apps
• Media services layer for graphics, audio,
video
• Core services provides cloud computing,
databases
• Core operating system, based on Mac OS
X kernel
Android
• Developed by Open Handset Alliance (mostly Google)
• Open Source
• Similar stack to IOS
• Based on Linux kernel but modified
• Provides process, memory, device-driver management
• Adds power management
• Runtime environment includes core set of libraries and
Dalvik virtual machine
• Apps developed in Java plus Android API
• Java class files compiled to Java bytecode then translated to
executable than runs in Dalvik VM
• Libraries include frameworks for web browser (webkit),
database (SQLite), multimedia, smaller libc
Android Architecture
Operating System
Generation
Operating System Generation
• Operating systems are designed to run on any of a class of machines at a variety of
sites with a variety of peripheral configuration.
• The system must then be configured or generated for each specific computer site, a
process sometimes known as System Generation(SYSGEN)
• The OS is normally distributed on disk or CD-ROM.
• The SYSGEN program reads from a given file, or asks the operator of the system for
information concerning the specific configuration of the hardware system.
• The following kinds of information must be determined
 What CPU is to be used?
 How much memory is available?
 What devices are available?
 What OS options are desired, or what parameter values are to be used?
• Once this information is determined, it can be used in several ways.
System Boot
• When power initialized on system, execution starts at a
fixed memory location
• Firmware ROM used to hold initial boot code
• Operating system must be made available to hardware so
hardware can start it
• Small piece of code – bootstrap loader, stored in ROM or
EEPROM locates the kernel, loads it into memory, and starts it
• Sometimes two-step process where boot block at fixed location
loaded by ROM code, which loads bootstrap loader from disk
• Common bootstrap loader, GRUB, allows selection of
kernel from multiple disks, versions, kernel options
• Kernel loads and system is then running

You might also like