1/25
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
What is the function of OS
Provides interface between user and hardware
Provides platform for application software
Memory management
File management
Device drivers
Interrupts
Multitasking
Mort than one program open & running same time, processor allocate small amount time each process, cycle between them
File management
Extension to filename tells operating system which application to load files into, OS may present logical structure of files into folders and allow user rename, delete, edit etc.
User management
Allow multiple users log into same computer
OS retains settings each user
Manage access to files and programs
User Interface
WIMP - windows , icons, menus, pointer
Paging
Fixed size
Physical divisions
Program split into given num of pages
Segmentation
Different sizes
Logical divisions
Space large enough, program not split
Virtual memory
Transfer instructions not being used to hard disk when RAM full
Interrupt
If other devices & applications require processor attention, need to signal processor they need attention
How are interrupts handled?
Interrupt service routine is program with instructions needed to be fetched, decoded ,executed to carry out operations of interrupt
This means contents of PC need to be changed to point to the address for the first instruction of the interrupt
How processor know continue previous executing program?
When interrupt received, value held in register copied to stack in stack frame
Interrupt executed
Once complete, remove frame off top of stack allowing to:
Retrieve previous values for original program
Load them back into processor register
Interrupt priority
Hardware
User
Software
Timer
I/O device
Scheduler manages…
Which process execute next
Length time next process can be executed for
FCFS
First come first serve
Processor executed in order arrived
SJF
Shortest job first
Pick process shortest time, runs unit finish
RR
Round robin
Each process allocated fixed amount time - time slice/quantum
SRT
Shortest remaining time
Similar to SJF
SRT is pre-emptive, process can be suspended if higher priority process joins queue
MLFQ
Multiple ready queues based on processing needs
Gives preference to processes with short CPU bursts & processors with high I/O burst
Process blocking
While program running, may require data from hard disk
Slow so process blocked until input request serviced
Next process can enter running state
While this running, first process receive data needed
Now needs to generate interrupt to let scheduler know it can re-join ready queue
Types of OS
Multi-user operating system: Allow more than one person to use computer same time, manage user permissions and access rights when logging in
Distributed operating system: Combine processing power of multiple computers across network for single task
Embedded operating system: Run dedicated hardware so they can run with maximum efficiency, using low-powered processing and little memory
Real time operating system: Designed for immediate data processing, and can ensure tasks are processed in specific timeframes
What happen when computer turned on?
BIOS (Basic input output system) - responsible for load OS when computer first turned on
POST (Power on self test) - checks all hardware needed connected & working
Bootstrap (Boot loader program) - used to load operating system kernel into memory which allow OS take over & boot rest
Device drivers
Software that tells operating system how communicate with devices by translating OS instructions to instructions peripherals can understand
Virtual machine
Program that has same functionality as physical computer, entire operating systems running inside another operating system
Emulators
Trick program into thinking its running on different machine
Virtual servers
Physical server can run several virtual server spread over small num physical servers so if one servers stops working, load can be picked up by different server
Byte code / Intermediate code
Halfway code that allows java code to be run on different devices
Translated by JMV (Java Virtual Machine) on target device which then translates into specific machine code