In an ideal world, you would all have time and interest to read everything in the three textbooks we use in this course. Let’s be honest, though, and accept that it’s not going to happen. Use these reading guides to prepare for class, lab, and exams. If you have have time and energy, feel free to read whatever you encounter and bring it up to discussion in class, lab, or office hours.
There’s a substantial amount of material in these chapters 1 and 2. Some of it turns out to be review of CSCI 206; that’s something worth going through, even if superficially. Some material is technology specific; unless indicated otherwise, this type of material is optional reading. Because the time we have in one semester is limited, we have to focus on what is really important: the most general principles.
Here’s the breakdown of the required reading:
1.1 What operating systems do
After reading this, try to summarize in one paragraph the answer to “what do operating systems do?”
1.2 Computer system organization
1.3 Computer system architecture
Quite a bit of these sections will review material from CSCI 206. Read through to bring it back to your mental cache, without stressing over the details.
1.4 Operating system operations
Here’s where the whole game begins. Contrast the concepts of multiprogramming and multitasking. What is the importance of job scheduling in a computer system? Define the concept of process.
1.4.1 Multiprogramming and multitasking
1.4.2 Dual mode and multimode operation
1.5.1 Process management
1.9 Kernel data structures
Review what you know about data structures; pay special attention to doubly linked lists.
12.1 Overview
12.2 I/O Hardware
12.2.2 Polling
12.2.3 Interrupts
12.2.4 Direct Memory Access
2.1 Operating system services
We are back to what the OS can do for you. Can you name 5 services after reading this section?
2.2 User and operating system interface
2.3 System calls
2.7 Operating system design and implementation
What is design and how does it apply to operating systems?
2.8 Operating system structure
2.9 Building and booting an operating system
How does the execution of the OS get started? Describe the sequence of steps and identify the resources involved.