Lecture 3: OS Structure Flashcards
6 functions of OS for user
- user interface
- program execution
- file-system manipulation
- I/O operations
- communications
- error detections
3 functions of OS for system
- accounting
- protection and security
- resource allocation
define security
require user authentication to defense external I/O devices from invalid access attempts
define protection
to control access of system resources
Command Line Interface (CLI)
allows direct command entry
- primarily fetch a command in users and execute it
Graphic User Interface (GUI)
user-friendly desktop metaphor interface
- icons represent files, program and action
3 general methods to pass parameters to OS
- in register
- block method (parameter store in block in memory, and the address of block passed as a parameter in register)
- stack method (parameter placed onto a stack and popped off)
5 types of system call
- process control (end, execute, wait event)
- file management (open, close, create, delete)
- device management (read, write, request, release)
- information maintenance (get and set date, time)
- communication (send and receive message, create and delete connection)
define system programs
provide a convenient environment for program development and execution
6 division of system programs
- file manipulation
- file modification
- status information
- communications
- programming language and support
- program loading and execution
- application program
file manipulation
manipulate files and directories
- create, delete, copy, rename
file modification
- text editors to create and modify files
- special command to search content of files
status information
- ask system for information
- provide detailed performance, logging and debugging
- format and print the output to the terminal
communications
to create virtual connections among processes, user, and computer system
- send message to other’s screen
- browse web
program loading and execution
- absolute loader, reallocate loader, linkage editor, debugging system
programming language and support
- provide compiler, assembler, debugger and interpreters
2 goals in designing and implementing OS
User goals
- easy to learn, convenient to use, reliable, fast and safe
system goals
- easy to design, implement and maintain
- flexible, reliable, error-free, efficient
how microkernel system structure works
move as much from kernel space to user space
- communication take place between user modules using message passing
benefits of microkernel system structure
- easier to extend the microkernel
- easier to port the OS to new architecture
- more reliable as less code is store in kernel
- more secure
disadvantages of microkernel system structure
performance may overhead the user space and kernel space communication
virtual machines
- using layered approach
- treat both hardware and software as all hardware
- provide interfaces indentical to underlying hardware
- create illlusion that all process has its own processers and virtual memory
why virtualisation is hard to implement
- exact duplication of underlying machine is needed
- typically run in user modes
- timing is slower than real machine
- hardware support needed
benefits of virtual machine
- file sharing can be controlled and permitted
- multiple execution environment can share the same hardware
- protected from each other
- allow communication with each other via networking
- consolidation of low-resource used program into fewer busier system