8. 9. Systems Software Evolution Flashcards

From Mainframes to Personal Computers From Personal Computers to Smartphones

1
Q

What is meant by systems software?

Narrow, Broad, Broader

A

the software platform whose purpose is to allow apps to perform specific tasks

Device Drivers, OS

Broad: User interfaces, Utilities

Broader: Development tools (compilers, linkers, debuggers etc)

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

How are Computing devices and Application programs mediated?

A

Systems software

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

What is the main purpose of the Systems software? what are its aims?

A

Enable efficient use of the hardware resources needed for intended tasks.

Aims to enable economical expenditure of time effort and cost

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

What has been the driver of evolution?

A

Relative costs of people and hardware

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

How have the relative costs and goals changed?

A

Beginning: Hardware expensive relative to labour. Goal: minimise hardware utilisation

Now: Hardware inexpensive even compared to cheapest labour
Goal: minimise the difficulty for people to use a computing device

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

Grossmans five eras of computing

A
Mainframe 1960-1980
PC 1980-2000
Web 1990-2010
Device 2000-2020
Data 2010-2030
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What needed improving in the mainframe era?

A

interfacing, interaction with hardware, utilization, access and usability,

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

What were computers like in the mainframe era?

A

can only be used by a signal user/application when in interactive mode

low level interaction: consoles, punched cards

User must write all code specifically for hardware every time

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

What was the solution to the complex coding of peripherals in the mainframe era?

A
Subroutine library (device drivers) for peripherals. Enables load once, use many.
Creates resident application independent code and indisputable class of systems software rather than all-in-one
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Mainframe Era: How do we solve the issue of idleness when the programmer sets themselves up?

A

Hire mainframe operators who have a higher productivity in setting up than the programmer.

Further: build a memory resident batch monitor. Write many jobs onto a spool. Batch monitor picks one job after the other from the spool, run it, write output onto continuous form printouts

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

Mainframe Era: How do we solve the issue that the running job is either using CPU or peripherals, leaving the other idle?

A

Allow CPU and I/O activity to overlap by extending the device manager with buffers and interrupt handlers.

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

Mainframe Era: How do we solve the problem that no job can always keep peripheral and CPU active all the time?

A

Multiprogramming: Several jobs are always actively sharing the computer and cooperatively sharing resources

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

Mainframe Era: How do we solve the problem that one job must not do anything to affect anothers results?

A

Memory protection and relocation is added to hardware.

OS must manage these new hardware capabilities

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

Mainframe Era: What are the results of the OS becoming more significant?

A

More complex and vital Significant cause of resource hogging, risking high overheads.

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

Mainframe Era: How do we improve access and usability and the fact people need to wait for output?

A

Remove dead waiting times- give people means for direct interaction

Do this using Time sharing but have fairness policies to give every job a reasonable slice.

Implement this using preemptive scheduling.

Have priority levels to meet requirements of resource allocation

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

Mainframe: What are the aims of a scheduler?

A

Complete as many jobs as possible per unit time
Reduce response time
reduce turnaround time

17
Q

Mainframe: how do we solve the problem of jobs growing in complexity starting to be compositions of many programs and use many kinds of data sets?

A

File Systems. Make computer a repository of data and programs, allowing quick access.

18
Q

Mainframe: why did concern change from increasing utilisation to improving access and usability?

A

As computers became more useful, more were bought. The growth of cost slows.
Meanwhile, the labour costs grow and so the relative cost drops.

19
Q

At the start of the PC Era:

A

computers are smaller, less expensive. Become standard office equipment.
Hardware is cut back: slow CPU, small memory, no persistent memory, no connectivity.
OS is also cut back to single user mode.
Systems software consists of device drivers and batch monitor.
No Multi-programming, no time sharing.

20
Q

What types of problems were there in the PC Era?

A

Human-computer Interfacing

Facilitating sharing

21
Q

PC Era: How do we improve user interaction? What problem does this cause? How is it solved?

A

WIMP. Gui becomes dominant.
Problem: requires high level of responsiveness, graphics drain response and completion times.
Solution: Multi programming- time sharing between GUI and application.

22
Q

PC Era: How do we solve the demand for networking and security for file sharing across national and global organisations?

A

OS grows to implement authentication and authorisation mechanisms.
Build support for IPC inside the OS. This is done using sockets.
Support standard network protocol stacks in the OS

23
Q

What prompted the change from PC to Web Era?

A

The availability of OS level networking support made the internet universally available.
HTTP was inspired from the classic application layer protocols (FTF, Telnet, SMTP/IMAP)
This bootstrapped the web and opened up the internet.
The web sparked in universal take up of distributed computing. This makes the end of centralised, personal computing.

24
Q

The web era sparked the rise of ? This is?

A

Middleware
The OS is diminished in its centrality. Application systems instead exploit layers of middleware: Virtual machines, messaging systems, distributed transaction processors, workflow engines.
App development is about higher level use of APIs. OS must support the right middleware instead of managing local resources well.

25
Q

What changes from the Web to Device Era?

A

new kinds of computer: Private personal devices and machine/appliance embedded systems.

Instead of paying for a device, we pay more for a service.

26
Q

In the Device Era the network is the computer. What does this mean, what is the problem?

A

The device is a dumb terminal that hosts apps. Application software functionality is running remotely.
Multiprogramming is retained. Axioms ever present. Transparencies grow to encompass process mobility.

Problem: Scale of devices doesnt allow for space capacity in CPU cycles or storage
Solution: Dumb device- communicate with servers. Offload storage and CPU intensive tasks to remote service providers. “Cloud”

27
Q

Device Era: What is the problem with the data centre as the computer? Solution?

A

Tens and hundreds of millions of users. Only a few data centres

Solution: elastically scalable massive assemblies of commodity level processing and storage.
Middleware for scheduling and workload balancing over massively parallel/distributed clouds of processing and storage devices.

28
Q

Device Era: What is the problem with Scaling in and out elastically?

A

Demand is uninterrupted in time and sapce. 24/7 requests from anywhere and everywhere. Downtime/lulls in demand not acceptable/reliable.

Solution: middleware (i.e. relaxed-consistency transaction servers) that reach high levels of avaliability and robustness through massive replication

29
Q

Summarise the evolution through the era as bottlenecks and commodities

A

Mainframe: bottleneck was computer cycles, PC made it a commodity
PC Era: bottleneck was application software which Web era made a commodity.
Web Era: bottleneck was bandwidth which Device Era made a commodity

30
Q

What was in the wave of innovation started by device drivers?

A
batch monitors
task schedulers
interrupt handlers
preemption
multiprogramming
file systems
timesharing
priority levels
31
Q

The rise of DS was underpinned by? This lead to?

A

Support for IPC over protocol stacks. This lead to client-server architectures then generalised middleware.

32
Q

One important class of middleware enables?

A

massively-parallel scheduling and workload balancing

33
Q

Offloading functionality to remote service providers let to the notion of?

A

Clouds based on massively parallel assemblies hosted in data centres.

34
Q

Relaxing transactional guarantees led to?

A

highly scalable, highly available data centres serving tens to hundred of millions of devices.