technology >
courses >
ctec1863 >
O/S Architecture
Operating Systems: Architecture and General Theory
Operating System:
a program that acts as an interface between a user of a
computer and the computer hardware
- make the computer system convenient to use
- use the computer hardware in an efficient manner
Task:
an independently-scheduled thread of execution. a.k.a.
process,
thread
Kernel:
the code that is directly responsible for the
tasking model-
i.e., how the CPU's time is allocated.
Microkernel:
A microkernel is an operating
system with only the essential services such as interprocess
communication, short-term scheduling, and memory
management. It basically provides the
process abstraction and a
means for processes to communicate. It is designed to be
portable between computer architectures, using high-level languages
such as C or C++ and reducing the machine-dependent component to
a minimal bottom layer.
The microkernel appears as a layer between the
hardware layer and a layer consisting of system
components called subsystems.
Preemptive Multitasking:
The capability of an operating system to equitably
share CPU time between several well-defined tasks
currently scheduled to run on the system.
Resource Management
An operating system manages resources for applications and
services. (This is its only real purpose in life).
- CPU time sharing
- Memory management
- Hardware (timers, DMA, interrupt controllers, etc.)
Task Management
- Single tasking vs. Multitasking
- Pre-emptive vs. Co-operative
- Context switching
- Single User versus Multiuser
- Hardware state
- Software state
Task Scheduling
- Who, When and How Long?
- Time slicing
- Real time issues!!!
Interrupt Handling
- Hardware interrupt service routines (ISRs)
- Interrupt latency
Interprocess Communications (IPCs)
- Synchronization
- Shared Memory
- Pipes
- Sockets
- Messages
Memory Management
Physical Memory:
memory chips and addresses as accessed by the hardware
Linear Memory:
the address space a program or the operating system
sees (via hardware translation)
Logical Memory:
the memory that programs deal with, based around a
selector
(a 16-bit number that serves as an index to a table)
Memory Model:
- Demand-paged virtual memory (LRU)
- Global Descriptor Table (GDT)
- Local Descriptor Tables (LDTs)
Back to the CTEC1863 page