1. special privileges on the harware and let them run and manage others programns
2. provided a software abstraction through API (device drivers
3. Terminal: a keyboard and screen that connects to a big computer but doesn't contain any processing power itself
4. by 1970s
5. OS will developed that offers time sharing
5.1. each individual user was only allowed to utilize a small fraction of the computer's processor, memory and so on...
5.2. multics major OS designed to be secure from the outset
5.2.1. release in 1969:
5.2.2. Problems
5.2.3. using around 1 megabit of memory to access a file
5.3. multiplexed information
5.4. computing service
5.5. .acceptable tradeoff, as users could just turn their own computers off and on again.
5.5.1. programs could and regularly crash the system
6. Microsoft Disk OS (Ms-DOS)
6.1. acceptable tradeoff, as users could just turn their own computers off and on again.
7. Computer run modern OS
7.1. have all multitasking, virtual memory and virtual memory
7.1.1. Mac OS
7.1.2. Windows 10
7.1.3. LINUX
7.1.4. IOS
7.1.5. Android
7.2. can run many program at once
8. OS and CPU handle the virtual to physical remapping automatically
9. supercomputer:ATLAS
9.1. virtual and protected memory
9.2. OS loaded programs automatically
9.3. can run several programs at the same time in single CPU
9.3.1. multitasking
9.3.1.1. having many programs running simultaneously on a single computer
9.3.1.2. need memory
9.3.1.3. solution: allocate each programs using its own block memory
9.3.1.3.1. more memory : get confusing for programmers to track of long list
10. computers could be given batches when the computerr was done with one
11. computers could be given batches when the computer was done with one, it would automatically a near instantly start the next. There was no downtime while somes one scrurried around an office to find next program to run.
11.1. Batch processing
12. virtual memory
12.1. assume always starts at 0
12.2. keeping things simple and consistent
12.3. however
12.4. the actual physical location in computer system is hidden in abstracted by operating system (OS)
13. OS virtualize memory location with virtual memory
14. implemented as intermediaries between software programs and hardware peripherals
15. allows program to have flexible memory size (dynamic memory allocation)
16. isolated from one another
16.1. if buggy program goes awry it can only trace its own memory not of other programs
16.2. memory protection
16.2.1. useful in protecting agints malicious software example: viruses
17. late 1950s, University of Manchester started worked on supercomputer
18. Dennis Richie & Ken Thompson
19. UNIX
19.1. wide array of useful tools that come bundle with but not part of the kernel, example: (programs and libraries)
19.2. core functionally of the OS
19.2.1. Kernel
19.2.1.1. memory management
19.2.1.2. multitasking
19.2.1.3. dealing with I/O process
19.3. Panic: when Kernel crashes has no resources to recover and so calls a function called panic.
19.3.1. UNIX could be run on cheaper and more diverse hardware
20. windows
20.1. lacked strong memory protection
20.1.1. when program misbehaved, user could getblue screen of death (program crashed badly)