CS 111 – Sept. 20 Operating Systems Commitment: 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 CPU Memory 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 I/O and network 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)