0% found this document useful (0 votes)
40 views33 pages

CS111 - Lecture Note 03

The document provides an overview of the key topics covered in an introduction to computing course, including the history and architecture of operating systems, how they coordinate machine activities and handle competition between processes, and security features. The history is discussed from early batch processing to modern multitasking systems. Operating system components like the kernel, file manager, and memory manager are identified. Process states and scheduling are described. Conditions for deadlock and security threats are also summarized.

Uploaded by

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

CS111 - Lecture Note 03

The document provides an overview of the key topics covered in an introduction to computing course, including the history and architecture of operating systems, how they coordinate machine activities and handle competition between processes, and security features. The history is discussed from early batch processing to modern multitasking systems. Operating system components like the kernel, file manager, and memory manager are identified. Process states and scheduling are described. Conditions for deadlock and security threats are also summarized.

Uploaded by

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

Introduction to

Computing
(CS111)
Junar A. Landicho

[email protected]

Develop a passion for
learning. If you do, you
will never cease to
grow.”

Anthony J. D’Angelo
Topic 3:
Operating
Systems

IT 416
Information Systems Development and Management
Learning Outcomes
By the end of this topic, students will be able to:
Explain how operating systems have evolved from the earliest
batch processing systems to complex multitasking
environments.
Identify the main components of commonly used operating
systems.
Identify the various classifications of application and operating
system software found on modern computers.

CS 111 – Introduction to Computing


Learning Outcomes
Explain the operating system concept of a process, and the
potential concerns that arise when a system contains multiple
processes competing for resources.
Identify the conditions required for deadlock to occur.
Identify existing cybersecurity concerns and the modern
operating system security features designed to guard against
them.

CS 111 – Introduction to Computing


Overview
1. The History of Operating Systems
2. Operating System Architecture
3. Coordinating the Machine’s Activities
4. Handling Competition among Processes
5. Security

CS 111 – Introduction to Computing


The History of Operating Systems

Python
Java

PHP

CS 111 – Introduction to Computing


Examples of Operating Systems

CS 111 – Introduction to Computing


Smartphone Operating Systems

CS 111 – Introduction to Computing


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

CS 111 – Introduction to Computing


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 transitions
between jobs

CS 111 – Introduction to Computing


History of Operating Systems
Batch processing (job queue)
Interactive processing (real time)
Time-sharing (one machine, many users)
Multitasking (one user, many tasks)
Multiprocessor machines (load balancing)
Embedded Systems (specific devices)

CS 111 – Introduction to Computing


Batch Processing

CS 111 – Introduction to Computing


Interactive Processing

CS 111 – Introduction to Computing


Operating System Architecture

Python
Java

PHP

CS 111 – Introduction to Computing


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

CS 111 – Introduction to Computing


Software Classification

CS 111 – Introduction to Computing


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

CS 111 – Introduction to Computing


Operating System Components

The user interface acts as an


intermediary between users
and the operating system’s
kernel

CS 111 – Introduction to Computing


File Manager

Directory (or Folder): A user-


created bundle of files and other
directories (subdirectories)
Directory Path: A sequence of
directories within directories

CS 111 – Introduction to Computing


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

CS 111 – Introduction to Computing


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

CS 111 – Introduction to Computing


Coordinating the Machine’s Activities

Python
Java

PHP

CS 111 – Introduction to Computing


The Concept of a Process
Process: The activity of executing a
program
Process State: Current status of the
activity
▪ Program counter
▪ General purpose registers
▪ Related portion of main memory

CS 111 – Introduction to Computing


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
▪ The end of a time slice is signaled by an interrupt.

Multiprogramming between process A and process B

CS 111 – Introduction to Computing


Handling Competition among Processes

Python
Java

PHP

CS 111 – Introduction to Computing


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

CS 111 – Introduction to Computing


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

A deadlock resulting from competition for


nonshareable railroad intersections

CS 111 – Introduction to Computing


Security

Python
Java

PHP

CS 111 – Introduction to Computing


Security

Attacks from outside


Problems
▪ Insecure passwords
▪ Sniffing software
Counter measures
▪ Auditing software

CS 111 – Introduction to Computing


Security
Attacks from within
Problem: A process that
gains access to memory
outside its designated area
Counter measures: Control
process activities via
privilege levels and
privileged instructions

CS 111 – Introduction to Computing


CS 111 – Introduction to Computing
</End>

You might also like