Each of us gets one extension for any assignments.
The extension is 3 days.
Operating Systems: a layer between humans and any hardware. (It's a very broad term)
Make solving user problems easier
Make tasks easier
And use computer hardware efficiently.
Deal With Hardware
Operating Systems
Applications/Programs
Users
We let the programmers focus on the software.
The operating systems offer easier interfaces for users and programmers.
Operating Systems provide an abstraction
Operating systems are resource managers
Controls Processes
Controls hardware.
Decides which applications get run first.
Kernels Are Privileged: They have so much more permissions than user mode.
Kernels Talk to Hardware: It's an interface between applications/programs and hardware.
Kernels Don't Crash: Kernels are way more stable. If a program crashes, the OS does not.
Kernels Provide Interfaces: Kernels provide kernel mode for programs in user mode.
Interrupts transfer control
There are 3 types of interrupts.
Hardware Interrupts: Asynchronous and may occur at any time
Traps: Software interrupts, raised by a user or program to invoke OS functionality.
Exceptions: Generated automatically by the processor itself via illegal instructions.
Faults: recoverable errors (like: can't load a missing page)
Aborts: Difficult to recover (like dividing by zero; a program is often terminated)
Several types of storage exist:
Fast for random access, but typically volatile
Large capacity, but slow. A disk controller interfaces between the CPU and disk..
Copies information to faster units.
CPUs are so fast. RAM is slower.
CPUs have SRAM (Think Silicone RAM) which is super super expensive, but way faster.
Modern processors are really good at deciding what should go in the Cache.
More Cache is advantageous.
L1 is Cache is the fastest, but smallest.
L2 and L3 has a little more space, but is a bit slower. It's still faster than memory.
Each type of storage serves a different purpose. For example, hard drives are slower (left), but hold far more information than quick hardware registers (right).
We have to balance:
Speed
Cost
Volatility (how long can data stay on the device?)
The CPU communicates with the memory.
The CPU loads instructions from memory.
Processes are made up of sets of instructions from instructions.
Learn more about processes in lecture 2
Most systems use a single general-purpose processor.
Advantages of multi-processors
Increased throughput
Economy of scale
Increased reliability: graceful degradation or fault tolerance
Each processor is assigned a specific task.
Each processor performs all tasks