changelog
play

Changelog Changes made in this version not seen in fjrst lecture: 15 - PowerPoint PPT Presentation

Changelog Changes made in this version not seen in fjrst lecture: 15 January: logistics correctly note that quiz will be after this week 0 introduction / what is an OS? 1 two sections there are two sections of Operating Systems sections


  1. Changelog Changes made in this version not seen in fjrst lecture: 15 January: logistics — correctly note that quiz will be after this week 0

  2. introduction / what is an OS? 1

  3. two sections there are two sections of Operating Systems sections will share (most?) assignments, TAs 2

  4. course webpage https://www.cs.virginia.edu/~cr4bd/4414/S2019/ linked ofg Collab 3

  5. homeworks there will be programming assignments …mostly in C or C++ (I recommend C++) one or two weeks if two weeks “checkpoint” submission after fjrst week schedule is aggressive… 4

  6. xv6 some assignments will use xv6, a teaching operating system simplifjed OS based on an old Unix version built by some people at MIT theoretically actually boots on real 32-bit x86 hardware …and supports multicore! 5

  7. quizzes there will be online quizzes after each week of lecture same interface as CS 3330, but no time limit (haven’t seen it? we’ll talk more next week) quizzes are open notes, open book, open Internet 6 …starting after this week

  8. exams midterm and fjnal let us know soon if you can’t make the midterm 7

  9. textbook recommended textbook: Operating Systems: Principles and Practice no required textbook alternative: Operating Systems: Three Easy Pieces (free PDFs!) some topics we’ll cover where this may be primary textbook alternative: Silberchartz (used in previous semesters) full version: Operating System Concepts, Ninth Edition 8

  10. cheating: homeworks don’t homeworks are individual no code from prior semesters no sharing code, pesudocode, detailed descriptions of code no code from Internet, with extremely limited exceptions tiny things solving problems that aren’t point of assignment … credited where used in your code e.g. code to split string into array for non-text-parsing assignment e.g. something explicitly permitted by the assignent writeup in doubt: ask 9

  11. cheating: quizzes don’t quizzes: also individual don’t share answers don’t IM people for answers don’t ask on StackOverfmow for answers 10

  12. getting help Piazza offjce hours (will be posted soon) emailing me 11

  13. what is an operating system? (1) several overalpping defjnitions abstraction layer over hardware? alternative to hardware interface? several distinct jobs relating to sharing/accessing resources? 12

  14. what is an operating system? (2) layer of software to provide access to HW abstraction of complex hardware communication security app 1 app 2 app 3 operating system hardware 13 protected access to shared resources

  15. history: computer operator via National Library of Medicine; computer operators operating an Honeywell 800 14

  16. what is an operating system? (3) software providing a more convenient/featureful machine interface 15

  17. what is an operating system? (4) software performing certain jobs for computer system: textbook’s roles referee — resource sharing, protection, isolation illusionist — clean, easy abstractions glue — common services storage, window systems, authorization, networking, … 16

  18. common goal: hide complexity hiding complexity competing applications — failures, malicious applications text editor shouldn’t need to know if browser is running varying hardware — diverse and changing interfaces difgerent keyboard interfaces, disk interfaces, video interfaces, etc. applications shouldn’t change 17

  19. common goal: hide complexity hiding complexity competing applications — failures, malicious applications text editor shouldn’t need to know if browser is running varying hardware — diverse and changing interfaces difgerent keyboard interfaces, disk interfaces, video interfaces, etc. applications shouldn’t change 17

  20. common goal: for application programmer write once for lots of hardware avoid reimplementing common functionality don’t worry about other programs 18

  21. the virtual machine interface application operating system hardware virtual machine interface physical machine interface imitate physical interface (of some real hardware) system virtual machine (VirtualBox, VMWare, Hyper-V, …) chosen for convenience (of applications) process virtual machine (typical operating systems) 19

  22. system virtual machines run entire operating systems for OS development, portability aid reusing existing raw hardware-targeted code difgerent “application programmer” 20 interface ≈ hardware interface (but maybe not the real hardware)

  23. process virtual machine … or keyboard operation or … no details of hard drive operation fjles — open/read/write/close interface no worries about organization of “real” memory memory allocation functions (virtually) infjnite threads — no matter number of CPUs … process VM devices fjles page tables memory allocation processors thread real hardware 21

  24. process virtual machine … or keyboard operation or … no details of hard drive operation fjles — open/read/write/close interface no worries about organization of “real” memory memory allocation functions (virtually) infjnite threads — no matter number of CPUs … process VM devices fjles page tables memory allocation processors thread real hardware 21

  25. process virtual machine … or keyboard operation or … no details of hard drive operation fjles — open/read/write/close interface no worries about organization of “real” memory memory allocation functions (virtually) infjnite threads — no matter number of CPUs … process VM devices fjles page tables memory allocation processors thread real hardware 21

  26. process virtual machine … or keyboard operation or … no details of hard drive operation fjles — open/read/write/close interface no worries about organization of “real” memory memory allocation functions (virtually) infjnite threads — no matter number of CPUs … process VM devices fjles page tables memory allocation processors thread real hardware 21

  27. the abstract virtual machine applications OS’s interface threads, address spaces, processes, fjles, sockets, … operating system hardware interface interrupts, memory addresses, special registers, memory-mapped devices, I/O buses, … hardware CPU memory 22 keyboard/mouse monitor disks network …

  28. abstract VM: application view applications OS’s interface threads, address spaces, processes, fjles, sockets, … operating system the application’s “machine” is the operating system no hardware I/O details visible — future-proof more featureful interfaces than real hardware 23

  29. abstract VM: OS view applications OS’s interface threads, address spaces, processes, fjles, sockets, … operating system hardware interface interrupts, memory addresses, special registers, memory-mapped devices, I/O buses, … hardware CPU memory operating system’s job: translate one interface to another 24 keyboard/mouse monitor disks network …

  30. 25 applications process application 2 app 1’s registers app 1’s memory process application 1 memory CPU hardware memory-mapped devices, I/O buses, … interrupts, memory addresses, special registers, hardware interface operating system processes, fjles, sockets, … threads, address spaces, OS’s interface program → process → CPU and memory keyboard/mouse monitor disks network …

  31. 25 applications process application 2 app 1’s registers app 1’s memory process application 1 memory CPU hardware memory-mapped devices, I/O buses, … interrupts, memory addresses, special registers, hardware interface operating system processes, fjles, sockets, … threads, address spaces, OS’s interface program → process → CPU and memory keyboard/mouse monitor disks network …

  32. 25 applications process application 2 app 1’s registers app 1’s memory process application 1 memory CPU hardware memory-mapped devices, I/O buses, … interrupts, memory addresses, special registers, hardware interface operating system processes, fjles, sockets, … threads, address spaces, OS’s interface program → process → CPU and memory keyboard/mouse monitor disks network …

  33. 25 applications process application 2 app 1’s registers app 1’s memory process application 1 memory CPU hardware memory-mapped devices, I/O buses, … interrupts, memory addresses, special registers, hardware interface operating system processes, fjles, sockets, … threads, address spaces, OS’s interface program → process → CPU and memory keyboard/mouse monitor disks network …

  34. applications OS’s interface threads, address spaces, processes, fjles, sockets, … operating system hardware interface interrupts, memory addresses, special registers, memory-mapped devices, I/O buses, … hardware CPU memory application 1 fjles 26 fjles → input/output keyboard/mouse monitor disks network …

  35. security and protection memory-mapped devices, I/O buses, … applications application 1 memory CPU hardware 27 interrupts, memory addresses, special registers, OS’s interface operating system processes, fjles, sockets, … hardware interface threads, address spaces, s e g m e n t a t i o n f a u l t keyboard/mouse monitor disks network …

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend