Reece McMillin
Midterm Retrospective
2022-03-17
Part 1
- A program becomes a process when executable is loaded into memory: TRUE (book p. 107)
- VMWare is a virtual machine manager which manages guest operating systems: TRUE
- Amdahl's Law describes performance gains for applications with both a serial and parallel component: TRUE
- There is no universal definition of an operating system: TRUE
- A system call is triggered by hardware: FALSE
- Parallelism can be achieved on single-processor systems: FALSE
- RR denegrates to FCFS: TRUE
- Each device controller has a local buffer: TRUE
- Applications compiled on one operating system can be directly executable on other operating systems due to common structure: FALSE
- FCFS scheduling algorithm is non-preemptive: TRUE
Part 2
- operating system service: GUI
- system calls provide interface to the services provided by an operating system
- cause process to stop executing?
- ...
- ...
- ...
- code, data, files shared across multiple threads belonging to the same process
Part 3
- what program all times: kernel
- two models for IPC: shared memory, message passing
- responsiveness, resource sharing, economy, scalability
- describe (blocking/non-blocking) (send/receive)
- 5 challenges of multicore systems: dividing activities/balance/splitting/dependencies/testing
Part 4
- describe three general methods to pass parameters to OS during syscalls
- registers
- if more params than registers, stored in block/table of memory, address of block passed as parameter in register
- parameters can also be placed onto the stack by the program, popped off by OS
- name and describe different states that a process can exist in at any given time
- new, running, waiting, ready, terminated
- data parallelism vs task parallelism
- distributes subsets of data across cores
- distributes tasks across cores where each task performs unique op
- similarities and differences between parallelism and concurrency
- similarities: multiple tasks can make progress before one finishes
- differences:
- describe how OS helps facilitate debugging issues
- log files, core dumps, crash dump, trace listing, event logs
- policy vs. mechanism
- policy: what will be done?
- mechanism: how?
- separation allows maximum flexibility if policy decisions are to be changed later
scheduling
| process ID | arrival | burst time |
| 0 | 0 | 6 |
| 1 | 1 | 4 |
| 2 | 2 | 3 |
| 3 | 4 | 6 |
| 4 | 6 | 5 |
| 5 | 7 | 8 |
| 6 | 9 | 2 |
| algorithm | response | turnaround | total wait |
| srtf | 7 | 12.86 | 8.0 |
| sjf | 8.14 | 18.14 | 13.29 |