.
, , , , , .
, , () . , .
- () ( , 5 ), USB - 128 .
, , .
Race condition - .
(atomic) , , , , .
, .
(mutual exclusion) , .
(binary semaphore) , , , , ; .
(pipe) (shell) UNIX, .
- , , .
( ) ( ) , , - .
(lightweight process) , , -.
C (script) , .
, .
( , deadlock) , , .
|
|
. , big endian - little endian .
( ) . (, ) .
, , . : , , , . , , , , .
MS DOS . , 640 .
, .
Just-In-Time (JIT) JVM, (native ), Java.
OS/2 , IBM PS /2.
POSIX (Portable Operating Systems of unIX type) , UNIX.
Win32 - (API) Windows 32- .
- (bytecode) Java -, .
(class verifier) JVM, -, .
, .
Java (JVM) , Java -.
(booting) .
(class loader) JVM, .
.
(application programming interface API) - , , .
- .
(micro-kernel) , " ", .. , , .
- , , .
, .
(bootstrap program) , , (ROM) - (BIOS) , , .
|
|
(Process Control Block PCB) , .
(ready) , .
.
( ) - , , .
(admitted) - , ( ).
(terminated) , .
( : activation record, - stack frame, - local data area) , () .
(running) - , .
( ) , , .
(new) - , , .
(waiting) , , , -. .
- (I/O-bound) , -, .
(CPU-bound) , .
, - (device queues) , - ( ).
(ready queue) , , .
(job queue) , .
(context switch) .
(scheduler) - , .
, , .
(control flow) .
- - , .
(data section) ( , ) , , , , , .
(stack) , , , () , .
() , .
(program counter - PC) ; .
Send .
Receive .
() , .
|
|
(marshaling) () .
(indirect communication) , , .
, , .
(direct communication) , (), .
(message queue) () .
(buffer overrun) , .
, -; ; - .
() , , .
(rendezvous) , .
(socket) - , .
(coprocess, coroutine) , resume (Q), . detach.
(Remote Method Invocation RMI) Sun - Java - Java , .
(Remote Procedure Call RPC) Sun - , .
Mac C- threads MacOS.
POSIX Pthreads , POSIX POSIX -.
Solaris threads Solaris.
Thread , , Java.
POSIX -, pthread_attr_t.
(thread group) , , .
POSIX-, pthread_t.
(task) Linux.
(exception) - .
(thread-local storage - TLS) , .
.
/ - , .
/ - , .
|
|
/ , .
(mutex) , , .
(lightweight process) , -.
(thread) - , , -.
(user thread) - , .
(kernel thread) - , ; .
(ThreadPool) . NET.
( UNIX) .
"" (heavyweight) , , .
(conditional variable) - , , wait signal.
(aging) .
(turnaround time) , - .
(waiting time) , , .
(response time) , () .
(starvation) - , .
(Gantt chart) " ", , .
() .
(non-preemptive) , .
(preemptive) , .
(CPU utilization) .
, (, ).
(scheduler) , , , .
(throughput) () , .
() (dispatch latency) , , .
First-Come-First-Served ( ) , , .
Round Robin (RR, ) , .
Shortest Job First (SJF, ) , .
Shortest-Remaining-Time-First (SRTF, ) - , .
CPU / I-O -.
Interleaving , .
() .
|
|
(adaptive mutex) Solaris.
(bakery algorithm) (. ), ().
- (reader-writer lock; rwlock) Solaris " - ".
"" (turnstile) Solaris, , , , -.
" " (spinlock) - Windows 2000, .
, , , .
- "": "" ; ( ) ; , (S).
(race condition) - , () - .
(critical region) , (shared) region, .
: , ; ; ; , .
(dining philosophers) : , . , . : , . . , .
(counting semaphore) - S, wait (S) signal (S).
- (dispatcher object) Windows 2000, ; , .
(bounded buffer): , - -, ; ; .
Burroughs 5000 "": , ; (, 1) .
- , , , .
(condition variable) : condition x, wait signal; x.wait() , x.signal().
-: , : ( , ) ( ). ( ), .
Reserved graph , , , ; .
- , .
- , - .
: .
, , ( - -) ( ).
"" (request edge) - - .
"" (assignment edge) , , -.
(request) - - .
(use) .
(release) .
: , .
: , , .
( reserved graph) , , .
(deadlock) , , - .
: , , , .
: {P0, P1, P0},, P0 , P1; P1 , P2 Pn , P0.
(bankers algorithm) - . .
<P1, Pn>, Pi , , , Pj, j < i.
, .
wait-for - , , Pi Pj, Pi Pj.
(claim edge) , - - , , .
, , .
() , (linking) - .
() , .
, .
- .
- .
(dymanically linked libraries) , , .
(overlay driver) , , .
(execution stub) , , .
(loader) , , , , .
(source code) ( ) .
(linking) , .
- , .
, , .
(overlay) , , .
(relocatable code) , , , .
(relocation register) , , .
(linking) , , .
(linkage editor) e , , .
(linker and loader) - , .
(load-time) , , .
(runtime), () , ; , .
(compile-time) - , .
C , .
, (, .), .
(Memory Management Unit MMU) , ; .
, "" "" .
Roll out / roll in - ; , .
() , (translation lookaside buffer TLB) , .
valid-invalid , , .
, , .
, , .
( , ), .
, .
(compaction) .
, , , n.
, , , n.
, ( , n).
- ; n.
(swap out) - .
(swapping) () () .
(swap in) - .
, .
(page table base register PTBR) , .
() " ": , .
C .
(Effective Access Time - EAT) .
(paging) , , .
, 2, .
(page table) , .
(backing store) - , .
, , , .
.
, , .
- segment-table base register (STBR) , .
- :
< segment -number, offset>, segment -number , offset .
: validation- ( ), , .
() , .
- segment-table length register (STLR) , , .
, .
(segmentation) - , , .. .
- , .
. , .
mmap (memory map) Solaris , .
Thrashing , .
FIFO (First-In-First-Out) - , , .
Least Frequently Used (LFU) , ( ).
Least Recently Used (LRU) , , .
Most Frequently Used (MFU) , ( ).
(second chance) , , , , .
Belady FIFO , .
- , , .
(reference bit) , 0, , 1, .
"valid/invalid" , .
, .
, : .
, , .
(page replacement) , , , , .
(Copy-on-Write) , - , .
(Page Fault Rate) 0 1, .
, .
- , , .
(page fault) .
, .
, .
(segmentation on demand) , , , , .
(paging on demand) , , , , .
, (Memory-Mapped File) , .
, .
(Effective Access Time - EAT) .
Network File System (NFS) .
- , , .
, .
() , , , -.
(File control block - FCB) , .
(, ) - directory, folder , .
(): "" - , , ().
, .
(record) , , .
(Protection) , , .
( "") .
- ( ) .
(data set) - IBM .
(sharing) , .
- .
- , .
(path) , ( ) .
(partition) , ( ).
(back-up) (), flash- , , - (CD, DVD), .
, .
C () "": , ; , .
(mount point) , .
(file) , , .
() "": , .
, .
File-allocation table (FAT) , MS DOS Windows.
NFS (Network File System) - , Solaris.
Veritas File System (Vx-FS) HP-UX (Hewlett-Packard).
(VFS) , - , , .
, , .
- , ; , .
(i-node, superblock) , .
.
(read-ahead) - , .
(free-behind) - , , , .
(extent) - ; .
C , .
, .
- - - , , , - .
(log structured filesystem) - , ; .
PCI (Peripheral Computer Interface) , , , .
SCSI ID SCSI - SCSI- ( 0 9), .
.
(spooling) , , .
- (Direct Memory Access DMA) - -, -.
, .
, ; (COM10, COM15), , .
(host adapter) .
(maskable) , .
, .
, .
( ) - .
-.
(network connection) , , .
() SCSI- SCSI -, SCSI - SCSI ID.
busy-wait , , , .
(bus) - , .
, .