0% found this document useful (0 votes)
53 views

Operating System II

Here is a 2 page response describing the main operating system goals: [Page 1] Efficiency - The operating system should make efficient use of the underlying hardware. It aims to allocate resources like CPU time and memory in an efficient manner to maximize throughput and minimize response time. Robustness - The operating system should be able to function properly even if some of its components fail. It should be able to recover from crashes or hardware/software faults without failing completely. Mechanisms like exception handling, boundary checking and fault tolerance help improve robustness. Scalability - The operating system design should allow it to run on systems with varying resources like CPU power, memory size and I/O bandwidth. It should be able to support additional

Uploaded by

Omar Austin
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views

Operating System II

Here is a 2 page response describing the main operating system goals: [Page 1] Efficiency - The operating system should make efficient use of the underlying hardware. It aims to allocate resources like CPU time and memory in an efficient manner to maximize throughput and minimize response time. Robustness - The operating system should be able to function properly even if some of its components fail. It should be able to recover from crashes or hardware/software faults without failing completely. Mechanisms like exception handling, boundary checking and fault tolerance help improve robustness. Scalability - The operating system design should allow it to run on systems with varying resources like CPU power, memory size and I/O bandwidth. It should be able to support additional

Uploaded by

Omar Austin
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

OPERATING SYSTEM II

(COSC 303) -3 UNIT

DEPARTMENT OF COMPUTER SCIENCE


AND INFORMATION TECHNOLOGY,
BABCOCK UNIVERSITY,
ILISHAN-REMO, OGUN STATE, NIGERIA

Dr (Mrs) AJAYI OLUWABUKOLA F


(COURSE LECTURER)
NOTE:
1) There will be no make-up Quiz, Mid-semester or
Project in this class.
2) Cheating in any test or copying of assignment attracts
zero score. All assignments must have references.
3) All assignments must be submitted the following
week, while the project should be submitted
fortnightly.
ASSESSMENT

- Attendance
- Quiz
- Assignment
- Course Note
- Project
- Mid-Semester Examination
- Final Examination
RECOMMENDED TEXTS
• Operating Systems Deitel, Deitel & Choffnes,
2004 3rd edition, Pearson Prentice Hall ISBN 0-
13-124696-8
• Understanding Operating Systems
Flynn&M’Hoes 2nd edition PWS
COURSE CONTENT
• Basics of Operating System
• Process management
– Process concept
– Thread concepts
– Asynchronous concurrent processes
• Deadlock
• Processor scheduling
• Memory management
Basics of Operating
System
What is an Operating System
• An operating system (OS) is the interface or link between
the user and the computer hardware
or
• It is a software that enables application to interact with
computer hardware.

• The OS coordinates multiple applications and users


(multiple processes) in a fair and efficient manner
• The major goal in OS development is to make the machine
– convenient to use and
– efficient
Operating system components
• Shell, or command interpreter –allows user to enter a command
• Kernel –the software that contains the core components of the
system: -
– Process scheduler which determines when and for how long a process
executes on a processor
– Memory manager which determines when and how memory is allocated
to processes and what to do when main memory becomes full.
– I/O manager which services input and output requests from and to
hardware devices respectively
– Interprocess communication (IPC) manager which allows processes to
communicate with one another
– File system manager which organizes named collections of data on
storage devices and provides an interface for accessing data on those
devices
Operating system goals
• Efficiency
• Robustness
• Scalability
• Extensibility
• Portability
• Security
• Interactivity
• Usability
Functions of Operating System
• It controls the inputs, outputs, interrupts and storage
of files as requested by the applications software.
• It efficiently manages the computer resources.
• Diagnostic checks on the system on Bootup, sending
error messages where necessary.
• Selecting and controlling peripheral devices through
small Driver programs.
• Managing memory i.e allocate memory to processes,
move processes between disk and memory
Modern OS Functionality
• Concurrency
– Multiple processes active at once (multiprocessing)
– Processes can communicate
– Processes may require mutually exclusive access to some resource
– CPU scheduling, resource management
• File system — allocate space for storage of programs and
data on disk
• Device management – controls all the computer IO devices
• Networks and distributed computing — allow computers to
work together
• Security & protection
Classification of Operating Systems
It can also be classified based on the number of
Users
• Single User
• Multiuser
• Networked OS
It can also be classified based on task (job) it can
perform
• Single tasking
• Multitasking
Operating System Architecture
• Operating systems tend to be complex
because they provide many services and
support a variety of HW/SW resources.
• OS architectures help designers in managing
complexity by organizing OS components and
specifying the privilege with which each
component executes
Monolithic Architecture -Large Kernel

• In a monolithic operating system, every


component is contained in the kernel. As a
result, any component can directly
communicate with any other. Monolithic
operating systems tend to be highly efficient.
A disadvantage of monolithic designs is that it
is difficult to determine the source of subtle
errors.
Monolithic Architecture -Large Kernel

• The kernel is the protected part of the OS that runs in kernel mode, -the earliest and
most common
•Every component is contained in the kernel and can directly communicate with other
– Critical OS data structures and device registers are protected from user programs
– Can use privileged instructions
Layered Architecture
• The layered approach to operating systems attempts to
address this issue by grouping components that
perform similar functions into layers. Each layer
communicates exclusively with the layers immediately
above and below it. In a layered approach, a user
process's request may need to pass through many
layers before completion. Because additional methods
must be invoked to pass data and control from one
layer to the next, system throughput decreases
compared to that with a monolithic kernel, which may
require only a single call to service a similar request.
Layered Architecture
• Group components that perform similar functions into layers. Each layer
communicates only with neighbor layers
– Divide OS into layers
– Each layer uses services provided by next lower layer
• User application User SpaceLayer 4
• I/O Management Kernel Space Layer 3
• Message Interpreter “ Layer 2
• Memory management “ Layer 1
• Process Management “ Layer 0
– Advantages: modularity, simplicity
• Disadvantages: performance
• Big tradeoff in OS design:
– simplicity versus performance
– Always strive for simplicity …Unless you have a strong reason to believe that complication
is needed to achieve acceptable performance
Microkernel Architecture
• A microkernel operating system architecture provides only a
small number of services in an attempt to keep the kernel
small and scalable. Microkernels exhibit a high degree of
modularity, making them extensible, portable and scalable.
However, such modularity comes at the cost of an increased
level of inter-module communication, which can degrade
system performance.

• The goal is to minimize what goes in the kernel, implementing


as much of the OS as possible in user-mode processes :
– Better reliability, easier extension
– Lower performance (unfortunately)
Microkernel
Assignment 1 ( 2 pages)
• Briefly describe each of the Operating system
goals

You might also like