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

CS Unit 3 - Operating Systems

The document describes the history and components of operating systems. It explains that early operating systems simplified job setup and queueing between programs. Modern operating systems enable time-sharing with multitasking and multiprocessing. The key components are the kernel which manages memory, processes and devices, and the user interface. Critical resources are managed through processes, scheduling, semaphores and addressing security issues like passwords and privilege levels.

Uploaded by

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

CS Unit 3 - Operating Systems

The document describes the history and components of operating systems. It explains that early operating systems simplified job setup and queueing between programs. Modern operating systems enable time-sharing with multitasking and multiprocessing. The key components are the kernel which manages memory, processes and devices, and the user interface. Critical resources are managed through processes, scheduling, semaphores and addressing security issues like passwords and privilege levels.

Uploaded by

mcgowinamazon
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Examples of Operating Systems

● Windows
● UNIX
● Mac OS
● Solaris (Sun/Oracle machines)
● Linux

Smartphone Operating Systems


● Apple iOS
● Windows Phone
● BlackBerry OS
● Nokia Symbian OS
● Google Android

Functions of Operating Systems


● Oversee operation of computer
● Store and retrieve files
● Provide the user interface to request execution of programs
● Coordinate the execution of programs

3.1 History of Operating Systems


● Each program is called a “job”
● Early computers required significant setup time
● Each “job” required its own setup
● Operating Systems began as systems for simplifying setup and between jobs
● Batch Processing (job queue)
○ Jobs in mass storage wait for execution in a job queue
○ Works in FIFO manner
○ Jobs can be bumped by higher-priority jobs
● Interactive processing (real time)
● Time-sharing (one machine, many users)
● Multitasking (one user, many tasks)
● Multiprocessor machines (load balancing)
● Embedded Systems (specific devices)
3.2 Operating System Architecture
● Application software
○ Performs specific tasks for users (productivity, games, software development)
● System Software
○ Provides infrastructure for application software
○ Consists of operating system and utility software

Operating System Components


● User interface: communicates with users
○ Text based (shell)
○ Graphical user interface (GUI)
● Kernel: Performs basic required functions
○ File manager
○ Device drivers
○ Memory manager
○ Scheduler and dispatcher

File Manager
● Directory (or Folder): a user-created bundle of files and other directories (subdirectories)
● Directory Path: a sequence of directories within directories

Memory Manager
● Allocates space in main memory
● May create the illusion that the machine has more memory than it actually does (virtual
memory) by playing a “shell game in which blocks of data (pages) are shifted back and
forth between main memory and mass storage

Getting it Started (Bootstrapping)


● Boot Loader: program in ROM (example of firmware)
○ Run by the CPU when power is turned on
○ Transfers operating system from mass storage to main memory
○ Executes jump to operating system
3.3 Coordinating the Machine’s Activities

An operating system coordinates the execution of application software, utility software, and units
within the operating system itself

The concept of a Process

· Process: the activity of executing a program

· Process state: current status of the activity


o Program counter
o General purpose registers
o Related portion of main memory

Process Administration

· Scheduler: adds new processes to the process table and removes completed processes from
the process table

· Dispatcher: controls the allocation of time slices to the processes in the process table
o The end of a time slice is signaled by an interrupt

3.4 Handling Competition Among Processes

· Semaphore: A “control flag”

· Critical Region: a group of instructions that should be executed by only one process at a time

· Mutual exclusion: requirement that only one process at a time be allowed to execute a
Critical Region

Deadlock
· Processes block each other from continuing because each is waiting for a resource that is
allocated to another

· Conditions required for deadlock


1. Competition for non-sharable resources
2. Resources requested on a partial basis
3. An allocated resource can not be forcibly retrieved

3.5 Security
· Attacks from outside
o Problems
§ Insecure passwords
§ Sniffing software
o Counter measures
§ Auditing software
· Attacks from within
o Problem: a process that gain access to memory outside its designated area
o Counter measures: control process activities via privilege levels and privileged
instructions

You might also like