COMP314 Operating Systems Unit 1 Flashcards

1
Q

Central Processing unit (CPU)

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Memory and RAM (and DRAM)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Firmware and ROM (EEPROM)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Firmware and ROM (EEPROM)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Input / Output (I/O) devices

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Instruction - execution cycle

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Instruction register

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Storage device hierarchy

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Small computer-systems interface (SCSI)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Direct Memory Access (DMA)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Device Driver

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Multiprocessor system (Parallel Systems)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Symmetric multi-processing (SMP)

A

Is where each processor runs an identical copy of an operating system and these copies communicate with each other.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Uniform memory Access (UMA)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Non-Uniform memory Access (NUMA)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Multiple computing Cores

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Blade Server

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Clustered System

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Beowolf Clusters

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Storage-area networks (SANs)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Why are operating systems important for computer systems?

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

How can you run a program on a computer system that has no operating system (e.g., a micro controller system)?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Micro controllers

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

How is an instruction executed on a computer system with a von Neumann architecture?

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

How does interrupt-driven I/O work through the relevant device controller and device driver?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

What are the three main purposes of an operating system?

A

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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

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?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

What is the main difficulty that a programmer must overcome in writing and operating system for a real-time environment?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

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.

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

How does the distinction between kernel mode and user mode function as a rudimentary form of protection (security) system?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q
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
A
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Some early computers protected the operating system by placing it in a memory partition that could not be modified by either the user job or the operating system itself. Describe two difficulties that you think could arise with such a scheme.

A

The data required by the operating system (passwords, access controls, accounting information, and so on) would have to be stored in or passed through unprotected memory and thus be accessible to unauthorized users.

33
Q

Some CPUs provide for more than two modes of operation. What are two possible uses of these multiple modes?

A

Although most systems only distinguish between user and kernel modes , some CPUs have supported multiple modes. Multiple modes could be used to provide a finer-grained security policy. For example, rather than distinguishing between user and kernel mode.Perhaps users belonging to the same group could execute each other’s code. The machine would go into a specified mode when one of these users was running code. When the machine was in this mode, a member of the group could run code belonging to anyone in the group.
Another possibility would be to provide different distinctions within kernel code. For example, a specific mode could allow USB device drivers to run. This would mean that USB devices could be serviced without having to switch to kernel mode, thereby essentially allowing USB drivers to run a quasi-user/kernel mode.

34
Q

Timers could be used to compute the current time. Provide a short description of how this could be accomplished.

A

A program could use the following approach to compute the current time using timer interrupts. The program could set a timer for some time in the future and go to sleep. When it is awakened by the interrupt, it could update its local state,which it is using t keep track of the number of interrupts it has received thus far. It could then repeat this process of continually setting timer interrupts and updating its local state when the interrupts are actually raised.

35
Q

Give two reasons why caches are useful. What problems do they solve? What problems do they cause? If a cache can be made as large as the device for which it is caching (for instance, a cache as large as a disk), why not make it that large and eliminate the device?

A

Caches are useful when two or more components need to exchange data, and the components perform transfers at different speeds. Caches solve the transfer problem by providing a buffer of intermediate speed between the components. If the fast device finds the data it needs in the cache, it need not wait for the slower device. The data in the cache must be kept consistent with the data in The components. If a component has a data value change, and the datum is also in the cache, the cache must also be updated. This is especially a problem on multiprocessor systems where more than one process may be accessing datum. A component may be eliminated by an equal-sized cache, but only if: (a) the cache and the component have equivalent state-saving capacity (that is, if the component retains its data when electricity is removed, the cache must retain data as well), and (b) the cache is affordable, because faster storage tends to be more expensive.

36
Q

Distinguish between the client -server and peer-to-peer models of distributed systems.

A

The client-server model firmly distinguishes the roles of the client and server. Under this model, the client requests services that are provided by the server. The peer-to-peer model doesn’t have such strict roles. In fact, all nodes in the system are considered peers and thus may act as either clients or servers– or both. A node may request a service from another peer, or the node may in fact provide such a service to other peers in the system.
For example, let’s consider a system of nodes that share cooking recipes. Under the client-server model, all recipes are stored with the server. If a client wishes to access a recipe, it must request the recipe from the specified server. Using the peer-to-peer model, a peer node could ask other peer nodes for the specified recipe. The node (or perhaps nodes) with The requested recipe could provide it to the requesting node. Notice how each peer may act as both a client (i may request recipes) and as a server(it may provide recipes).

37
Q

Multiprogramming

A

Multiprogramming is a form of parallel processing in which several programs are run at the same time on a uniprocessor. Since there is only one processor, there can be no simultaneous execution of different programs. Instead the O/S executes part of one program, then part of another, and so on. To the user it appears that all the programs are executing at the same time.

38
Q

Job Pool or Job scheduling

A

Job scheduling is the process of allocating system resources to many different tasks by an operating system (O/S). The system handles prioritized job queues that are awaiting CPU time and it should determine which job to be taken from which queue and the amount of time to be allocated for the job. This type of scheduling makes sure that all jobs are carried out fairly and on time.
Most OSs like Unix, Windows etc., included standard job-scheduling abilities. A number of programs including database management systems (DBMS), backup, enterprise resource planning (ERP) and business process management (BPM) feature specific job-scheduling capabilities as well.

39
Q

Time sharing or multitasking

A

Time sharing is sharing the processor time between several terminals (printers, monitors, I/O devices, etc.). You can see this type of setup in labs, offices, etc. There will be only one processor (mostly server).All the people in that lab use that server. The processor will give ‘n’ seconds of its processing time to every terminal in order. Generally, these processors are very fast so every terminal feels like they have their own processsor.
On the other hand, Multitasking is performing several tasks at a time. Most or our pc’s and laptops have multi core processors (core2, i3, i5, i7), so they have the capability to perform several tasks at one time. Each task will be performed by one of the several core processors. For example, on our laptop we can listen to music, play a movie, browse the Internet, play a game.

40
Q

Interactive (hands on) computer system

A

Accepting input from a human. Interactive computer systems are programs that allow users to enter data or commands. Most popular programs, such as word. Processors and spreadsheet applications, are interactive.

41
Q

Response time

A

The time a generic system of functional unit takes to react to a given output.

42
Q

Process

A

In computing, a process is an instance of a computer program that is being executed. It contains the program code and its current activity. Depending on the operating System(O/S), a process may be made up of multiple threads of execution that execute instructions concurrently.

43
Q

Virtual Memory

A

Is a feature of an operating system (O/S) that allows a computer to compensate for shortages of physical memory by temporarily transferring pages of data from random access memory(RAM) to disk storage?

44
Q

Swapping

A

To replace pages or segments of data in memory. Swapping is a useful technique that enables a computer to execute programs and manipulate data files larger than main memory. The operating system copies as much data as possible into main memory, and leaves the rest on disk. When the operating system needs data from the disk, it exchanges a portion of data (called a page or segment) in main memory with a portion of data on the disk.
DOS does not perform swapping, but most other operating systems, including OS/2, Windows, and Unix, do.

45
Q

Interrupt Driven

A

An alternative scheme for dealing with I/O is the interrupt-driven method. Here the CPU works on its given tasks continuously. When an input is available, such as when someone types a key on the keyboard, then the CPU is interrupted from its work to take care of the input data. In our example, the basketball player would take shots one after another, while a second person watched the clock down the hall. When the clock reached one minute, the person watching the clock would yell down the hallway for the player to stop. This allows the player to take many more shots, but at the expense of needing someone to watch the clock. Similarly, the CPU can work continuously on a task without checking the input devices, allowing the devices themselves to interrupt it as necessary. This requires some extra “smarts” in the form of electronic circuitry at the I/O devices so that they can interrupt the CPU.

46
Q

Trap or Exception

A

In computing and operating systems, a trap, also known as exception or a fault, is typically a type of synchronous interrupt typically caused by an exceptional condition (e.g., breakpoint, division by zero, invalid memory access). A trap usually results in a switch to kernel mode, wherein the operating system performs some action before returning control to the originating process. A trap in a system process is more serious than a trap in a user process, and in some systems is fatal. In some usages, the term trap refers specifically to an interrupt intended to initiate a context switch to a monitor program or debugger.

47
Q

Dual-mode

A

Two modes are provided by the hardware - user and kernel mode. Mode bit is added to computer hardware to indicate the current mode. When the system boots hardware starts in kernel mode. The O/S is loaded and then user process is started in user mode. When an interrupt occurs, hardware switches to kernel mode. When the O/S gains control, it’s always the kernel mode and before passing control to user program, it switches the hardware to user mode.

48
Q

Kernel Mode

A

In Kernel mode, the executing code has complete and unrestricted access to the underlying hardware. It can execute any CPU instruction and reference any memory address. Kernel mode is generally reserved for the lowest-level, most trusted functions of the operating system. Crashes in kernel mode are catastrophic; they will halt the entire PC.

49
Q

User Node

A

In User mode, the executing code has no ability to directly access hardware or reference memory. Code running is user mode must delegate to system API’sto access hardware or memory. Due to the protection afforded by this sort of isolation, crashes in user mode as always recoverable. Most of the code running on your computer will execute in user mode.

50
Q

Privileged Instructions

A

Users who have been delegated extra levels of control are called privileged. Users who lack most privileges are defined as unprivileged, regular, or normal users.
On Unix-like systems, the super user (commonly known as “root”) owns all the privileges. Ordinary users are granted only enough permissions to accomplish their most common tasks. UNIX systems have built-in security features. Most users cannot set up a new user account nor do other administrative procedures. The user “root” is a special user, something called a super-user, which can do anything at all on the system. This high degree power is necessary to fully administer a UNIX system, but it also allows its user to make a mistake and cause system problems
Unprivileged users cannot:
- Adjust kernel options
-Modify system files, or files of other users
-Change the owner of any files
-Change the run level (on systems with System V-style initialization
-Adjust limits or disk quotas
-Start or stop daemons
-Signal processes of other users
-Create device nodes
-Create or remove users or groups
-Mount of uncounted volumes
-Execute the contents of any Sabin/ directory, although it is becoming common to simply restrict the behaviour of such programs when executed by regular users.

51
Q

Timer

A

It is the primary duty of the operating system to prevent user programs from getting stuck into an infinite loop or not calling to system services and never returning control back to the O/S.To accomplish all those services an operating system uses a device known as a timer. The main task of a timer is to interrupt the CPU after a specific period of time.

52
Q

Process Management

A

Process management is an integral part of any modern-day operating system (O/S). The OS must allocate resources to processes, enable processes to share and exchange information, protect the resources of each process from other processes and enable synchronization among processes. To meet these requirements, the O/S must maintain a data structure for each process, which describes the state and resource ownership of that process, and which enables the Operating System to exert control over each process.

53
Q

Program Counter

A

A program counter is a register in a computer processor that contains the address (location) of the instruction being executed at the current time. As each instruction gets fetched, the program counter increases its stored value by 1. After each instruction is fetched, the program counter points to the next instruction in the sequence. When the computer restarts or is reset, the program counter normally reverts to 0.

54
Q

Memory Management

A

Memory Management is the functionality of an operating system which handles or manages primary memory and moves processes back and forth between main memory and disk during execution. Memory Management keeps track of each and every memory location, regardless of either it is allocated to some process or it is free. It checks how much memory is to be allocated to processes. It decides which process will get memory at what time. It tracks whenever some memory gets freed or unallocated and correspondingly it updates the status.

55
Q

Instruction-fetch cycle

A

An Instruction cycle (sometimes called the fetch-execute cycle is the basic operation cycle of a computer. It is the process by which a computer retrieves a program instruction from its memory, determines what actions the instruction requires, and carries out those actions.

56
Q

File

A

A file is an object on a computer that stores data, information, settings, or commands that are used with a computer program.

57
Q

Mass-Storage

A

In computing, mass storage refers to the storage of large amounts of data in a persisting and machine-readable fashion. Devices and/or systems that have been described as mass storage include tape libraries, RAID systems, and a variety of computer devices such as hard disk drives, magnetic tape drives, magneto-optical disk drives, memory cards, and solid-state drives. It also includes experimental forms like holographic memory. Mass storage includes devices with removable and non-removable media. It does to include random access memory(RAM).

58
Q

Caching

A

Information is normally kept n some storage system (such as main memory) As it is used it is copied into a faster storage system - the Cache - on a temporary basis. When we need a particular piece of information, we first check the cache. If it is we use the information directly from the cache; if it is not we use the information from the source, putting a copy in the cache under the assumption that we will need it again soon.

59
Q

Cache Management

A

Because caches have limited size, cache management is an important design problem. Careful selection of the cache size and of replacement policy can result in greatly increased performance.

60
Q

I/O Substystem

A

One of the purposes of an operating system is to hide the peculiarities of specific hardware devices from the user. For example, in UNIX, the peculiarities of I/O devices are hidden from the bulk of the operating system itself by the I/O subsystem. The I/O subsystem consists of Several components;
1. A memory-management component that includes buffering,caching, and spooling.
2.A general device-driver interface
3.Drivers for specific hardware devices.
Only the device driver knows the peculiarities of the specific device to which it is assigned.

61
Q

Protection

A

Is any mechanism for controlling the access of processes or users to the resources defined by a computer system. This mechanism must provide means to specify the controls to be imposed and mean to enforce the controls. Protection can improve reliability by detecting latent errors a the interfaces between component subsystems. Early detection of interface error can often prevent contamination of a healthy subsystem by another subsystem that is malfunctioning. An unprotected resource cannot defend against use ( or misuse) by an unauthorized or incompetent users. A protection-oriented system provides a means to distinguish between an authorized and unauthorized usage.

62
Q

Security

A

Operating system security is the process of ensuring OS integrity, confidentially and availability. OS security refers to specified steps or measures used to protect the O/S from threats, viruses, worms, malware or remote hacker instructions.

63
Q

Network operating system

A

A network operating system is an operating system that provides features such as file sharing across the network and that includes a communication scheme that allows different processes on different computers to exchange messages. A computer running a network operating system acts autonomously from all other other computers on the network,although it is aware of the network and is able to communicate with other networked computers.

64
Q

Real-time operating systems

A

Real-time operating systems are used when rigid time requirements have been placed on the operation of a processor or the flow of data. It is often used as a control device in a dedicated application. A real-time system has well-defined fixed time constraints. Processing must be done within the defined constraints, or the system will fail. A real-time system functions correctly only if it returns the correct result within its time constraints.

65
Q

Handheld System

A

Include personal digital assistants (PDAs) such as Palm and pocket PCs, and cellular phones. Many of which use special-purpose embedded operating systems.

66
Q

Multimedia System.

A

Most operating systems are designed to handle conventional data such as text files, programs, word-processing documents, and spreadsheets. However, a recent trend in technology is the incorporation of multimedia data into computer systems. Multimedia data consists of audio and video files as well as conventional files.

67
Q

The client-Server system

A

The Client-Server system provides an interface to which a client can send a request to perform an action (for example, read data); in response the server executes the action and sends back results to the client.A server running a database that responds to client requests for data is an example of such a system.

68
Q

Peer-to-Peer

A

In this model, clients and servers are not distinguished from one another; instead, all nodes within the system are considered peers, and each may act as either a client of server, depending on whether it is requesting or providing a service. Peer to Peer systems offer an advantage over traditional client-server systems. In a Client-Server system, the server is a bottleneck; but in a peer-to-peer system, services can be provided by several nodes distributed throughout the network.

69
Q

Open-Source Operating System

A

Are those made available in source-code format rather than as compiled binary code. Linux is the most famous open-source operating system. Microsoft Windows is on the opposite side of the spectrum with a closed source approach.

70
Q

Linux

A

Linux is a Unix-like and mostly POSIX-compliant computer operating system(OS) assembled under the model of free and open-source software development and distribution. The defining component of Linux is the Linux kernel, an Operating system kernel first released on October 5th, 1991 by Linus Torvalds. The free Software Foundation uses the name GNU/Linux to describe the operating system. Linux was originally developed as a free O/S for personal computers base on the Intel x86 architecture, but has since been ported to more computer hardware platforms than any other operating system. Because of the dominance of Android on smartphones, Linux has the largest installed base of all general-purpose operating systems. Linux is also the leading operating system on servers and other large systems such as mainframe computers and virtually all the fastest supercomputers. Linux also runs on embedded systems which are devices whose operating system is typically built into the firmware.

71
Q

BSD UNIX

A

Berkeley Software Distribution (BSD) is a UNIX operating system derivative developed and distributed by the Computer Systems Research Group (CSRG) of the University of California, Berkeley, form 1977to 1995. Today the term “BSD” is often used non-specifically to refer to any of the BSD descendants which together form a branch of the family of UNIX-like operating systems. Operating systems derived form the original BSD code remain actively developed and widely used.

72
Q

Solaris

A

Solaris is a UNIX operating system originally developed by Sun Microsystems. It was based on BSD UNIX.Sun moved to AT &T’s system V UNIX as its base in 1991. In 2005, Sun open sourced some of the Solaris code,and over time, the company has added more and more to that open-source code base. Unfortunately not all the solaris code is open sourced because some of the code is still owned by AT&T and other companies.

73
Q

What are the three main purposes of an operating system?

A

The three main purposes are:

  • To provide an environment for a computer user to execute programs on computer hardware in convenient and efficient manner
  • To allocate the separate resources of the computer as needed to solve the problem given. The allocation process should be a 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 them operation and control of I/O devices.
74
Q

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 principal and to “Waste” resources? Why is such a system not really wasteful?

A

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.

75
Q

What is the main difficulty that a programmer must overcome in writing an operating system for a real-time environment?

A

The main difficulty is keeping the operating system within the fixed time constraints of a 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.

76
Q

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 is should not and support your answers

A

An argument in favour of including popular applications with the operating system is that if the application is embedded within the O/S, 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 O/S
  2. any performance benefits of running within the kernel are offset by security vulnerabilities.
  3. It leads to a bloated operating system.
77
Q

How does the distinction between kernel mode and user mode function as rudimentary form of protection (security) system?

A

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 CPU is in kernel mode. Consequently, the CPU has very limited capability when executing in user mode, thereby enforcing protection of critical resources.

78
Q
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 form user to kernel mode.
H. Access I/O device.
A
The following operations need to be priveleged
Set value of timer
Clear Memory
Turn of Interrupts
Modify entries in device-status table
Access I/O device.
The rest can be performed in user mode.