Group: file system
Group: memory management
Topic: device driver
Topic: extensible systems
Topic: multi-user systems
Topic: operating system kernel
Topic: owned resources and data objects
Topic: user-centered operating system
Topic: Unix pipes
Group: computer hardware
Group: distributed systems
Group: input/output
Group: parallel processing
Group: security
Group: systems
Topic: computer architecture
Topic: decomposition of a system into levels
Topic: information as a hint
Topic: interprocess communication
Topic: non-preemptive task scheduling
Topic: open systems
Topic: operating system security
Topic: programming system
Topic: software portability
| |
Summary
Operating systems serve several functions: to isolate the user from difficult I/O protocols and timing constraints, to give uniform reference to storage files, to provide frequently required functions, to provide a clean machine interface, to fairly schedule multi-user environments, and to provide mechanisms for interfacing or combining user programs. The operating system may include an optimized kernel for frequently used operations.
Operating systems come at a high cost; both in resources and in internal complexity. This cost is worthwhile if the system matches its environment, is small, and performs only the actions required. One of the most successful operating systems has been UNIX developed at Bell Labs. This is largely due to its powerful user interface. (cbb 5/80)
Subtopic: OS layers
Quote: the goal of an operating system is insensitivity to indeterminism; via layers that are insensitive to proceeding layers [»dijkEW2_1971]
| Quote: structure an operating system as layers of insensitive, abstract machines
| Subtopic: modeling
Quote: build model-extraction algorithm from getstate(), setstate(), and getallstates(); for each state, determine effect of each system call [»chenH8_2002]
| Quote: build a finite state model by 1) identifying states as kernel variables and 2) finding transitions by trying every system call; collapse equivalent states [»chenH8_2002]
| Subtopic: distributed OS
Quote: Inferno provides a complete operating system with identical, distributed applications on a wide variety of machines [»dorwSM1_1997]
| Subtopic: performance
Quote: should build a computer system so that it has a good performance model [»dennPJ9_1980]
| Subtopic: high-level language
Quote: an operating system should be written in a high-level language for portability [»ritcDM7_1978b]
| Quote: operating system research influenced C++: protection from access rights, initialization from capabilities, const from read/write access protection, exception handling from fault-tolerant systems [»stroB_1994]
| Quote: write an operating system with a high-level language and a system nucleus
| Quote: use the full ASCII character set within an operating system; simplifies input routines and avoids preconceived notions [»stoyJE3_1972]
| Subtopic: program activations tied together by disk files
Quote: most operating systems run sequence(s) of program activations; free resources and store data in disk files between activations [»wirtN9_1989]
| Subtopic: boot initialization
Quote: use system initialization code to insert trap doors as the system is booted; initialization is complex and poorly understood [»kargPA6_1974]
| Subtopic: global variables vs. files
Quote: Oberon's interface between consecutive commands is primarily global variables; efficient and flexible; storage reclamation more difficult [»wirtN9_1989]
| Subtopic: user management
Quote: each OS6 user has a name, unique number, and index; user may 'log in'; includes maximum disk allocation [»stoyJE3_1972]
| Subtopic: resource management
Quote: with memory placement arguments, 'new' can assist with general resource management
| Quote: resource acquisition is initialization: resources released in reverse order of acquisition, and exceptions release allocated resources [»stroB_1994]
| Quote: resource acquisition is initialization. Resources, like objects, are released in the reverse order of their acquisition; works well with exception handling [»stroB_1991]
| Quote: on resource exhaustion, do not attempt to allocate needed resources and resume. It leads to complicated interactions between a library and its users
| Quote: all operating system resources must be accounted for [»shapJS1_2002]
| Subtopic: UNIX
Quote: Unix virtual address space: shared, write-protected program text, non-shared data, and stack at high end [»ritcDM7_1978a]
| Quote: 1000 UNIX systems even though it was developed by two people in an attic in a year [»kernBW1_1979]
| Subtopic: manual OS
Quote: users punched their own tape and hanged the tape with a ticket on a horizontal wire; the operator processed the tapes in order [»wilkMV_1951]
| Subtopic: problems of traditional operating systems
Quote: a traditional operating system cannot solve the problem of maximizing the performance of a given hardware system [»bailGV8_1977]
| Quote: an operating system erects barriers between users so that each has a private address space without interferences or contributions [»coxBJ1_1983]
| Quote: a single machine operating system is like a centrally planned economy; a distributed o.s. is like a free market [»cherDR4_1984]
|
Group: operating system
Group: file system (9 topics, 305 quotes)
Group: memory management (11 topics, 367 quotes)
Topic: device driver (15 items)
Topic: extensible systems (22 items)
Topic: multi-user systems (4 items)
Topic: operating system kernel (67 items)
Topic: owned resources and data objects (12 items)
Topic: user-centered operating system (24 items)
Topic: Unix pipes (10 items)
Related Topics
Group: computer hardware (24 topics, 343 quotes)
Group: distributed systems (14 topics, 348 quotes)
Group: input/output (4 topics, 74 quotes)
Group: parallel processing (41 topics, 1125 quotes)
Group: security (23 topics, 874 quotes)
Group: systems (17 topics, 530 quotes)
Topic: computer architecture (46 items)
Topic: decomposition of a system into levels (49 items)
Topic: information as a hint (18 items)
Topic: interprocess communication (29 items)
Topic: non-preemptive task scheduling (16 items)
Topic: open systems (33 items)
Topic: operating system security (18 items)
Topic: programming system (9 items)
Topic: software portability (43 items)
|