A computer system may be organized in a number of different ways, which we will be reviling in this course . A modern general purpose computer system consists of one or more Central Processing Unit CPUs and a number of devices controllers connected through a common bus that provides access to shared memory ,. Each device controller is in charge of a specific type of device (for example disk drivers, audio devices and video displays). The CPU and the device controllers can execute concurrently, competing for memory cycles. To ensure orderly access to shared memory, a memory controller is provided which function is to synchronize access to the memory . Exercises:
For a computer to start running it needs to have an initial program to run . This initial program tends to be simple. Typically, it is stored in read-only memory (ROM) or electrically erasable programmable read-only memory (EEPROM),. It initializes all aspects of the system, from CPU registers to device controllers to memory contents. The bootstrap program must know how to load the operating system and to start executing that system. The bootstrap program must locate and load the operating-system kernel into memory .
The occurrence of an event is usually signaled by an interrupt . An interrupt is a signal sent by another device to the CPU. Hardware may trigger an interrupt at any time by sending a signal to the CPU, usually by way of the system bus. On the other hand software may trigger an interrupt by executing a special operation called system call.
Although single-processor systems are most common, multiprocessor systems are growing in importance. Multiprocessor systems have three main advantages like increased throughput, economy of scale and increased reliability. The multiple-processor systems in use today are of two types. Some systems use asymmetric multiprocessing, in which each processor is assigned a specific task. This scheme defines a master-slave relationship. The master processor schedules and allocates work to the slave processors. The most common systems use symmetric multiprocessing (SMP), in which each processor performs all tasks within the operating system. SMP means that all processors are peers and no master-slave relationship exists between processors ,.
Another type of multiple-CPU system is the clustered system. Like multiprocessor systems, clustered systems gather together multiple CPUs to accomplish computational work. Clustered systems differ from multiprocessor system in that they are composed of two or more individual systems coupled together. Clustering can be structured asymmetrically or symmetrically. In asymmetric clustering, one machine is in hot-standby mode while the other is running the applications ,.
Storage is only one of many types of I/O devices within a computer. A large portion of operating system code is dedicated to managing both input and output, because of its importance to the reliability and performance of a system and because of varying nature of the devises. A general-purpose computer system consists of CPUs and multiple device controllers that are connected through a common bus. Each device controller is in charge of a specific type of device. Depending on the controller, there may be more than one attached devices. For instance, seven or more devices can be attached to the small computer-systems interface (SCSI) controller . To solve problem of small amounts of data the direct memory access (DMA) is used . Some high-end systems use switch rather than bus architecture. On these systems, multiple components can talk to other components concomitantly, rather than competing for cycles on a shared bus.
Computer programs must be in main memory to be executed (called random-access memory, RAM). Main memory is the only large storage area that the processor can access directly. It commonly is implemented in a semiconductor technology called dynamic random-access memory (DRAM), which forms an array of memory words. Ideally, we want the programs and data to reside in main memory permanently, but it is not possible because the main memory is usually too small to store all needed programs and data permanently, and main memory is a volatile storage device, that loses its contents when power is turned off. Thus, most computer systems provide secondary storage as an extension of main memory. The main requirement for secondary storage is that it must be able to hold large quantities of data permanently. The most common secondary-storage device is a magnetic disk, which provides storage for both programs and data. Most programs are stored on a disk until they are loaded into memory. The wide variety of storage systems in a computer system can be organized in a hierarchy according to speed and cost .
1. How does the CPU know when the memory operations are complete?
2. What is the purpose of interrupts? What are the differences between a trap and an interrupts?
3. What are the tradeoffs inherent in handheld computers?