COMP314 Operating Systems Unit 1 Flashcards
Central Processing unit (CPU)
The central processing unit is the brain of the computer. It Handles all the instructions you give your computer. It preforms the basic arithmetic, logical, and input/output operations of the computer. The typical CPU has a number of components
Memory and RAM (and DRAM)
There are two types of RAM:
DRAM (Dynamic Random Access Memory)
SRAM (Static Random Access Memory)
DRAM is the most common type. In terms of speed though SRAM is faster. DRAM needs to be refreshed thousands of times per second where SRAM does not need to be refreshed which is what makes it faster than DRAM. The term RAM is synonymous with main memory, the memory available to programs. For example, a computer with 8MB of RAM has approximately 8 million bytes of memory that programs can use.
Firmware and ROM (EEPROM)
They are a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM (Read Only Memory) can only be modified slowly, with difficulty, or not at all, so it is mainly used to store firmware (Software that is closely tied to specific hardware). Once data has been written on to a ROM Chip, it cannot be removed and can only be read. Unlike main memory (RAM) ROM retains its contents even when the computer is turned off. ROM is referred to as non volatile. EEPROM is a special type of programmable read-only memory that can be erased by exposing it to an electrical charge. It is also non volatile as it retains its contents when the computer is off. EEPROM is not as fast as RAM. Firmware is a combination of software and hardware that have data or programs recorded on them.
Firmware and ROM (EEPROM)
They are a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM (Read Only Memory) can only be modified slowly, with difficulty, or not at all, so it is mainly used to store firmware (Software that is closely tied to specific hardware). Once data has been written on to a ROM Chip, it cannot be removed and can only be read. Unlike main memory (RAM) ROM retains its contents even when the computer is turned off. ROM is referred to as non volatile. EEPROM is a special type of programmable read-only memory that can be erased by exposing it to an electrical charge. It is also non volatile as it retains its contents when the computer is off. EEPROM is not as fast as RAM. Firmware is a combination of software and hardware that have data or programs recorded on them.
Input / Output (I/O) devices
This term is used to describe any program, operation or device that transfers data to or from a computer or to or from a peripheral device. Every transfer is an output from one device and input to another. Devices such as keyboards and mouses are input devices only while printers are output only.
Instruction - execution cycle
The basic operation of a computer is called the “fetch-execute” cycle. The computer fetches the instruction from its memory and then executes it. The first step the fetch-execute cycle carries out is fetching the instruction. The CPU fetches this from main memory (the hard drive) and stores it in the CPU temporary memory, the immediate access store (the registers). Once the instruction has been fetched, the CPU will need to understand the instruction to action it. This is called decoding. When the instruction has been decoded. The CPU can carry out the action that is needed. This is called executing the instruction. The CPU is designed to understand a set of instructions. The instructions set.
Instruction register
Is part of the CPU’s control unit that stores the instruction currently being executed or decoded. In simple processors each instruction to be executed is loaded into the instruction Register which holds it while it is decoded, prepared and ultimately executed, which can take several steps.
Storage device hierarchy
The range of memory and storage devices within the computer system. The following list starts with the slowest devices and ends with the fastest.
Very Slow: Punch cards (obsolete), Punched paper tape (obsolete)
Faster: Bubble Memory (obsolete), Floppy Disks (obsolete)
Much Faster: Magnetic tape, Optical discs(CD, DVD, MO, etc.) Magnetic disks, Low speed bulk memory
Fastest: Flash Memory, Main Memory(DRAM), Cache memory(SRAM), microcode, Registers.
Small computer-systems interface (SCSI)
SCSI is a set of parallel interface standards for attaching printers, disk drives, scanners and other peripherals to computers. It is supported by all major operating systems. SCSI is fast up to 320MBs per second. It’s been around for more than 20 years and it’s been thoroughly tested, so it has a reputation for being reliable. Like a Serial ATA and FireWire, it let’s you put multiple items on one bus. SCSI also works with most computer systems.
Direct Memory Access (DMA)
Is a technique for transferring data from main memory to a device without passing through the CPU. Computers have DMA channels which can transfer data to and from devices much more quickly than computers without a DMA channel. This is useful for making quick backups and for real-time applications. Some expansion boards, such as CD-ROM cards are capable of accessing the computers DMA channel. When you install the board you must specify which DMA channel is to be used, which sometimes involves setting a jumper or DIP switch.
Device Driver
Is a program that controls a particular type of device that is attached to your computer. There are device drivers for printers, displays, CD-ROM readers disk drives. When you purchase a computer many device drivers are built into the product. However, if you purchase another device that the computer did not anticipate, you’ll have to install a new device driver. A device driver essential converts the more general input/output instructions of the operating system to. Messages that the device can understand.
Multiprocessor system (Parallel Systems)
A Multiprocessor System refers to the use of two or more CPU’s within a single computer system. These multiple CPU’s are in close communication sharing the computer bus, memory and other peripheral devices. These Systems are used when very high speed is required to process a large volume of data. Multiprocessing System is based on the symmetric multiprocessor model, in each processor is assigned a specific task. A master processor controls the system. Multiprocess systems prove more reliable in the situations of failure of one processor. In this situation the system with a multiprocessor will not halt the system it will only slow it down.
Symmetric multi-processing (SMP)
Is where each processor runs an identical copy of an operating system and these copies communicate with each other.
Uniform memory Access (UMA)
Is a shared memory architecture used in parallel computers in parallel computers. All the processors in the UMA model share the physical memory uniformly. In UMA architecture access time to a memory location is independent of which processor makes the request or which memory chip contains the transferred data, each processor may have a private cache.
Non-Uniform memory Access (NUMA)
Is a method of configuring a cluster of microprocessors in a multiprocessing system so they can share memory locally, improving performance and the ability of the system to be expanded. NUMA is used in symmetric multiprocessing (SMP) system. An SMP system is a tightly-coupled share everything system in which multiple processors working under a single operating system. Access each other’s memory over a common bus. A limitation of SMP is that as microprocessors are added the shared bus gets overloaded and becomes a performance bottleneck.
Multiple computing Cores
A multi-core processor is an integrated circuit to which two or more processors have been attached for enhanced performance, reduced power consumption, and more efficient simultaneous processing of multiple tasks. A dual core set-up is somewhat comparable to having multiple, separate processors installed in the same computer, but because the two processors are actually plugged into the same socket, the connection between them is faster.
Blade Server
A server Architecture that houses multiple server modules (blades) in a single chassis. It is widely used in datacenters to save space and improve system management. Either self-standing or rack mounted, the chassis provides the power supply, and each blade has its own CPU,RAM and storage. Redundant power supplies may be an option. Blade Servers generally provide their own management systems and may include a network storage switch.
Clustered System
Consists of a set of loosely or tightly connected computers that work together so that in many respects can be viewed as a single system. Computer clusters have a each not set up to perform the same task controlled and scheduled by software. The components of a cluster are usually connected toe each other through fast local Area Networks with each node (computer used as a Server) running its own instance of an operating system. They are usually deployed to improve performance and availability over that of a single computer, while typically being much more cost-effective than single computers of comparable speed or availability.
Beowolf Clusters
Is a computer cluster of what are normally identical computers networked in a small local area network with libraries and programs installed which allow processing to be shared among them. The result is a high performance parallel computing cluster from inexpensive personal computer hardware.
Storage-area networks (SANs)
Is a network which provides access too consolidated, block level data strorage. SANs are primarily used to enhance storage devices, such as disk arrays, tape libraries, and optical jukeboxes, accessible to servers so that the devices appear to the operating system as locally attached devices.
Why are operating systems important for computer systems?
An Operating system is the most important software that runs on a computer. It manages the computer’s memory and processes. As well as all of its software and hardware. It also allows you to communicate with the computer without knowing how to speak the computers language.
How can you run a program on a computer system that has no operating system (e.g., a micro controller system)?
You cannot run a program that was written to be run in an operating system. You could write a program that runs without an operating system but it would be very difficult mainly because the operating system provides all the drivers for the hardware. Without an O/S your program would have to drive the specific hardware directly. Not all hardware makers release details of how to do this (e.g.,nvidia) but only provide drivers for specific Operating Systems. You would also have the problem of how to get the computer to load and run on layout program. With most desktop computers you would have to place the program where the BIOS would expect to find an O/S loader.
Micro controllers
With microcontrollers in general, it is good to know that these little chips are found everywhere. You can find them in microwaves, new appliances, automobiles, televisions, etc. These microcontrollers control and sense the surrounding electronics and environment. For example, microcontrollers can provide output to a display, motor, LEDS, etc.
How is an instruction executed on a computer system with a von Neumann architecture?
A typical instruction – execution cycle, as executed on a system with Von Neumann Architecture, first fetches an instruction from memory and stores a that instruction in the instruction register. The instruction is then decoded and may cause operandi to be fetched from memory and stored in some internal register.
How does interrupt-driven I/O work through the relevant device controller and device driver?
If there are no processes to execute, no I/O devices to service, and no users to whom to respond, an operating system will sit quietly, waiting for something to happen. Events are almost always signalled by the occurrence of an interrupt.
What are the three main purposes of an operating system?
The three main purposes are
- To provide an environment for a computer user to execute programs on computer hardware in a convenient and efficient manner.
- To allocate the separate resources of the computer as needed to solve the problem given. The allocation process should be as fair and efficient as possible.
- As a control program it serves two major functions:
1. supervision of the execution of user programs to prevent errors and improper use of the computer, and
2. Management of the operation and control of I/O devices.
We have stressed the need for an operating system to make efficient use of the computing hardware. When is it appropriate for the operating system to forsake this principle and to “waste” resources? Why is such a system not really wasteful?
Single-user systems should maximize use of the system for the user. A GUI might “waste”CPU cycles, but it optimizes the user’s interaction with the system.
What is the main difficulty that a programmer must overcome in writing and operating system for a real-time environment?
The main difficulty in keeping the operating system within the fixed time constraints of an real-time system. If the system does not complete a task in a certain time frame, it may cause a breakdown of the entire system it is running. Therefore when writing an operating system for a real-time system. The writer must be sure that his scheduling schemes don’t allow response time to exceed the time constraint.
Keeping in mind the various definitions of operating system, consider whether the operating system should include applications such as Web browsers and mail programs. Argue both that it should not and support your answers.
an argument in favour of including popular applications with the operating systems is that if the application is embedded within the operating system, it is likely to be better able to take advantage of features in the kernel and therefore have performance advantages over an application that runs outside the kernel. Arguments against embedding applications within the operating system typically dominate however: (1) The applications are applications - and not part of the operating system, (2) any performance benefits of running within the kernel are offset by security vulnerabilities, (3) it leads to a bloated operating system.
How does the distinction between kernel mode and user mode function as a rudimentary form of protection (security) system?
The distinction between kernel mode and user mode provides a rudimentary form of protection in the following manner. Certain instructions could be executed only when the CPU is in Kernel mode. Similarly, hardware devices could be accessed only when the program is executing in kernel mode. Control over when interrupts could be enabled or disabled is also possible only when the CPU is in kernel mode. Consequently, the CPU has a very limited capability when executing in user mode, thereby enforcing protection of critical resources.
Which of the following instructions should be privileged? A. Set value of timer. B. Read the clock. C. Clear memory. D. Issue a trap instruction. E. Turn off Interrupts. F. Modify entries in device-status table. G. Switch from user to kernel mode. H. Access I/O device
The following operations need to be privileged. Set value of timer. Clear memory. Turn off interrupts. Modify entries in device-status table Access I/O device. The rest can be performed in user mode.