topic # | Topic | Reading | Homework | Slides |
1 |
administrativa
primitive computers and binary number representation |
chapter 1 of the textbook
(it's dense, and we'll spend a couple weeks on it) read - Why "binary" in every computer conversaion? these links about binary and other number systems
Number bases:
this write-up about "Remote Unix access with ssh"and this one about your remote unix acccount.
|
transfer - a text file named "introduction.txt". You have an account on sputnik.smc.edu. I want you to know how to transfer a text file to your home directory there, or its "assignments" subdirectory. Create one that declares your name, e.g. "My name is David Morgan," and says something (short) about you. "I like the good L.A. weather and chocolate ice cream." The file must be a text file, not some other format like .doc or .pdf. The purpose is to make sure you know how to transfer files, since I will you to submit some homework this way. See: Remote Unix system account listen - to
this podcast
about operating systems
(transcript here) Job description for an OS: You won't understand some of it, and I considered not asking you to listen to it on the grounds that it bites off more than you can chew. But that's what the coming weeks are for. Listen to it now. Then, it would be interesting if you did so again after the course to see if I taught you anything. watch - this video that summarizes the spectrum of main OS themes in a condensed but accurate way. listen - to this 9-minute video about hardware underpinnings of information representation. anticipate, from assignment 1.5, the book's problem 1.1 at the end of Chapter 1, by reviewing the instruction execution example in Figure 1-4 of the textbook and associated discussion (which will be discussed in class). listen - to this video from the 7:30 timing mark to the end, describing addition with switches for inputting addends, lights for outputting sums, and a 74xx Texas Instruments chip to hold the "wiring" that does the math. |
OS Installation
(static slides version)
OS Installation (narrated lecture version 2h2m)
|
2 |
science-project adding-machine computer
circuits/gates as basis for binary storage
publically callable system services doing binary addition show-and-tell, instruction sets in-class exercise: |
as above
The Von Neumann Architecture of Computer Systems (paper by H. Riley) von Neumann architecture (wiki) |
do - binary
and hexadecimal addition problems Here is a supporting how-to video. Prepare your answers in this form and submit them by this file transfer method, depositing your answer file in your "assignments" subdirectory on the remote server. Please name your file "sums.txt". I will grade these using an automated script, so the format of the answer is critical to intelligibility, as is the case (lower) of the filename. (Wrongly named or placed, your file will get overlooked by the grading script.) ---------------------------------------- Parition table under the
microscope
for reference - 3 low-level dump/edit commands |
von Neumann architecture (static slides version) von Neumann architecture (narrated lecture version 32m)
Ch 1 Computer Overview (static slides version)
Ch1-part1-instruction-execution |
3 |
chapter 1 discussion in-class exercise: demo, executing data as code
show-and-tell tour of IBM PC demo - speculative, out-of-order execution for efficiency a.k.a. branch
prediction |
read - about instruction sets -Intel chip architecture -Intel
instruction set reference -a CPU
instruction view video on word sizes (8m)
view videos on instruction set manuals:
read - selections from the "IA-32
Intel Architecture Software Developer's Manual, Volume 1: Basic
Architecture."
note availability of the
current
Intel manuals (2021) read - the overview of interrupts at the very beginning of this article read - this short page about interrupts. of interest on linux systems: dstat program and /proc/interrupts pseudofile.
Try: |
do - some assembly
language. study, assemble, and run the given "hello world" assembly language program. (Your doing so will leave evidence on the remote computer as basis for grading.) This program uses one of the operating system's system calls (4 write) to do the real work. View this description of the program (video 15m) and explanation of the assignment regarding it (8m) do - make a variation on figure 1.4, |
Datastructures lists,queues,stacks (static slides version) lists,queues,stacks (narrated slides version 34m)
|
4
|
chapter 1 further discussion -interrupts |
read - begin chapter 2, "Operating System Overview."
Specifically, the section entitled "The Operating System as
Resource Manager" through the one entitled "OS Design
Considerations for Multiprocessor and Multicore." You can skip the
section on fault tolerance. Optionally read the
sections at the end specific to Windows, linux, and android and how they
implement the chapter's concepts.
read - this information about system calls |
listen - to a discussion of hardware
interrupts (transcript here-
pg 14-19) by Steve Gibson from his online podcast
series "Security
Now." (28 min. duration) "y-cruncher" is an example of a pure-cpu-bound process that computes digits of pi - y-cruncher home page - y-cruncher demo (video 28m) Specialized processing chips - GPUs, DSPs, SoCs More CPUs than 1 |
Ch1-part2-interrupts Computer Overview (narrated lecture version, part 2; 1h 36m) |
5
|
chapter 1 further discussion -memory hierarchy -cache memory in-class exercise: |
read/continue reading ch 2 |
listen - Memory
Hierarchy lecture from course Intro. to Computer Architecture (2013) by Onur Mutlu Carnegie Mellon U. listen from 4:30-8:15, 10:45-14:20, and 30:20 to 44:10 caching concept
commentary demonstrations: do - an assignment about caching using the memory heirarchy, on paper |
Ch 1-part3-caching Computer Overview (narrated lecture version, part 3; 1hr 3m) |
6
|
chapter 2 discussion historical evolution of operating systems |
read/continue reading ch 2
view - old school photos |
- |
Ch 2 Software Overview
Ch 2-part1-history Software Overview (narrated lecture version, part 1; 1hr 14m) Ch 2-part2-OSoverview Software Overview (narrated lecture version, part 2; 1hr 33m)
|
7
|
chapter 2 discussion -outcomes of efficient utilization process management challenge memory management challenge deadlock
processes in-class exercise: |
read - textbook chapters we will cover on the topic of
processes. Those are chapters 3 and 9 (process scheduling).
Important concepts about processes: Chapter 3 - read through p 139 7th edition,138 8th edition |
- | - |
8
|
processes
|
read - commentary
by scheduler author Ingo Molnar read - Completely Fair
Scheduler articles from ibm developerworks: read - concurrency related topics |
view - process
scheduler video animation do - order
is unpredictable
do - process
scheduling exercise
do - process states exercise |
Textbook's:
Ch 3 processes (static slides version) Ch3 (narrated slides version 45m)
Ch 9 process scheduling (static slides version) Ch 9 process scheduling (narrated slides version 22m)
Prof's: Processes (static slides version) Processes (narrated slides version 44m)
IPC and mutual exclusion IPC and mutual exclusion
|
9 | linux process scheduling in detail | - |
demonstration programs - as shown in class, with a readme file explaining how to use
them, in file "process_priority.zip"
Examine and play with these on your own if you wish.
|
linux
process scheduling
(static slides version)
linux process scheduling (narrated slides version 40m)
|
10 | threads
process scheduling and prioritization top utility (process display) exercise operation of threads |
read - textbook chapter 4, section 4.1 only, on the subject of threads | - | Ch 4 threads |
11 | test
memory management |
read - textbook chapter 7, on the subject of general memory management. Include the appendix, about loading and linking. |
do - address
translation. Name the file you submit "pageaddr.txt"
please. Here is an explanatory
video (25m)
do - buddy system, textbook problem 7.7a. Produce, freehand or electronically, a figure like the book's Figure 7.6 that depicts the evolving state of memory allocation following each of the problems 8 steps. Submit an image file that shows your figure under the name "buddy.jpg" or "buddy.png" please. Here is an explanatory video (16m). (The requirement is as written above, not the differing one given verbally in the video.)
|
Ch 7 Mem Mgmt (static slides version)
Ch 7 Mem Mgmt |
12 | virtual memory
in-class exercise(s): |
read - textbook chapter 8, on the subject of virtual memory
management. (Skip coverage of segmentation.) More specifically, read pp
341-347, 349-355, 358-371
listen - to a simplified explanation of the operation of translation lookaside buffers explore dirty pages and page writeout
|
do - page replacement.
Name the file you submit "pagerepl.jpg" (or .png) please. Here is an explanatory
video (25m)
Linux
memory management |
Ch 8 Virtual Mem
Ch 8 Virtual Mem |
13 | filesystems in-class exercise(s): |
read - textbook chapter 12 section titled "Secondary
Storage Management" (12.7 in recent editions)
compare - in your "ext2 filesystem" assignment we dissect the internal structure of the ext2 filesystem. For comparison, the same kind of thing is done at this tutorial on the FAT filesystem. FAT (file allocation table system) prevailed on PCs of the 1980s and 90s. Skim the tutorial and take note of its graphics. visit an ext2 analysis page; and another
|
do - ext2
filesystem. Read the
write-ups at the links it contains. Annotate a page, specifically a copy of the Excel spreadsheet indicated in the assignment write-up
(not acceptable in any other form). Submit an image of your
annotated page. Name the image file you submit "filesystem.jpg" or
"filesystem.png". Here is supporting video detailing the ext2 filesystem and explaining the assignment part1 (37m) part2 (1m) part3 (45m)
|
Ch 12 File Mgmt
Ch12 File Mgmt Linux
landscape |
14 | concurrency topics | textbook, Appendix A on Peterson's Algorithm | implement Peterson's Algorithm in C | - |