topic # Topic Reading Homework Slides
1 administrativa

primitive computers and binary number representation
 - my junior high classmate's hardware-store science project computer
 - Ed Roberts, Altair (1st microcomputer)
 - Leonard Kleinrock,  first IMP (interface message processor)

demo - installing an OS on a PC

chapter 1 of the textbook (it's dense, and we'll spend a couple weeks on it)


these links about binary and other number systems

Number bases:
  -Hex tutorial
  -Hex advocacy
  -Binary numbers
  -Number systems
conversion tools:
  Table, or
  Calculator
   - binary
   - hexadecimal


this write-up about "Remote Unix access with ssh"and this one about your remote unix acccount.

log in - to your remote unix account. I will see your login history and record a minor grade credit for your having logged in. Log in by next week. After logging in, get back out by running the "exit" command.

listen - to this podcast about operating systems (skip the part from the 6:00 minute mark to the 39:00 minute mark). It spans a lot of topics that we'll encounter in coming weeks, in a broad summary touching on the jobs that operating systems do. 

Job description for an OS:
Internal jobs
 memory management
 process management
 device management
 file management
 offer callable  system service functions
External job
 user interface

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.

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).

OS Installation
2

science-project adding-machine computer
 could change addends but not operation
 re-engineer: more switches to select operations
  leads to "instruction set"

circuits/gates as basis for binary storage
 (reference to disk, CD, coins)

publically callable system services
 (an OS feature)

doing binary addition

show-and-tell, instruction sets

in-class exercise:
 installing an operating system on a (virtual) PC

as above


Programing the ENIAC

The Von Neumann Architecture of Computer Systems

von Neumann architecture (wiki)

do - binary and hexadecimal addition problems 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.)

----------------------------------------
line termination conventions per OS

MBR dump

Parition table under the microscope

Tools:
od command usage  - to dump files (and other data) in octal (and other) formats

for reference - 3 low-level dump/edit commands
  xxd's documentation
  od's documentation
  bvi's documentation

OS Installation

von Neumann architecture

Ch 1 Computer Overview

3

chapter 1 discussion
 -PC and CPU components/architecture
 -instruction execution (figure 1.4)

in-class exercise:
 3+2=5 (implementing textbook figure 1.4)

demo
 executing data as code (inf520)

show-and-tell tour of IBM PC

read - about instruction sets

   -Intel chip architecture

  -Intel instruction set
    vol A - instructions A-M
     vol B - instructions N-Z

  -a CPU instruction
 

  -Other chips/makers/instruction sets

  -CPU registers

read - selections from the "IA-32 Intel Architecture Software Developer's Manual, Volume 1: Basic Architecture."
 pp3-13 to 3-15 about registers in the Pentium
 pp3-20 to 3-22 about the EFLAGS status register (ie, Intel's PSW program status word)
 p 3-24 about the EIP instruction pointer register
 p 3-26 about operands
 p 3-33 secion 3.7.7 "I/O Port Addressing." This relates to the assignment wherein you are asked to consider directing code to an I/O device (e.g., disk), as opposed to memory, for data source and destination.
 pp 5-2 to 5-9 about general-purpose instructions, described and listed

read - the overview of interrupts at the very beginning of this article

read - this short page about interrupts. Click and read the link "Why Interrupts Are Used to Process Information."

of interest on linux systems: /proc/interrupts pseudofile and dstat program

do - some assembly language.
study, assemble, and run the given 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.

do - make a variation on figure 1.4, on paper

Ch 1 Computer Overview
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 by Steve Gibson from his online podcast series "Security Now." (28 min. duration)

Specialized processing chips - GPUs, DSPs, SoCs

More CPUs than 1
 cluster
 multiprocessor
 multicore

-
5

 

chapter 1 further discussion
 -memory hierarchy
 -cache memory

in-class exercise:
 waste time

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

do - an assignment about caching using the memory heirarchy, on paper

-
6

 

chapter 2 discussion
 historical evolution of operating systems
read/continue reading ch 2

view - old school photos

- Ch 2 Software Overview
7

 

chapter 2 discussion -outcomes of efficient utilization
 process management challenge
 memory management challenge

deadlock

processes

in-class exercise:
 deadlock

read - textbook chapters we will 

cover on the topic of processes. Those are chapters 3 and 9 (process scheduling). You don't need to read much of chapter 9, just enough to enable assignment 9.

- -
8

 

processes read - commentary by scheduler author Ingo Molnar

read - Completely Fair Scheduler articles from ibm developerworks:
article 1     article 2

 

do - process scheduling exercise

view - process scheduler video animation

run a program - to demonstrate that process scheduling order is unpredictable

Textbook's:

Ch 3 processes

Ch 9 process scheduling

Prof's:

Processes

Homemade shell

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

 

linux process scheduling

 

10 in-class exercises:
 process scheduling exercise

 operation of threads

test

threads

read - textbook chapter 4, section 4.1 only, on the subject of threads

Threads

- Ch 4 threads
11 memory management read - textbook chapter 7, on the subject of general memory management do - address translation. Name the file you submit on sputnik "pageaddr.txt" please.


----------------------------------------

address calculation under memory segmentation

Ch 7 Mem Mgmt
12 virtual memory

in-class exercise(s):
 Virtual memory swap

read - textbook chapter 8, on the subject of virtual memory management. (Skip coverage of segmentation.)

scan or read lightly - this article about memory exhaustion in linux. It uses a sample memory-exhauster very similar to our memory3.c, and describes in more detail how the kernel is handling the situation.

do - page replacement. Please turn in, on paper, in class


----------------------------------------

Linux memory management
illustrating effect of using virtual memory


Ch 8 Virtual Mem
13 filesystems

in-class exercise(s):
 device vs file

read - textbook chapter 12 section 12.6 "Secondary Storage Management"

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. 

ext2 filesystem analysis

visit an ext2 analysis page; and another

 

 
do - ext2 filesystem. Read the write-ups at the links it contains. Do it on paper, specifically on a copy of the Excel spreadsheet indicated in the assignment write-up (not acceptable in any other form). You can use the copy distributed in class which you marked up there.

 

Ch 12 File Mgmt
14 - - - -