CSC 343 - Operating Systems, Fall 2020, MonWed 3-4:20 PM.
Classes are all via Zoom at class time. Zoom
student docs are here.
If you need to log in to watch a recording, go here https://kutztown.zoom.us/
and Sign In using KU login.
MEAN
vs. MEDIAN grading plan for final grades.
The CSC343 FINAL EXAM SCHEDULE via the regular Zoom class link
is:
Monday, December 7, 2020, 11:00 a.m. – 1:00 p.m.
This will be a work session on Assignment 5 for students
working on assn5.
Normal Office Hours 11/30-12/3: Monday 1-2, Tuesday
3:30-4:30, Wednesday 12-2, Thursday 3:30-4:30 or by appt. Final week office hours 12/7-12/10: Monday 1-3, Tuesday
& Thursday 11-12:30
See your course page for final exam work-session schedule.
Dr. Dale E. Parson
MonWed 3-4:20, Zoom classes & recordings, http://faculty.kutztown.edu/parson Class-time Zoom link for CSC343: See D2L Course CSC343
-> Content -> Overview for the link. IF you don’t want to be recorded or are a minor, use
PRIVATE ZOOM CHAT to me for questions.
Please fill out & email Dr. Parson this
permission to record slip. I will use it to take
attendance in week 1.
The course is 100% via Zoom at class time. I will record &
post class videos, but want you there at class time. Thanks.
KU Campus Mask policy: Resident students must wear a
mask anytime they are outside of their personal room and
within a building or with anyone else but their roommate.
Commuter students must wear a mask anytime they are on campus
within a building or with anyone. The course is 100% via Zoom
at class time. I will record & post class videos, but want
you there at class time.
PA: The Secretary's Order requires individuals to wear
a face covering, in both indoor public places and in the
outdoors when they are not able to consistently maintain
social distancing from individuals who are not members of
their household, such as on a busy sidewalk, waiting in line
to enter a place, or near others at any place people are
congregating. Whether inside in a public place or outside, and
when wearing a face covering or not, everyone should socially
distance at least 6 feet apart from others who are not part of
your household.
Dr. Dale E. Parson, parson@kutztown.edu, Office hours: https://kutztown.zoom.us/j/94322223872
Office Hours Monday 1-2, Tuesday 3:30-4:30, Wednesday 12-2,
Thursday 3:30-4:30 or by appt.
Chapter 1 -- Introduction
Chapter 2 -- Operating System Structures Chapter
3 -- Processes Chapter
4 -- Threads Chapter
5 -- Process Synchronization
~parson/OpSys/PipesPrisoners2018.problem.zip and
PipesPrisoners2018.solution.zip,
Player*.java files show synchronization solutions using
atomics, locks, and semaphores.
Here are Java doc
pages for java.util.concurrent,
java.util.concurrent.atomic,
and java.util.concurrent.locks. Chapter
6 -- CPU Scheduling
The handout
on the STM sample(...) function will be useful in
upcoming assignments. State
machines for first-come first-served, shortest job
first, and round robin CPU schedulers Chapter
7 -- Deadlocks Chapter
8 -- Main Memory Chapter
9 -- Virtual Memory The 2013
STMs for PAGING -- FIFO paging, LRU paging & LRU
paging with dirty bit consideration -- have the same graph.
FIFO uses a FIFO queue,
LRU uses a priority queue sorted on use recency, and LRU w.
dirty bit sorts on clean-vs-dirty status & recency.
FIFO puts each new (page
-> frame) mapping in a FIFO queue, pulls a victim frame from
front when no free frame is available.
LRU uses simulation time()
as priority for a min-queue, removes from queue and reinserts on
every memory reference.
This
queue manipulation is for simulation only. Hardware bits in TLB
track most recent usage for each page -> frame reference.
LRU-dirty uses (dirty,
time()) as priority for min queue, preferring clean-page victims
because it doesn't have to page them out,
because
there is already an identical clean copy sitting on disk. Dirty
victims need to be paged out when victimized. Chapter
10 -- Mass Storage Systems Chapter
11 -- File System Interface Chapter
12 -- File System Implementation Chapter
13 -- I/O Systems Chapter
14 -- Protection Chapter
15 -- Security Chapter
16 -- Virtual Machines Chapter
17 -- Distributed Systems Chapter
18 -- The Linux System Chapter
19 -- Windows 7 Appendix
A -- Free BSD
ASSIGNMENTS
Users of the vim editor: Nathan Rew
has graciously coded vim config files for syntax highlighting of
our STM source code.
Please see
~parson/OpSys/STMSyntax/ for instructions in READMEstm.txt and
the two config files. Thanks, Nathan!
Assignment
1 on completing a tutorial state machine is due by
11:59 PM on Thursday September 17 via make turnitin.
Assignment
2 on modeling unbounded & bounded buffers is due
by 11:59 PM on Thursday October 15 via make turnitin.
Assignment 3 on modeling
CPU (a.k.a. context) scheduling due by 11:59 PM on
Thursday November 12 via make turnitin.
Assignment 4 on modeling
page replacement algorithms is due by 11:59 PM on Thursday
December 3 via make turnitin.
Assignment 5 adding CPU
burst time estimation and preemption to shortest-job first CPU
scheduling is due by 11:59 PM on Thursday December 10
via make turnitin.
ZOOM Recordings August
24 video - First day handout & related policies,
overview of the semester, COVID@KU graphical simulation,
Q&A. August
26 video - We started looking at the Human1STM
state machine code & build/test environment as an
example. August
31 video - Completed detailed analysis of the Human1STM
state machine code & build & test setup. September
2 video - Walked through the ~parson/OpSys.tag_2020.zip
state machine & started Assignment
1. Work session 9/9. September
9 video - We completed walking through assn1 code and
handout. PLEASE SEE ASSN1
PAGE 1 UPDATED IN RED. September
14 video - We worked on Chapter 1 slides up to "Clustered
Systems", used end of class for Q&A on Assignment 1. September
16 video - Went from "Clustered Systems" in Chapter 1
slides to "System Call Parameter Passing" in Chapter 2. September
21 video - Went from "System Call Parameter Passing" in
Chapter 2 to "Interprocess Communication" in Chapter 3. September
23 video - We finished out Chapter 3 on Interprocess
Communication. September
28 video - Went over Chapter 4 slides on Threads. September
30 video - Went over Assignment 2 up through Part 3
PolledRendevous.stm. October
5 video - Started Chapter 5 slides up to Mutex. October
7 video - Examined state machine code in
~parson/OpSys/criticalSection2020 for Unsafe, Atomic, and Mutex
synchronization. October
12 video - Semaphores through Condition Variables slides,
some STM code.
Textual outline of Mutex without Condition Variable
and Mutex with Condition
Variable. October
14 video - Condition variables through end of Chapter 5
slides. STM sample() function for exponential &
revexponential curves.
October 19 video - (REMOVED) My solution to assn2. Java
examples of Mutex, Condition Variables, & Binary Semaphores. October
21 video - Chapter 6, processor (a.k.a. CPU or context)
scheduling slides, related materials. October
26 video - Complete examination of Assignment 3
requirements on CPU (context) scheduling for threads. October
28 video - Overview Chapter 7 Deadlocks, start Chapter 8
Main Memory. November
2 video - Memory management, relocation registers &
segmentation, start paging & translation look-aside buffers. November
4 video - Translation look-aside buffers through start of
Chapter 9 demand paging and victimization algorithms. November
9 video - Finished Chapter 9 on demand paging, thrashing,
working set, looked over a state machine model on swapping. November
11 video - Work session on Assignment 3, mostly
round-robin modeling detail Q&A. November
16 video - Start looking at Assignment 4 on demand paging,
page replacement algorithm modeling. November
18 video - Complete going over Assignment 4, also Median
vs. Mean semester grading plan. November
30 video - Go over Assignment 5 handout, answer questions
about Assignments 4 & 5.
The Q&A about TLB hardware bit(s) for
LRU-dirty, assn4 README Q4, starts at 39:50 in the recording. December
2 video - Chapter 11 on File System Interface, including
examples from acad.