Transcript sept20

CS 111 – Sept. 20
• Operating Systems
–
–
–
–
definition
origin
responsibilities
relationship with other software
• Commitment:
– Please read pp. 131-137
– Quiz on Wednesday.
Original purpose
• Streamline process of doing jobs on the computer.
• Reduce overhead spent between jobs.
• Batch processing:
– Plan day’s jobs in advance
– Give jobs to a computer operator
– Job Control Language: enter commands to the OS
• Computer operator not practical
– Confidentiality
– Some applications like a game are inherently interactive; require
fast turnaround
Utilization
Historically…
• CPU time used to be very expensive
• 2 ways to run jobs
– Interactively
– In batch mode. This is useful if jobs must complete by some
deadline in a real-time system.
• Time sharing
– Many users, but just 1 expensive machine.
– Do not let any one job monopolize machine.
– Have several jobs running at same time; give each a turn at the
CPU: multi-programming
– Today: 1 user has many jobs per day – use same technique
Kinds of software
• Application – fun & useful stuff for people
– Hearts, Excel, Firefox, e-mail, PPT, …
• System utilities – programs that make the computer
more useful, added features
– Formatting a disk, compress data, play DVD
• OS shell – accept commands from user; display error
message
• OS kernel – major responsibilities; manage resources
• Note: distinctions can be blurred – the distinctions
among the categories are not exact
Responsibilities (1)
• Security
– Require many password combinations
– Penalties for mistake
– Super user & diagnostic tools to detect abnormal activity
• CPU
– Be aware of all currently running programs
– Synchronization: make sure 2 executing programs don’t
interfere with each other
– Scheduling: deciding which program to execute now
• Memory
– Decide which files (or portions of files) should be in RAM
– Virtual memory: shuffle pages in and out of RAM to give illusion
that RAM is bigger than it really is
Responsibilities (2)
• Files
– Maintain folders
– Keep information about each file: name, size, owner, type,
permissions
– User quotas
• I/O and network
– Device drivers
• User interface (shell or GUI)