Operating System Structure
Operating System Structure
Another set of OS functions exists for ensuring the efficient operation of the
system itself via resource sharing
z Resource allocation - When multiple users or multiple jobs running
concurrently, resources must be allocated to each of them
Many types of resources - Some (such as CPU cycles,mainmemory,
and file storage) may have special allocation code, others (such as I/O
devices) may have general request and release code.
z Accounting - To keep track of which users use how much and what kinds
of computer resources
z Protection and security - The owners of information stored in a multiuser
or networked computer system may want to control use of that information,
concurrent processes should not interfere with each other
Protection involves ensuring that all access to system resources is
controlled
Security of the system from outsiders requires user authentication,
extends to defending external I/O devices from invalid access attempts
If a system is to be protected and secure, precautions must be
instituted throughout it. A chain is only as strong as its weakest link.
(Note that the system-call names used throughout this text are
generic)
C program invoking printf() library call, which calls write() system call
Process control
File management
Device management
Information maintenance
Communications
File modification
z Text editors to create and modify files
z Special commands to search contents of files or perform
transformations of the text
Programming-language support - Compilers, assemblers,
debuggers and interpreters sometimes provided
Program loading and execution- Absolute loaders, relocatable
loaders, linkage editors, and overlay-loaders, debugging systems
for higher-level and machine language
Communications - Provide the mechanism for creating virtual
connections among processes, users, and computer systems
z Allow users to send messages to one another’s screens,
browse web pages, send electronic-mail messages, log in
remotely, transfer files from one machine to another