Basic Computer System
device controller = unique , because there are many device. it has register + local buffer
all the devices can execute concurrently , competing for memory cycles. Memory Controller synchronize access to memory
Bootstrap Program = the inital program that runs when a computer is powered up or rebooted.
- it is stored in the ROM
- it must know how to load the OS and start executing that system
- it must locate and load into memory the OS kernel.
Interrupt = The occurence of an event is usually signalled by an Interrupt form Hardware or Software. Hardware may trigger an interrupt at any time by sending signal to CPU , usually by the way of the system bus.
when cpu is interrupted , it stops what it is doing and immediately transfer execution to a fixed location where usually contains the starting address where the Service Routine of the interrupt is located. when finished , CPU resumes the interrupted computation.
System Call = Software may trigger interrupt by executing a speical operation called System call.
I/O Structure
device drvier = since device controller is unique in order to communicate with OS or other module we need some uniform interface. device driver is that uniform interface.
1. OS send I/O request to Device
2. device driver loads data to device controller's register that has what cpu needs in this I/O operation and device controller loads data to local data buffer
3. I/O operation complete device driver will inform to OS with interrupt that he finished his job.
Direct Memory Access (DMA) is to handle big data without interrupting CPU, and goes direct to memory. CPU can also do it's job.
Computer System Architecture
1. Single Processor Systems (count only general purpose processor)
- executing general purpose instruction set
- special purpose prcoessors(microprossor for keyborad) are also present which perfom device specific tasks
2. mlutiprocessor Systems
- 2 or more processors. share bus and sometimes clock, memory, devices
- better throughput , economy of scale (shared memory , but more computation) , more reliable
asymmetirc works like kubernetes.
3. clustered Systems
simliar to mutiprocessors systems but they are composed of 2 or more individual systems coupled together.
better reliability , can be structured asymmetrically or symmetrically.