Objectives
We would like to :
Notes
- Types of Architectures
- A cpu is the central processing unit.
- A computer may have one or more cpus
- Each CPU may have one or more cores
- Single processor systems generally have a single core.
- These are probably hard to find in general purpose computers these days
- But they exist.
- Multiprocessor systems come in a variety of configurations.
- Multicore single processors are symmetric multiprocessors
A single shared memory, which everything has access to.
- This could also be accomplished by multiple cpus
- The big idea is that all memory is shared and equally accessible.
- This makes it simpler to pass data between processors/processes
- Local cores/processors do have their own cache
- So we would like to keep processes on the same core/cpu
- Other configurations could include
- Non - uniform memory access - NUMA
- Clusters or other distributed systems.
- Generally memory/data exchange is complicated
- because a slower bus or network is involved
- And because more cooperation between processors is required.
- So what do operating systems do?
- We have partially answered this
- But
- Initial system startup
- bios/UART -> Kernel -> Kernel Daemons -> systemd (Running System.)
- We have discussed hardware interrupts (ie someone connecting via the network )
- But there are also software interrupts (system calls/exceptions) which might cause an action.
- In any case, the OS needs to support the creation, scheduling, execution and termination of programs.
- It migh also need to handle process tasks such as
- migration between cpus
- Communications between processes
- Multiprogramming - allowing a queue of programs so that when one needs to pause for resources another can be run
- This is to fully utilize the cpu/cpus/cores ...
- Multitasking - allowing the illusion that all programs are running simultaneously, even when the number of programs exceeds the number of cores.
- Allocating and sharing memory between processes, and even protecting the memory a process has from other processes.
- Providing a file system on removable media.
- Providing protection /security
- Most cpus support at least two modes of operation
- And this is supported at the os level as well
- See the picture on page 25
- Supporting timers
- A hardware element that operates independently of instruction execution
- Can raise an interrupt
- Resources managed
- Processes
- Memory
- File system
- I/O
- Security