Lesson 1: Introduction Flashcards

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 = תקורה

A

Time sharing

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
Q

Scaling

A

A feature of virtualization that allows to add/remove more VM to cope with demand (very important for the cloud)

26
Q

Isolation

A

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
Q

Virtualization allows for sharing the same ______ amongst many _____.

A

Virtualization allows for sharing the same resources (hardware) amongst many users.

28
Q

What is the cloud?

A

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
Q

What are the assumptions regarding the cloud?

A
  1. HW and maintenance are cheaper for big companies (Amazon, Microsoft, Google ).
  2. Big companies have more experience and infrastructure (home-made protocols).
30
Q

What are NOT assumptions in mobile computing?

A
  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
Q

What are assumptions in mobile computing?

A
  1. CPU is much faster than I/O

2. Direct memory access (DMA)

32
Q

Kilo

A

10^3

33
Q

Mega

A

10^6

34
Q

Giga

A

10^9

35
Q

Tera

A

10^12

36
Q

What are some requirements for a successful mobile OS?

A
  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”