0% found this document useful (0 votes)
3 views40 pages

Lecture_07 - Introduction to Operating Systems

This document provides an overview of operating systems, including their definition, goals, and structure. It discusses various types of operating systems, typical architecture, and the roles of components like the kernel and shell. Additionally, it covers hardware abstraction, resource management, and the organization of PC hardware and addresses.

Uploaded by

rajithsjc
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
3 views40 pages

Lecture_07 - Introduction to Operating Systems

This document provides an overview of operating systems, including their definition, goals, and structure. It discusses various types of operating systems, typical architecture, and the roles of components like the kernel and shell. Additionally, it covers hardware abstraction, resource management, and the organization of PC hardware and addresses.

Uploaded by

rajithsjc
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 40

Computer Architecture and Operating

Systems
COSC 22073/BECS 22233
Lesson 07: Introduction to Operating Systems
A.M.K.S Aththanayake
Faculty of Science
University of Kelaniya

1
Coverage of the Lesson
 Introductionto Different OS
 Process and Threads
 Scheduling
 Memory Management
 File System

2
Why do we have to study OS?

3
What is an Operating System
An operating system (OS) is system software that manages
computer hardware, software resources, and provides common
services for computer programs.

4
Operating System Goals
• Execute user programs and make solving user problems easier.
• Make the computer system convenient to use
• Use the computer hardware in an efficient manner

5
Computer System Structure
Computer system can be divided into four components:
1.Hardware – provides basic computing resources
CPU, memory, I/O devices
2.Operating system
Controls and coordinates use of hardware among various applications and users
3.Application programs – define the ways in which the system resources are used to
solve the computing problems of the users
Word processors, compilers, web browsers, database systems, video games
4.Users
People, machines, other computers

6
Four Components of a Computer System

7
Types of Operating Systems
 Desktops
Windows, Ubuntu, Mac OS
 Servers
Redhat, Ubuntu, Windows Server
 Mobile OS
Android, iOS, Ubuntu Touch, Windows Touch
 Embedded OS
Contiki OS
 RTOS
QNX, VxWorks, RTLinux
 Secure OS
SeLinux, SeL4
8
Typical OS Architecture
 Hardware
Hardware is the physical elements of a computer system. It is
the physical parts of a computer, such as the monitor, mouse,
keyboard, computer data storage, hard disk drive (HDD),
graphic cards, sound cards, memory, motherboard, and so on.

9
Typical OS Architecture
 Kernel
The Kernel is a computer program that manages input/output
requests from software, and translates them into data
processing instructions for the central processing unit and
other electronic components of a computer.

10
Typical OS Architecture
 Shell
The Shell is an interface for access to an operating system’s
services. In general, operating system shells use either a
command-line interface (CLI) or graphical user interface
(GUI).

11
Two Types of Interfaces in OS
CLI (Command Line Interface)

GUI (Graphical User Interface)

12
Typical OS Architecture
 User Applications
User Applications are computers program designed to
perform a group of coordinated functions, tasks, or activities
for the benefit of the user.

13
Typical OS Architecture
 User Applications
 Shell
 Kernal
 Hardware

14
Introduction to Common Operations Systems
UNIX
• Developed by Ken Thompson and Dennis Ritchie
• Unix was launched in 1969
• It is a CLI (Command-Line Interface)
• Written in the C programming language
• Led to a variety of academic and commercial variants, e.g.
University of California, Berkeley (BSD), Microsoft (Xenix), IBM
(AIX) and Sun Microsystems (Solaris)

15
Introduction to Common Operations Systems
Windows
• Developed by Microsoft - Bill Gates & Paul Allen
• Windows was launched in 1985
• Built on DOS (Disk Operating System), which is a CLI
(Command-Line Interface)
• Has two modes User Mode (the user cannot directly access
the hardware) and Kernel Mode (the user can access the
hardware)
• Runs on Computers, Tablets (Surface), and integration with Xbox
16
Introduction to Common Operations Systems
Apple Mac OS (Leter OS X)
• Developed by Apple - Steve Wozniak & Steve Jobs
• MacOS was launched in 1984
• MacOS is a native GUI (Graphical User Interface)
• MacOS evolved into OS X, which combined technologies from
MacOS, Unix, and NeXT
• Runs on Computers and other devices.

17
Introduction to Common Operations Systems
Linux
• Developed by Linus Benedict Torvalds
• Linux was launched in 1992
• Linux is a CLI (Command-Line Interface)
• Torvalds made the code of Linux freely available to everyone
on the internet, and therefore lots of people created their own
versions of Linux, e.g. Debian, RedHat, SUSE, SlackWare,
Gentoo, Ubuntu

18
Introduction to Common Operations Systems
Android
• Developed by Andy Rubin, Rich Miner, Nick Sears, and Chris
White
• Android was launched in 2003
• Based on the Linux kernel
• Android is a GUI designed primarily for touchscreen mobile
devices such as smartphones and tablets

19
Introduction to Common Operations Systems
iOS
• Developed by Steve Jobs and Scott Forstall
• iOS was launched in 2007
• Based on the MacOS
• iOS is a GUI designed primarily for touchscreen mobile
devices such as iPhones, iPods, iPads, and AppleTV

20
Two Main Usage of the OS

• Hardware Abstraction
Turns hardware into something that applications can
use.
• Resource Management
Manage system’s resources

21
Consider the following program
• What is the output of the following program?
• How it is displaying on the screen?

22
Consider the following program
Displaying the output of the program

“Hello
Kelaniya” +
coordinates,
color, depth,
etc

23
Hardware Abstraction
In computers, a hardware abstraction layer (HAL) is a layer of
programming that allows a computer OS to interact with a
hardware device at a general or abstract level rather than at a
detailed hardware level.

24
Advantages of Hardware Abstraction
• Easy to develop apps
• Reusable functionality
• Portability

25
OS as a Resource Manager
• Multiple applications but limited hardware resources

26
OS as a Resource Manager
OS must Manage:
• CPU
• Memory
• Network
• GPU
• Secondary Storage
• Other hardware resources in the system

27
OS as a Resource Manager
OS allows sharing CPU

28
OS as a Resource Manager
OS allows sharing Memory

29
OS as a Resource Manager
OS allows sharing but isolation

30
OS as a Resource Manager
Advantages of OS resource management
• Allows multiple applications to share resources
• Protects applications from each other
• Improves performances by efficient utilization of resources

31
PC Hardware
Everything has an address.

32
Address Types
• Memory Addresses
• IO Adresses
• Memory Mapped IO Addresses

33
Memory Addresses
• Range - 0 to size of the RAM
• Where the main memory is mapped data for code, heap,
stack, OS and etc
• Access by load/store instructions

34
Memory Addresses
How the RAM is organised?

Extended Memory

BIOS ROM

16 bit devices
expansion ROMs

VGA Display

Low Memory

35
IO Addresses
• Range - 0 to 2^16 - 1 (65535)
• Used to access devices
• Access by in/out instructions

36
Memory Mapped IO Addresses
• Why?
More spaces
• Devices and RAM share the same space

37
Who Decides the address ranges?
• Standards / Legacy
 Fixed for all PCs
• Plug and Play Devices
 Address range set by BIOS or OS
 A device address range may vary every time system is
restarted

38
PC Organization

39
Thank You.

40

You might also like