Title: COP%204610:Introduction%20to%20Operating%20Systems%20CGS%205765:%20Principles%20of%20Operating%20Systems
1COP 4610Introduction to Operating SystemsCGS
5765 Principles of Operating Systems
- Instructor Xiuwen Liu
- Department of Computer Science
- Florida State University
Please pick up the syllabus from the front
2Outline
- Class organization
- Syllabus
- Programming environment at Computer Science
- Introduction to Operating Systems
- A survey
3Class organization
- Class syllabus
- Class web page
- Comments
- Grading
- Academic honor code
- Programs you submitted must be your own
- While discussions of class materials and
assignments are allowed, discussion and copying
of solutions is strictly prohibited.
4Class Email List
- Class email list
- I sent a message with the subject We are going
to have the first recitation on Aug. 27 on
Monday, Aug. 25 - If you have not received the email, or would like
to use another email, please send me an email
with your email address - Some of you did not receive the message because
of problems such as wrong email address in your
record - I will send important announcements through the
mailing list
5Recitation Session
- Recitation session will be taught by the
instructor - You are required to attend the same session as
you registered - Recitation session will focus on
- Questions and answers
- Programming examples
- First recitation session is this Wednesday, Aug.
27.
6Textbook
- You are required to read the chapters in the
textbook - You can skip sections only when specified
- You are NOT required to read programming examples
in the dotted boxes - However, you are required to know programming
examples given in class and those related to
programming projects - You may be tested on the materials in the
textbook but not fully covered in the class - I will specify those sections clearly for self
studying - The majority on quizzes and exams will be covered
in the class
7Textbook - continued
- Some comments on the textbook
- This class focuses on basic principles
- All the programming assignments will be done in
Unix / Linux environment - Comments from amazon.com
8Programming Environment
- linprog consists of four linux machines
- program consists of four Sun workstations
- Three programming assignments must be done on
either linprog or program - Doing the assignments on other machines is not
allowed
9Programming Environment cont.
- Access
- ssh to those machines
- ssh linprog
- ssh program
10Linux/Unix Tutorial
- You are expected to know how to use Linux/Unix
- How to edit a program e.g., emacs, pico, vi
- How to compile a program gcc, g
- How to run a program
- How to navigate through your files cd, mkdir,
mv, rm, rmdir, ls - On-line resources
- Unix Guide
11Expectations
- You are expected to have a strong desire to learn
something new (and may be difficult sometimes) - You are expected to be an Operating System expert
- You are expected to know how to read and
understand manuals - System calls
- Unix commands
12Expectations cont.
- System call manual pages
- Syntax
- Function prototype
- How to call a function
- Semantics
- The meanings of the function
- What it does with different parameter values
- fork example
13System Overview
- A computer system consists of hardware and
software that are combined to provide a tool to
solve specific problems - Hardware includes CPU, memory, disks, printers,
screen, keyboard, mouse ... - Software includes
- System software
- A general environment to create specific
applications - Application software
- A tool to solve a specific problem
14System Overview cont.
15Hardware Resources
- Processor execute instructions
- Memory store programs and data
- Input/output (I/O)controllers transfer to and
from devices - Disk devices long-term storage
- Other devices conversion between internal and
external data representations
16Hardware Resources cont.
17Hardware Interface cont.
- Everything that a programmer needs to know in
order to write programs that perform desired
operation on the hardware - Disk drive is an example
- Disk interface provides functions to move disk
head, transfer data - Monitor
- Monitor interface provides functions to move the
cursor, display characters/graphics
18Software Classification
- System software
- Provides a general programming environment in
which programmers can create specific
applications - Application software
- Intended to solve a specific problem
19Software Classification - continued
20What is an Operating System?
- The operating system is the part of the system
software that manages the use of the hardware
used by other system software and all application
software - It is the system program that acts between the
hardware and the user programs
21What is an Operating System? - continued
- It provides services to user programs
- Through system calls / message passing
- File system services
- Memory services
- I/O services
- It hides hardware from user programs
- When your program shows a message on the monitor,
it does not need to know the details - When your program generates a new file, it does
not need to where the free space is on your hard
drive
22Differences between OS and System Software
- Major differences between OS and general system
software - General system software relies on the
abstractions provided by OS - OS abstracts the hardware directly
- OS provides the fundamental trusted mechanisms
for resource sharing - A general purpose OS is domain-independent
23Operating System Functions
- Resource manager
- manage hardware and software resources
- Resource abstraction and sharing
- A nicer environment
- implement a virtual machine for processes to run
in - A program in execution is called a process
- a nicer environment than the bare hardware
24Resource Management Functions
- Transform physical resources to logical resources
- Resource abstraction
- Make the hardware resources easier to use
- Multiplex one physical resource to several
logical resources - Create multiple, logical copies of resources
- Schedule physical and logical resources
- Decide who gets to use the resources
25Resource Abstraction
- Provides an abstract model of the operation of
hardware components - Like data abstraction in Object-Oriented
programming - Interface functions
- Internal functions and status
26A Disk Device Abstraction
- Three interface functions
- Load(block, length, device)
- seek(device, track)
- out(device, sector)
27A Disk Device Abstraction cont.
- An abstract function for writing
28Resource Abstraction cont.
- Multi-level abstractions
- Disk controller -gt disk driver -gt file system
29Resource Sharing
- Two types of sharing
- Time multiplexed sharing
- time-sharing
- schedule a serially-reusable resource among
several users - Space multiplexed sharing
- space-sharing
- divide a multiple-use resource up among several
users
30Time-multiplexing the Processor
- Called multiprogramming
31Time-multiplexing the Processor cont.
- Resulted in concurrent execution or concurrency
32Time-multiplexing the Processor cont.
- Multiprogramming can improve the overall system
performance
33Space-multiplexing Memory
34Time-multiplexing I/O Devices
35Space-multiplexing the Disk
36Issues in Resource Sharing
- Resource isolation and sharing
- Protection
- Sharing
- Resource allocation
- Scheduling
37Survey
- This survey consists of a few questions
- The purpose is to give me a better knowledge of
your background so that I may do a better job - It will be used as evidence for attendance
- It will not be used for any grading
- We will have the first recitation this week
- This Wednesday, Aug. 27, 2001