Chapter 1 - Introduction to Operating Systems

Download Report

Transcript Chapter 1 - Introduction to Operating Systems

Department of Computer Science
Operating Systems
OPS621S
2015 - Semester 2
Course Coordinator
Mr. Nasimane Ekandjo
Department of Computer Science
IT House, 5 Storch
Phone: 207-2572 (office)
Email address: [email protected]
Consultation: Appointment via e-mail
Please do not come give me excuses that you did
not find me in the office. Send me an e-mail!
Venues
Full Time
Lectures:
Monday (09:30)
Lecture venue: Aud. 3
Laboratories:
Monday (15:00),
Thursday (09:30)
Friday (07:30)
Lab venue:
Part Time
Lectures:
Monday (17:15)
Lecture venue: Room 212
Laboratories:
Wednesday (18:35)
Lab venue:
Office Building, SIT Labs
Office Building, SIT Labs
3
Course Overview
 Broad understanding and knowledge of




operating systems
Examine the way operating system works
Detailed functions of operating systems
Various operating systems and their
functions
Algorithms and policies used in operating
systems
How this course is taught
 The course covers 120 Notional hours
– Theory lecture (15 hours)
– Guided Practical tutorials (30 hours)
– Self study and Assessments (75 hours)
 The course is offered in blended e–learning mode.
The e–learning part is on:
http://elearning.polytechnic.edu.na/elearn
–
–
–
–
1) Submit your exercises
2) Write a test (probably)
3) Download course outline, slides, further material
4) Discuss subject questions
What to do in order to pass
 Always attend theory lectures
 Always attend laboratories & self studies
 Make use of the Self Studies & tutorials
 Complete all homework and exercises
 Utilize your notional hours
 Use APA Referencing / Citing Guide for
your assignments / case studies
Let the business begin!
Lecture Objectives
 What is an operating system
 Computer system components
 Types of computer programs
 Components of operating system




Memory
Processor
Device
File
 Types of operating systems
 Features of operating systems
 Homework
What is an Operating System?
 Computer system:
– Hardware (tangible machine/electronic components)
– System programs (software)
– Application programs
 Operating system:
–
–
–
–
–
–
–
–
Chief software componet
Part of computer system
Manages all hardware and software
Acts as an interface between user and system
Organised set of programs
Schedule tasks and it manage storage
Control and manage computer resources
Making computer system convenient to use in effective manner.
Components of Operating System
1. Hardware – provides basic computing
resources (CPU, memory, I/O devices).
2. Operating system – controls and
coordinates the use of the hardware
among the various application programs
for the various users.
3. Applications programs – define the
ways in which the system resources are
used to solve the computing problems of
the users (compilers, database systems,
video games, business programs).
4. Users (people, machines, other computers).
Three types of program
 User / application program
– Programs used by users to perform tasks
 System program
– Interface between user and computer
 Driver program
– Communicate I/O device with the computer
Four sub-system managers of OS
 Memory manager
 Processor manager
 Device manager
 File manager
 “Network manager”
Four sub-system managers of OS
(cont.)
(figure 1.1)
This pyramid
represents an
operating system on
a stand-alone
computer
unconnected to a
network. It shows the
four subsystem
managers and the
user interface.
© Cengage Learning
2014
User Command Interface
 Provides user communication
– User issues commands to operating system
 Unique to each operating system
– May vary between versions
 Essential managers provide support
 Two primary types:
o Graphical User Interface (GUI)
o Command Line Interface
Subsystems must work with each other
Operating System Managers
 Each manager:
– Works closely with other managers
– Perform a unique task
 Tasks of a Manager:
– Monitor its resources continuously
– Enforce policies determining:
• Who gets what, when, and how much
– Allocate the resource (when appropriate)
– De-allocate the resource (when appropriate)
Network Manager
 Coordinates the services required for
multiple systems to work cohesively
together
 Shared network resources:
• Memory space, processors, printers, databases,
applications, etc.
Memory Management
In charge of main memory (RAM)
Preserving space in main memory occupied by
operating system
Checking validity and legality of memory space request
Memory
Management
Setting up memory tracking table
oTracks usage of memory by sections
oNeeded in multiuser environment
Allocate memory to processes and de-allocate when
they are done
Processor Management
In charge of allocating Central Processing Unit (CPU)
Tracks process status
A process is a program in execution
Processor
Management
Handle jobs as they enter the system
Handled by Job Scheduler
Manage each process within those jobs
Handled by Process Scheduler
Manages creation and deletion of processes
Device Management
In charge of monitoring all resources peripheral devices
Devices, channels, and control units
Choosing most efficient resource allocation method
Printers, ports, disk drives, etc.
Based on scheduling policy
Device
Management
Allocating and de-allocating devices
Accepts input from user and give corresponding output
Consists of policies and procedures for handling I/O
devices
File Management
A file is a collection of related information
Manages files stored on disk
File
Management
In charge of tracking every file in the system
Data files, program files, compilers, application
programs
Enforcing user/program resource access restrictions
Uses predetermined access policies
Controlling user/program modification restrictions
Read-only, read-write, create, delete
Allocating resources (opening files) and de-allocating
(closing files)
Cooperation Issues
 No single manager performs tasks in
isolation
 Each element of an operating system
– Performs individual tasks and
– Harmoniously interacts with other managers
• Incredible precision required for operating system to
work smoothly
• More complicated when networking is involved
Cloud Computing
 Practice of using Internet-connected resources
– Performing processing, storage, or other operations
 Operating system maintains responsibility
– Managing all local resources and coordinating data
transfer to and from the cloud
 Role of the operating system
– Accessing resources
– Managing the system efficiently
Types of Operating System
Batch processing
Embedded OS
Distributed OS
Types of
Operating System
Interactive OS
Time-sharing
Hybrid OS
Real time OS
Multi- processing
Multi-tasking
Multi-programming
• Two distinguishing features:
Read these types
on your own!!
o Response time
o How data enters into the system
Features of Operating System
 Multiprocessing
– Allows parallel program execution
– Two or more CPUs handle jobs
 Multitasking
– To handle two or more programs at the same time from a user’s
perception
– CPU can only perform one task at the same time, however, it runs so fast
that two or more jobs seems to execute at the same time.
 Multiprogramming
– Two or more programs stored in main memory at the same time
– When one job needs to wait (e.g. I/O operation), CPU will switch to
another job to execute
– When the first job finishes waiting, CPU will get back to the first job to
execute
– Efficiently utilize all computing resources
Program, Job, Process and thread
 A program is a non-active set of instructions stored on
disk.
 A program becomes a job from the moment it is selected
for execution until it has finished running and becomes a
program again.
 A process is a program in execution. It is a program that
has started but has not finished.
 A thread => multiple actions that can be executed at the
same time. In other words, a process can be made up of
several threads.
Homework
 Read history of machine hardware
–
–
–
–
Memory chips
Input/output devices (monitor, keyboard, printer, etc.)
Storage devices (disks, magnetic tape, card readers, drums, etc.)
Central Processing Unit (Arithmetic Logic Unit, registers, internal
control, bus control, etc.)
 Read history of operating system development
 You are required to make a summary of what you have
read and submit it via e-poly. 1-3 pages should be fine.
End