CS 460 Schedule

Date
Topic
Notes
Assignments
Jan 30 Intro (ch 1) POSIX

7 POSIX Parts
Linux Refresher!

Linux Practice
Feb 01 OS Structure (ch 2)

Feb 06 Catch up!
Lecture 1

Lecture 2
Assignment One (strace)

Appendix

Linux Practice Solution
Feb 08 Linux Boot Process Arch Boot Process

systemd
(read 1.1-1.3)

Lecture 3

GitLab Permissions

Feb 13 Install Arch Linux

Build Linux Kernel
 
Arch ISO

In Class Instructions

Arch Install

KernelNewbies
Practice Questions
(not graded)
Ch 1
1.1, 1.4, 1.6, 1.7, 1.8, 1.25

Ch 2
2.1, 2.2, 2.5, 2.6, 2.8, 2.16


Install Practice Questions
Feb 15
CS Lab Assignment One

Strace Lab and discussion
Intro to Processes
Intro to ELF


Script!

glibc

UPDATE

nanosleep

printf
vfprintf


perror
builtin_expect
fwide
fileno
fdopen
__glibc_unlikely
Assignment One (strace) DUE



strace/ltrace/ELF Practice Questions

Feb 20
Finish Arch Install


Processes (ch 3)

Assignment Two (Shell scripting) DUE FEB 28

Groups

Sample Output

Practice

Practice Questions
(not graded)
Ch 3
3.3, 3.7, 3.10, 3.13
Feb 22 Processes
Lecture 3

Code Examples

Linux Kernel

task_struct

read-copy-update

Feb 27          Unix Shell | dup2, pipe dup2 and gdb

syscall

Arch News
Assignment Two DUE (FEB 28)

Assignment Three (Shell)

gdb

quick gdb reference

Mar 01 CS Lab fork()/exec() Lab
Instructions DUE MAR 6 11:59pm

Src Code

PA2 Grading Script

PA2 Expected Output
Mar 06 Review Review
Assignment Three M1 DUE
Mar 08 EXAM
M1 test case

M1 stress test

Mar 13 Threads (ch 4) Lecture 4

C Coding
Shell Hints


strtok

strtok_r

strtok_r
test code


gcc

Mar 15 Threads task_struct

parent process

pid/tpid

memory map
(slide)

Thread Local Storage & ELF
Assignment Three M2 DUE

M2 Test Case
M2 Stress Test
Mar 20 Threads Examples
gcc usability improvements!

Thread Code Examples



DUE April 5

Spreadsheet

Mar 22 Threads Lab Day
Lab Code
Read Questions.txt
FRIDAY AT NOON
Assignment Three M3 DUE
Grading Rubric!
Stress Test




Assignment Four (Game of Life)'

TEST CASES:

smallGame.life
smallGame.gen3.life

./CS460_Life testcases/smallGame.life testcases/smallGame.gen3.life 1 3


tinyGame.life
tinyGame.gen1.life

./CS460_Life testcases/tinyGame.life testcases/tinyGame.gen1.life 1 1

tinyGame.gen2.life

tinyGame.gen3.life
Mar 27 Spring Break 

Mar 29 Spring Break


Apr 03 pthread Cond Wait example

Process Synchronization(Ch 6)
Lecture 5

CondWait

pthread_cond_wait

pthread_cond_signal
Threads Review
Apr 05



Apr 10 CPU Scheduling (Ch 5) Lecture 6

Linux Scheduler

Linux Scheduler Tech Report
Assignment Four M1 DUE

Grading Rubric

Synchronization Review

Scheduler Review
(Note: Only material covered in class before April 17 will be on the midterm)
Apr 12 unlikely(CPU Scheduler Lab)

Apr 17 Review
Brief Exam Review

PA4 Timing Data
Apr 19 EXAM
Assignment Four M2 DUE
APRIL 20, 11:59 pm!

Milestone 2 Rubric
Apr 24 Linux Scheduler

Scheduling Lab
SchedLab.tar.gz

SchedulingLab.pdf

Apr 26 Main Memory Lecture 7
Beast

Systems Programming
i7 Cache
May 01 Main Memory

unlikely(gdb dynamic loader lab)
Linux Programming Interface
Assignment Four M3 DUE 11:59pm

Memory Review
May 03
Main Memory

Discuss Game of Life results
Course Evaluations!

gcc -O3

O3 descriptions
1, 2

Lecture 8
Assignment Four timing data due in the spreadsheet at 1 pm
May 08 Review
Final Exam Review
May 12
SATURDAY - 3-5:30 pm  FINAL EXAM