Introduction OS Flashcards

1
Q

Multiprocessors systems dominates
the computing market

A

Advantages of it include:

a. Increased throughput

b. Economy of scale

c. Increased reliability – graceful degradation
or fault-tolerant.

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

There are two kinds of multiprocessing

A

Asymmetric Multiprocessing and Symmetric multiprocessing

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

Asymmetric Multiprocessing

A

– Each processor is assigned a specific task:

   \+  A boss processor controls the system.
   \+ The other processors look to the boss 
    for instruction.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Symmetric multiprocessing

A

– Each processor performs all tasks

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

Multicore

A

The CPU that design is to include multiple
computing cores on a single chip. Or to put it simply: Multicore mean 2 or more than 2 CPU equipped in one chip.

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

Singlecore

A

Which mean only 1 CPU equipped in one chip.

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

Muliticore can be more efficient than multiple
chips with single cores

A

Because ON-CHIP communication is faster
than BETWEEN-CHIP communication

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

Interrupts

A

are signals sent to the CPU by external devices, normally I/O devices. They tell the CPU to stop its current activities and execute the appropriate part of the operating system

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

There are three types of interrupts

A
  1. Hardware Interrupts
  2. Software Interrupts
  3. Traps
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hardware Interrupts

A

are GENERATED by hardware devices to SIGNAL that they need some attention from the OS

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

Hardware Interrupts

A

are generated by hardware devices to signal that they need some attention from the OS

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

Software Interrupts

A

are generated by programs when they want to request a system call to be performed by the operating system

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

Traps

A

are generated by the CPU itself to INDICATE that some error or condition occurred for which assistance from the OS is needed

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

There are two CPU Execution Mode

A
  1. User mode
  2. Kernel or supervisor mode
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

User mode

A

is restricted in that certain instructions cannot be executed, certain registers cannot be accessed, and I/O devices can not be accessed

  • Can only execute a subset of instructions
  • Can only reference a subset of memory locations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Kernel or supervisor mode

A

Kernel mode has NONE of the restrictions
- A system call will set the CPU to kernel mode, as will traps and interrupts
- Can execute all machine instructions
- Can reference (?) all memory locations

17
Q

Context switch

A

switching from running a user level process to the OS kernel and to other user processes before the current process is resumed

18
Q

The CPU performs the following actions in response to an interrupt

A
  1. Using the pointer to the current process control block
    • The state and all register values for the process
      are saved for use when the process is later
      restarted
  2. The CPU mode bit is switched to supervisory mode
  3. Using the pointer to the interrupt handler table and the interrupt vector
    -The location of the kernel code to execute is
    determined
    • The interrupt vector is the interrupt request
      (IRQ) for hardware interrupts and an argument to
      the interrupt assembly language instruction for
      software interrupts
  4. Processing is switched to the appropriate portion of the kernel
19
Q

There are 4 broad tasks performed by an operating system

A

Process Management
Memory Management
File System Management
Device Management

20
Q

Process Management

A

 A process is an executing program
 It consists of code, data, a certain set of resources allocated to it, and one or more threads of
execution through the code
 The OS manages the allocation of resources to these processes, and also provides system calls to
manage these processes

21
Q

Memory Management

A

 Memory must be shared between the OS and an application program
 The OS must manage the allocation of memory to processes and control the memory management
hardware that determines which memory locations a process may access

22
Q

File System Management

A

 Computers process information that must be transmitted, processed, and stored
 File systems are an abstract organized collection of file system objects
 The OS provides primitives to manipulate these objects process may access

23
Q

Device Management

A

 Information is sent through a computer’s input and output devices
 Processes access these devices using the system call interface
 The OS tries to manage devices in a manner that makes them efficiently shared among all processes
requiring them
 A system call is a programming interface to the services provided by the OS, typically written in C/C++

24
Q

Design Goals

A

 At the highest level, system design is dominated by the choice of hardware and system type
 Beyond this level, the requirements can be divided into two groups:
 User goals: include convenience, reliability, security, and speed
 System goals: include ease of design, implementation, maintenance, flexibility, and efficiency

25
Q

Implementation

A

o Operating systems were firstly written in assembly, but nowadays C/C++ is the language
commonly used

o Small blocks of assembly code are still needed, especially related to

 * Low level I/O functions in device drivers
 * Turning interrupts on and off
 * The Test and Set Instruction for Synchronization 
  Facilities

o Using higher level languages allows the code to be written faster
* It also makes the OS much easier to port to
different hardware platforms

25
Q

Implementation

A

o Operating systems were firstly written in assembly, but nowadays C/C++ is the language
commonly used

o Small blocks of assembly code are still needed, especially related to

 * Low level I/O functions in device drivers
 * Turning interrupts on and off
 * The Test and Set Instruction for Synchronization 
  Facilities

o Using higher level languages allows the code to be written faster
* It also makes the OS much easier to port to
different hardware platforms