Phu Xuan University Library
Think OS - A Brief Introduction to Operating Systems

External

Think OS - A Brief Introduction to Operating Systems

Think OS is an introduction to Operating Systems for programmers.

Author
Allen B. Downey
Publisher
Olin College
Source
LibreTexts
License
CC BY-NC
Language
EN
Category
Information Technology
Contents· 66 sections
  1. 01: Compilation
  2. 1.01: Compiled and interpreted languages
  3. 1.02: Static types
  4. 1.03: The compilation process
  5. 1.04: Object code
  6. 1.05: Assembly code
  7. 1.06: Preprocessing
  8. 1.07: Understanding errors
  9. 02: Processes
  10. 2.01: Abstraction and virtualization
  11. 2.02: Isolation
  12. 2.03: UNIX processes
  13. 03: Virtual memory
  14. 3.01: A bit of information theory
  15. 3.02: Memory and storage
  16. 3.03: Address spaces
  17. 3.4: Memory segments
  18. 3.5: Static local variables
  19. 3.06: Address translation
  20. 04: Files and file systems
  21. 4.01: Files and file systems
  22. 4.02: Disk performance
  23. 4.03: Disk metadata
  24. 4.04: Block allocation
  25. 4.05: Everything is a file
  26. 05: More bits and bytes
  27. 5.01: Representing integers
  28. 5.02: Bitwise operators
  29. 5.03: Representing floating-point numbers
  30. 5.04: Unions and memory errors
  31. 5.05: Representing strings
  32. 06: Memory management
  33. 6.01: Memory errors
  34. 6.02: Memory leaks
  35. 6.03: Implementation
  36. 07: Caching
  37. 7.01: How programs run
  38. 7.02: Cache performance
  39. 7.03: Locality
  40. 7.04: Measuring cache performance
  41. 7.05: Programming for cache performance
  42. 7.06: The memory hierarchy
  43. 7.07: Caching policy
  44. 7.08: Paging
  45. 08: Multitasking
  46. 8.01: Hardware state
  47. 8.02: Context switching
  48. 8.03: The process life cycle
  49. 8.04: Scheduling
  50. 8.05: Real-time scheduling
  51. 09: Threads
  52. 9.01: Creating threads
  53. 9.02: Creating threads
  54. 9.03: Joining threads
  55. 9.04: Synchronization errors
  56. 9.05: Mutex
  57. 10: Condition variables
  58. 10.01: The work queue
  59. 10.02: Producers and consumers
  60. 10.03: Mutual exclusion
  61. 10.04: Condition variables
  62. 10.05: Condition variable implementation
  63. 11: Semaphores in C
  64. 11.01: POSIX Semaphores
  65. 11.02: Producers and consumers with semaphores
  66. 11.03: Make your own semaphores