CS40 Operating Systems

David Morgan
Santa Monica College
see syllabus for email address


Administrativa

Syllabus
Grade information

Information

Stallings book's site
 6th edition
 5th edition
 4th edition

Remote Unix access with telnet

Using ftp

Caching

Linux links
Linux man pages

Fundamental Unix Commands

System calls

Disks & booting:
 - Partitioning primer
 - Linux loader doc
 - Comparative MBRs
 -Interpreting Partition Records
 - Future of BIOS

Sys. architecture
(disk organization)

Punched cards

Memory mgmt:
 - Segmentation
 - Page replacement
 - Intel architecture (pdf)
 - Management types

Code relocation

Overlays
 - code composition
 - memory organization 

Threads

Filesystem analysis

Files vs devices

Foundation concepts:

ASCII chart

Sys. architecture (interrupts)

Sys. architecture
(disk organization)

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

 Instruction sets
   -Intel instruction set
   -Intel chip architecture

  -Others
  -CPU registers
  -a CPU instruction

An assembler program
  -source code
  -explanation 

Symbol management

Data structures
  - Datastructures
  - Linked list of states

Compile/link/load

Slide presentations

Stallings TEXTBOOK's:

Background
Ch 1 Computer Overview
Ch 2 OS Overview

Processes
Ch 3 Process
Ch 4 Threads
Ch 5 Concurrency
Ch 6 Concurrency

Memory
Ch 7 Mem Mgmt
Ch 8 Virtual Mem

Scheduling
Ch 9 Scheduling
Ch 10 Scheduling

I/O & Files
Ch 11 I/O Mgmt
Ch 12 File Mgmt

Distrib Systems
Ch 13 Client/Server
Ch 14 Distrib Mgmt

Security
Ch 15 Security


PROFESSOR's:

OS Installation

Memory Mgmt

Process Mgmt

Datastructures

Linux landscape

linux process scheduling

 

SPRING 2009
Section 4154 6:30p - 9:35p Fri Bus 259

This Website (http://homepage.smc.edu/morgan_david/)  will be used extensively to communicate with you. Announcements, grade reports, and assignments will be posted here. Please access the website from any SMC computer lab. Alternatively, it can be viewed from an internet-connected browser anywhere. You are responsible for awareness of the information posted here.

Not just me -- everybody's talkin' about it:

from Linux Journal, July 2009 issue

Grades updated - to reflect all the changes/adjustments that were discussed with you individually last night during class. (6/6)

Linux process scheduling materials - the slides from last night are at the link, lower-left, entitled "linux process scheduling". The demonstration programs with a readme file explaining how to use them are in file "process_priority.zip" available from sputnik via anonymous ftp. (6/6)

Final exam will be in-class, closed-book. Please bring a scantron form. Held Friday, June 12, 6:45-9:45pm in our regular classroom. (6/5)

Grades, please check - updated to include assignments 8 (page replacement) and 9 (process scheduling). I believe I've graded the full range of assignments, and all the individual submittals for each. If there are any oversights, omissions, anomalies in the grade report please let me know. (6/5)

Grades - updated to include assignment 7 and the individual changes brought to my attention last night. (5/30)

Homework
do - assignment 10, analysis of a 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). Due on on paper in class 6/5.
read - write-up at the link entitled "Threads" (5/29)

Final exam scheduled time for our class is Friday, June 12, 6:45-9:45pm (5/28)

Homework
read - textbook chapters we are covering now 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.
do - assgt 9. Due on sputnik end-of-day Saturday May 30.
 (5/22)

Homework -
Read - chapter 8, skip coverage of segmentation.
Do - assgt 8. Please turn in, on paper, in class 5/22. (5/15)

"memory3.c" memory exhaustion / virtual mem demo experiment:

  classroom dell rh (old P166) monarch V1
RAM 512 512 64 1037 64
swap 1024 1024 150 2048 313
           
slowdown     51   45
termination 1309/1450 1434 198   325

Grades - updated and complete over all assignments given, to the best of my knowledge. Please check your grades and bring to my attention any apparent omissions or errors. I'm happy to check and adjust, but won't be looking further at these assignments except when somebody lets me know I should. (5/15)

Homework -
Read - textbook chapters we are covering now on the topic of memory management. Those are chapters 7 and 8.
Do - assgt 7. Name the file you submit on sputnik "pageaddr.txt" please. Submit by 5/15
Anticipate - assgt 8, upcoming. (5/8)

Memory management - broad current topic of current interest. See link entitled "Management types" for an outline of different techniques and approaches. (5/8)

Grades - test graded and posted. Please see at link entitled "Grade information." (5/8)

CS Department Open House - Tuesday. May help you gather info to help decide courses to take in the future. See flyer1 and flyer2.  (5/7)

Test - Friday May 1. Please bring a Scantron form (green #882). (4/24)

Homework -
do
- assgt 3.5, an assembly language program. due on sputnik by end-of-day Thursday April 30 (4/24)

Sputnik back up Friday night - email me if it again goes down please. (4/10)

Sputnik is alive - in a temporary new home. It is accessible for login and file transfer as before, but at a different URL. For now please reach it as follows:

  telnet  sputnik.dmorgan.us
  ftp  sputnik.dmorgan.us

(or per your particular telnet or ftp client if you don't use command line). Please submit the backlogged assignments you have been holding. Although the URL differs, the machine does not. You are communicating with the self-same sputnik machine, with your home directories in place as last seen before the machine became inaccessible last month. I will advise you when sputnik has been moved back to it's original URL, probably in a timeframe of a couple weeks, following spring break. Thank you for your patience. (4/9)

Homework -
read
- chapter 2, "Operating System Overview" (3/27)

Slides we're viewing
 "OS Installation" - about partitions, MBR, boot process, filesystems etc
 "Ch2 Operating System Overview"
 "Datastructures"  (3/27)

Please hold homework for sputnik's revival - sputnik remains down. Do the homework but kindly hold on to it until sputnik becomes available again, and put it on sputnik then. (3/22)

Slides we're viewing
 "Ch1 Computer Overview" - about interrupts, caching, etc
 "OS Installation" - about partitions, MBR, boot process, filesystems etc  (3/22)

Jobs for which operating systems have responsiblity:
 Internal
  memory management
  process management
  device management
  file management
 External
  user interface

Homework -
do
- assgt 3 cmds
do - assgt 2 ftp
do - assignment at the link entitled "Assgt. 2.5" in the column at right. It consists of some addition problems to do in the binary and hexadecimal number systems. Submit your answers to the questions following these preparation and submittal instructions (you will use ftp to deposit your answer file in your "assignments" subdirectory on sputnik; create it if it isn't already there; here's how.). 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.
   - above 3 due on sputnik.smc.edu by end-of-day Thursday March 19
do - 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. - due on paper in class Friday March 20 - NOT DUE 3/20, 3/27 instead
read - chapter 1 appendix b regarding the role of stacks in procedure calls (3/13)

Adding 3 plus 2 in real life - look at Figure 1.4 in the William Stallings text book. It exemplifies a machine language program that adds 3 plus 2. I wrote such a program myself to do exactly that, in order to embody the Figure in real life. See the in-class exercise at the link entitled "3+2=5" below right. (3/13)

No class meeting March 6 - SMC classes not held that day. (3/4)

Listed homework assignments at right - will not necessarily all be assigned. So don't go off and try to do them all on that erroneous assumption. They will be assigned selectively and explicitly. (2/25)

Textbook - Operating Systems: Internals and Design Principles, sixth edition, William Stallings, Pearson Prentice Hall. It appears to be offered in an online form (not familiar to me before this week, not sure if equivalent in content). (2/19)

Requests  
- please don't change the root account passwords on the lab computers, as other classes use them.
- please turn the computers off at the end of class. I make the rounds and do it but it would be helpful if you turned off your own machines. In linux, "poweroff" at a command prompt does the job. (2/19)

Homework - please
 - do assignment 1 (read "Remote UNIX system" below and the link entitled "Remote Unix access with telnet" at left).
 - read chapter 1 of the textbook
 - read the 7 links about binary and other number systems, below left, under the heading "Number bases" in the "Foundation Concepts" section.
 -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. (2/19)

Foundation concepts you should be(come) familiar with as background/prerequisite for this class:
 Data structures (lists, stacks)
 Binary and hexadecimal number representation
 Compiling/linking/loading (symbols, address fixups)
 ASCII code
 Processor instruction sets
 System architectures (bus, data lines, interrupt lines)
 Use of telnet
 Use of ftp

Remote Unix system
Your username - your last name as it appears on my class list, all lowercase. Duplicate last names were resolved by appending as many letters of the first names as needed to "break the tie." So if your lowercase last name doesn't work, add your first initial to it. Students in both CS40 and CS70 got 2 accounts, one is the last name with "40" appended, the other the last name with "70" appended
Your password - is 5 digits extracted from your phone number. If your phone number is 123-456-9876, then your password will be 56987 (final 2 digits from the 3-digit exchange, plus first 3 digits of the 4-digit number).
The target computer - is sputnik.smc.edu
Log in method - Assgt 1 asks you to "log in." Translation: use telnet as discussed in class and described in the "Remote Unix access with Telnet" link at left. (2/19)

 

 

Eniac - 1946

Milestone in the history of computation

Assignments/due

Assgt. 1 telnet

Assgt 1.5 textbook

Assgt. 2  ftp

Assgt 2.5 add

Assgt. 3 cmds

Assgt 3.5 assembly

Assgt. 4
session capture

Assgt 5 linux mem

Assgt 6 memseg

Assgt 7 pageaddr

Assgt 8 pagerepl

Assgt 9 scheduling

Assgt 10 filesystem


In-class exercises

line termination

3+2=5

MBR dump

Virtual memory swap

Operation of threads