Lecture 1 - 23SU - Operating System Introduction
Lecture 1 - 23SU - Operating System Introduction
CPSC8735-04-23SP
LECTURE 1
Operating system manages all software and hardware on the computer. It performs
OPERATING basic tasks such as file, memory and process management, handling input and
output, and controlling peripheral devices such as disk drives and printers.
SYSTEM
INTRODUCTION
Batch OS
Mainframe: payroll system
Bank statement system
Time-sharing OS
Unix, Linux,Windows NT
AIX, Solaris
• Storage Structure
BASICS OF OPERATING SYSTEM 5
• I/O Structure
• Storage is only one of many types of I/O devices within a computer
• A large portion of operating system code is dedicated to managing I/O, because of the importance
of the reliability and performance of a computer system and the varying nature of the devices.
• A computer system consists of CPUs and multiple device controllers that are connected through a
common bus.
• Each device controller is in charge of a specific type of device.
• The device controller maintains 1) Local Buffer Storage and 2) a set of special purpose registers.
• Typically, operating system have a device driver for each device controller.
• Device driver is software. It understands the device controller and presents an interface between
the device and the rest of operating system.
Device Driver and Device Controller
COMPUTER SYSTEM ARCHITECTURE 1
Clustered Systems
• Like multiprocessor systems, clustered systems gather multiple CPUs to accomplish
computational work.
• However, they are composed of two or more individual systems coupled together.
• They provide high availability.
• They can be structured asymmetrically or symmetrically.
o Asymmetrical – hot-standby configured. The standby system monitors the hot-running
system.
o Symmetrical – hot-hot configured. The systems monitor each other.
• The systems can be hardware clustered (to enable high-performance disk sharing)
or software clustered (to allow all systems working together).
OPERATING
SYSTEM SERVICES
process
• Mem.c
• Allocate a chunk of memory
thru ‘malloc()’ to P
• Print the address of memory
stored in p
• Zero out the value of P
• Enter into a loop
• Increment value of pointer P
PID
• Thread.c
• Create two threads p1, p2
• Two threads print the initial
value of counter
• Each thread loops x times
concurrently
• After loop, two threads print
again the value of counter
Concurrency:
Shared counter
Protection
• Io.c
• Open a file (return a file
descriptor)
• Writing data over
• Close the file descriptor and
complete writing emacs –nw io.c //create a new file io.c
gcc –o io io.c //compile file io.c to executable io
• The file can be shared
./ io // execute object file
https://www.youtube.com/watch?v=FZR0rG3HKIk&ab_channel=IBMTechnology
LAB & HOMEWORK
INSTALLING KALI LINUX ON WINDOWS OR
MAC OS
• Firstly, install a hypervisor. Popular hypervisors are VMware Fusion, Parallel Desktop, Oracle
VirtualBox, and VMware Workstation. You download a free version into your laptop (for
example, I downloaded free VMware Fusion for my Mac). VirtualBox is free. Some licensed
version such as VMware workstation pro may grant you free access to the students (version
16) or give you certain days trial (latest version 17).
• Then you install Kali Linux on your hypervisor. Here is the YouTube video showing how to
install Kali Linux on VMware workstation on windows:
https://www.youtube.com/watch?v=cT1wxs6rNrE&ab_channel=Tutorials4view
• This YouTube video shows how to install Kali Linux on VirtalBox:
https://www.youtube.com/watch?v=r64S3ivdNRo&ab_channel=GEEKrarGuides
REFERENCE