knowt logo

Lecture Note 03

Introduction to Computing

(CS111)

Junar A. Landicho

junarlandicho@ustp.edu.ph

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 Java

PHP

Python

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>

SB

Lecture Note 03

Introduction to Computing

(CS111)

Junar A. Landicho

junarlandicho@ustp.edu.ph

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 Java

PHP

Python

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>

robot