Lesson 1: Introduction Flashcards

(36 cards)

1
Q

What is an operating system?

A

A program that provides an environment within which other programs can do useful work.

It comes between the users and the hardware and provides a convenient, safe, and efficient way to access the hardware.

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

What is Spooling?

A

Simultaneous Peripheral Operation On-Line

This means that you are overlapping an I/O of one job with the computation of another job. (Used to manage slower IO devices like printers)

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

What is a job pool?

A

A data structure that allows the OS to select which job to run next in order to increase CPU utilization

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

Latency

זמן השהייה

A

The time it takes to perform a job or process data.

Units: seconds

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

Throughput

תפוקה

A

The rate of work/production/processing.

Units: byte/second (or jobs/second)

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

Utilization

ניצולת

A

The fraction of time the CPU is performing useful tasks
(=the time the CPU isn’t idle)
This is a number between 0-1.
For example:
The utilization of a lesson at school is:
(lesson time)/(lesson time + time it takes to get to university)

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

CPU usage

A

The fraction of time the CPU is executing instructions (useful and not useful tasks)

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

Overhead

תקורה

A

Excess or indirect computation time, memory, bandwidth, or other resources that are required to attain a particular goal.
Units: seconds

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

What is the goal of multiplexing in the CPU?

A

To maximize the resource utilization

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

Multi-programming

A

When the first program reached an instruction waiting for a peripheral, the second program in memory is given a chance to run

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

Time sharing

A

Switch program even if not waiting for peripheral

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

In multi-programming, when does the CPU move between jobs?

A
  1. When one job finished running

2. When a job “gives up” on its CPU usage when its waiting for a response from an IO device.

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

In time sharing, when does the CPU move between jobs?

A
  1. When one job finished running

2. When the OS decides to stop a job and run another one instead

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

Can the OS and another program run simultaneously?

A

No!

The OS is just like any program, and when it’s running, it’s the only program running.

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

What has a higher throughput: multi-programming or time sharing?

Throughput = תפקודה

A

Time sharing.
In time sharing the OS can plan its “maintenance work”, but in multiprogramming you need to always move between jobs and that involves needing to do a lot of work in order to switch jobs.

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

What has a larger overhead: multi-programming or time sharing?

Overhead = תקורה

17
Q

What’s the difference between a scheduler and a spooler?

A

The spooler manages slower IO devices, and the scheduler manages the flow of other jobs in and out of the CPU

18
Q

What are the assumptions in multi-programming and time-sharing?

A
  1. CPU is always there, and therefore, not using it is a waste
  2. CPU is much faster than I/O
  3. Memory (RAM) is large enough to host many programs
  4. Direct memory access (DMA)
  5. More than one task to do at a time
19
Q

What is DMA?

A

Direct memory access (DMA) is a feature of computer systems that allows certain hardware subsystems (for example IO devices) to access main system memory (random-access memory) independent of the central processing unit (CPU).

20
Q

What are the states that a process can be in?

A
  1. Running
  2. Waiting (for example, for the keyboard or other IO device)
  3. Ready
21
Q

Is multi-processing and time sharing parallel programing?

A

No! There are never two programs running at the same time. Programs just take turns.
In computers that have more than one core we can have real parallel programming.

22
Q

What is a disadvantage of having a virtualization layer?

A

Very high overhead because every actions needs to be converted through the software to the hardware.

23
Q

VM snapshot

A

A feature of virtualization that allows to freeze a copy of virtual machine with the specific state of the virtual machine

24
Q

VM mirgration

A

A feature of virtualization that allows to move a VM to another host

25
Scaling
A feature of virtualization that allows to add/remove more VM to cope with demand (very important for the cloud)
26
Isolation
A feature of virtualization that when running on the same hardware, the operation of one VM are (almost) completely isolated from the others --> Added security
27
Virtualization allows for sharing the same ______ amongst many _____.
Virtualization allows for sharing the same resources (hardware) amongst many users.
28
What is the cloud?
Provides computing resources over the internet so you don't need the actual hardware. It delivers a hosting environment that is immediate, flexible, scalable, secure, and available – while saving corporations money, time and resources
29
What are the assumptions regarding the cloud?
1. HW and maintenance are cheaper for big companies (Amazon, Microsoft, Google ). 2. Big companies have more experience and infrastructure (home-made protocols).
30
What are NOT assumptions in mobile computing?
1. CPU is always there, and therefore, not using it is a waste (because we need to also consider battery life, not using the CPU is not a waste (since it saves battery)). 2. Memory (RAM) is large enough to host many programs 3. More than one task to do at a time
31
What are assumptions in mobile computing?
1. CPU is much faster than I/O | 2. Direct memory access (DMA)
32
Kilo
10^3
33
Mega
10^6
34
Giga
10^9
35
Tera
10^12
36
What are some requirements for a successful mobile OS?
1. Easy and consistent for app developers despite the inconsistent hardware (different screen size, different camera, different CPUs) 2. Efficient – Battery efficient. Every single CPU cycle consumes battery power. The more time the CPU can spend sleeping the longer the battery life will be --> Less Multitasking 3. Secure - Lots of personal data on phones. Mobile is easy to lose or steal. 4. Run with limited RAM “Being a Responsible Background App”