Software Engineering Syllabus

Download Report

Transcript Software Engineering Syllabus

Chapter 3
Operating Systems
Introduction to CS
1st Semester, 2016 Sanghyun Park
Outline





History of Operating Systems
Operating System Architecture
Coordinating the Machine’s Activities
Handling Competition Among Processes
Security
(skipped)
(skipped)
History of Operating Systems

An Operating System (OS) controls and coordinates usage of a
machine’s __________ (CPU, memory, disks, …)

Single-processor machines in 1940s and 1950s



Significant preparation of mechanical equipment to run a program
Execution of a program → ____
Separation of users and equipments
(introduction of computer operator concept)



Submit program to operator to run,
along with any required ____ and special _________
Operator _____ program materials into machine’s mass storage
Batch processing – the execution of jobs by collecting them in a single
_____, then executing them _______ further _________ with the user
Batch Processing

___ interaction with the program once submitted
Interactive Processing

What happens when we have multiple users?


Time-_______ solution (time slices)
In single-user systems usually called ___________
Software Classification

Application: spreadsheets,
games, program development
software

Utility: utility to format a disk,
copy a file, utility to handle
network communication

Operating system
Operating System Components

Shell: ________ between
users and operating systems

Modern computers have a
_____ shell

Window manager: component
within the GUI shell

Kernel: ______ part of an OS
OS Kernel Software Components

File manager


Device drivers


Coordinates machine’s use of main ________
Scheduler


Controls operation of machine’s ________ devices (printer, monitor, …)
Memory manager


Coordinates use of machine’s mass _______
Determines which ________ is executed ______
Dispatcher

Controls allocation of _____ slices to activities
Boot Strapping in OS
File Manager

Keep ________ of files stored in secondary storage



_________ of each file
Which users are allowed to access which files
_________ space in secondary storage

Group files into a bundle called a __________ or folder

A directory may contain other directories called ____________

A chain of directories within directories is called a directory _____

Provide means to access files (open and manipulate files)
Memory Manager

Charged with the task of coordinating the machine’s use of main
memory

Such duties are minimal in ‘one task at a ____’ environment


The program for the current task is placed in main memory, executed,
and then replaced by the program for the next task
The duties are extensive in _________ or multitasking environment




Many programs and blocks of data reside in main memory concurrently
Allocate areas of memory for each program
Fulfill memory requirements for programs
Keep track of memory areas no longer occupied
Virtual Memory

When total main memory required _______ actually available?




Memory manager creates _______ of additional memory space by
________ programs and data back and forth between main memory
and secondary storage
Illusionary memory space is called _______ memory
Memory requirements are allocated in units called ______
(page size < 4KB)
When a main memory of 256MB is required,
but only 128MB is actually available?



Memory manager _______ contents of pages in secondary storage
When a page in secondary storage is needed for access,
_____ it in main memory
If no space in main memory, _____ some other page no longer required
to secondary storage
Concept of a Process

Distinction between a program and the activity of executing a program

Program  static set of directions

Activity of executing a program  dynamic activity 
known as a ________

Process state


Current ________ in the program being executed (value of PC)
_______ in other registers and associated memory cells

A single program can be associated with ___________ one process

In a time-sharing computer, processes _________ for time slices

It is the task of operating system to coordinate these processes
Process Administration (1/2)

The tasks associated with process coordination are handled by the
_________ and _________ within OS kernel

Scheduler




Maintains a block of information in main memory called _____________
When a new task is assigned to machine, creates a process for that
task by placing a new _____ in the process table
 Memory area assigned to process (from memory manager)
 Process priority
 Process status (ready, waiting for some event (I/O for example))
Determines which activity is executed first
Dispatcher



Ensures that the scheduled processes are actually executed
Divides time into time slices (quantum)
Process __________
Process Administration (2/2)
At interrupt


CPU completes current machine
_____, _______ current process
state, and transfers control to an
_________ handler
Interrupt handler is part of
dispatcher
Dispatcher


Sometimes, the process time slice
is terminated ______ the timer expires
(for example when executing I/O)

Selects a _____ process from the
process table (highest priority)
_______ time circuit for the next
interrupt
Allow selected process to ______
execution