Please enable JavaScript.
Coggle requires JavaScript to display documents.
Operating System Structures (Functions (File-system manipulation (Read,…
Operating System Structures
Services
Provide
Environment
Program execution
To
Programs
Users
Functions
Communications
Exchange information
Error detection
Occurs in
CPU
Memory hardware
I/O devices
User programs
Take appropriate action
Enhance effeciency
File-system manipulation
Read
Write
Create
Delete
Resource allocation
When multiple
Users
Jobs
I/O operations
Accounting
Keep track of
Users
Resources
Program execution
Load
Program
Run
End
Protection & Security
Protection
Control
System resource access
Security
User authentication
Defend
External I/O
from
Invalid access attempts
User interface
CLI
implemented in
kernel
system program
multiple flavors
AKA shells
keyboard interface
GUI
desktop interface
mouse
keyboard
monitor
icons
files
programs
actions
invented
Xerox PARC
example
Microsoft
GUI interface
CLI shell
Apple
GUI interface
UNIX kernel (CLI)
Solaris
CLI interface
optional GUI interface
System calls
Usually in HLL
accessed
#
using
Application Program Interface
WIn32
Windows
POSIX
Linux
UNIX
Mac OS
Java
Java virtual machine (JVM)
implementation
interface
invokes
intended system call
OS kernel
returns
status
return values
indexed table
caller
oblivious
just obey
OS interface
hidden by
API
managed by
run-time support library
parameter passing
methods
registers
simplest
block/table
no limit
parameter
length
number
stack (pushed)
types
process control
get process attributes, set process attributes
wait for time
create process, terminate process
wait event, signal event
load, execute
allocate free memory
end, abort
files management
open file, close file
read, write, reposition
create file, delete file
get and set file attributes
device management
request device, release device
get device attributes, set device attributes
read, write, reposition
logically attach or detach devices
information maintanence
get system data, set system data
get and set process file, or device attributes
get time or date, set time or date
communications
send, receive messages
transfer status information
create, delete communication connection
attach and detach remote devices
Examples
MS-DOS
single-tasking
shell
invoked when
system booted
reloaded when
program exits
single memory space
process
not created
simple method
loads program into memory, overwriting all but kernel
Free BSD
mulititasking
shell
invoked when
user login
executes
fork()
create process
exec()
load program into process
waits for process to terminate
or continues user commands
program exits when
0
no error
0
error code
system programs
functions
convenient environment
program development
program execution
types
file modification
text editors
create
files
modify
query
programming-language support
assemblers
debuggers
compilers
interpreters
status information
ask for system info
available memory
disk space
time
number of users
date
detailed performance
logging
debugging
program loading and execution
relocatable loaders
overlay loaders
absolute loaders
linkage editors
debugging systems
machine language
HLL
file management
general manipulation
directories
files
communications
create virtual connections
users
computer systems
processes
design & implementation
start by
defining
goals
specifications
affected by
system type
hardware choice
goals
user
reliable
safe
learning curve
fast
convenience
system
implementation
maintenance
design
flexible
reliable
error-free
efficient
structures