CSE 7343/5343, Spring 2003
Topic 1: Introduction and History
Prof. Jeff Tian, CSE/SoE/SMU, Dallas, TX 75275
tian@engr.smu.edu; www.engr.smu.edu/~tian/class/7343.03s
- Dates: 1/14/03 and 1/16/03.
- Reading: Ch1, Ch2 (very briefly), Ch3.
General information about CSE 5343/7343
- General course information: See the online
syllabus for the following information:
- objective
- professor/office hours/etc.
- textbook
- course work and grading
- rules and responsibilities
- topics and schedule
- what you will learn: OS and Sys S/w
- what is OS?
- what you will not learn: details of specific OS's
- what you are expected to know already:
- general CS knowledge (CSE 2353, 3358 etc.)
- programming knowledge: (as in CSE 1341 and 2341)
- computer organization/architecture (Ch2, and CSE 2340)
- what are the followups:
- Advanced OS (CSE 8343)
- other advanced course in CS/CpE/SE programs
What is OS
- what is a computer system?
- hardware + software (+ network)
- hardware = ?
computation + storage + interface
- software = ?
purpose, language, development
- layered structure
- OS as part of a computer system
- layers or hierarchies: Fig. 1.1 (p.4)
alternative view: wrapped around ("onion")
- main functions?
to upper layer: service provider, convenience + usability
to lower layer: resource manager, correctness + efficiency
- historical perspectives on its main functions
shifting focus
- where does it fit in?
- what does it contain?
topics to be covered in CSE 5343/7343
History and Structure of OS
- many features, evolved over time
- connection to hardware technology/computer architecture?
- time-line?
- components and organization: computer architecture, Ch2
process/CPU management
memory and storage management
- connection to software technology?
- language and compiler
- development technology
- shifting focus
- general: single user -> batch -> time sharing
- diversity: parallel, real-time, distributed OS
- OS services and features
- basic execution and resource management
- human/machine interface:
command interpreter (high level) and
system calls (low level)
- implication of multiprogramming:
protection and security, IPC, etc.
- feature migration (& timeline): Fig. 1.6 (p.20)
- services listed in Ch3.2:
primary: execution, I/O, files, communication, error detection
secondary: resource allocation, accounting, protection
- OS structure
- many components: process, memory, I/O, IPC, etc.
how to organize them? => OS structure
- simple (not-much) structure: DOS, original UNIX
- layered approach
connection to software technology SD/SP
use of kernels
API defined by system calls
Mach and microkernel
basic idea: support/dependencies/divide-and-conquer
- OS structure diagrams: Fig 3.6 - 3.10 (pp.75-80)
- virtual machine concept Fig 3.11, p.81
- Java virtual machine Fig 3.12, p.85
Prepared by Jeff Tian
(tian@engr.smu.edu).
Last update Jan. 17, 2003.