CSC 343 - Operating Systems, Spring 2024, TuTh 12-1:20 or 1:30-2:50. Old Main 159.
FINAL EXAM TIME SLOTS -- We will go over my solution to
Assignment 4.
Noon class: Tuesday,
May 7, 2024 8-10 a.m.
1:30 class:
Thursday, May 9, 2023 2-4 p.m.
Dr. Dale E. Parson, parson@kutztown.edu, Office hours:
https://kutztown.zoom.us/j/94322223872 Office Hours Monday 3-5 PM, Tuesday 3-5 PM, Thursday
10-11 AM, or by appt.
All office hours are either Zoom (preferred) using the above
link or at Old Main 260. Thursday May 9
office hour switched to 1-2 PM, others as
above.
Handouts
Windows users can download the WinSCP file
transfer client in the Computer Science sub-menu
below here.
Here
is initial documentation on the State Machine
language (STM) that we will use for projects. STM.doc.txt documents the
STM's library functions and events.
(Edit
8/26/14: Added :/usr/bin to the PATH in the above document. Added export
TERM="xterm".
We will
ssh mcgonagall
to run our projects. Do not run them on
acad!) Here
is a conference
paper on the
Fall 2013 use of STM in the course.
We will use one or more of these models under
~parson/OpSys/ on acad / mcgongall to introduce
the state machines.
Make sure to attend and watch
the Zoom videos.
[:-) ~/OpSys] ls -ld hi*
demo* prisonerd2020*
-rw-r--r--. 1 parson domain
users 17983 Aug 23 10:42 demo1fall2020.zip
-rw-r--r--. 1 parson domain
users 26781 Sep 1 23:24
hitakeslo2020.solution.zip
-rw-r--r--. 1 parson domain
users 26895 Aug 21 16:09 prisonerd2020.zip
Assignments -- From acad
you must "ssh mcgonagall" to build & test all
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!
If you are new to working on our Linux
systems, you can bring up a Windows CMD prompt and from there: ssh
YOURLOGINID@acad.kutztown.edu
It is possible to use
the scp,
ssh-based file copy command in
Mac or Windows command line
utilities.
If
you do not have a favorite Linux text editor, try running nano
on acad. Assignments must run on mcgonagall.
ASSIGNMENT
1 is due at 11:59 PM on Thursday February 22
via make turnitin on the command line.
ASSIGNMENT
2WAS due at 11:59
PM on Thursday March 14 via make
turnitin on the command line.
As of March 11, anyone
turning it in by end of March 14 gets 10% bonus points.
Bugs still count as before.
The final due date is now Thursday March
21 at 11:59 PM with a 10% per day late penalty.
Anything coming in after I go over it in
class March 26 at noon is worth 0%.
ASSIGNMENT
3 on context scheduling is due at 11:59 PM on
Thursday April 11 via make turnitin.
ASSIGNMENT 4 on
Using Reference Strings to simulate page replacement algorithms
in demand paging, make turnitin
due by 11:59 PM on Thursday May 2.
Make sure to do STUDENT
F for FIFO, LRU, and LRUDirty. April 4 class is
examination of 2021
Assignment 4 on variations of process swapping.
I will go over
~parson/OpSys/swap4prj2021.solution.zip demo in class.
ASSIGNMENT
5 is a README Q&A on my extension to ASSIGNMENT
4. You have no coding
to do. I have updated ASSN4 code. I have made
the frameCount and statistical distribution
of page references vary from ASSN4 to measure
their effect on the page replacement timing. It is due as a text file via
D2L Assignment 5 by the end of Thursday May 9.
You do not need to use acad or mcgonagall for
this assignment. It is in place of a final exam.
I will answer questions about the frameCount and statistical
distribution of page references,
but I will not answer questions about the
README Q1-10 beyond clarifying any confusing wording.
ZOOM Recordings
Jan
23 Class Intro to operating systems and discussion of
state machine diagram models.
There is dead space from around 10 to 17
minutes when we lost power in Old Main 159. Jan
25 Class Went over example state machine code and generated
diagram. To try it on acad:
cd $HOME ; mkdir OpSys ; cd
./OpSys ; cp ~parson/OpSys/demo1fall2020.zip
demo1fall2020.zip
unzip demo1fall2020.zip ; cd
./demo1fall2020 ; make clean test
make graphs # Try this on acad, not
mcgonagall. Let me know if it fails. Jan
30 Class Went over last spring's Assignment 1 as an
example. Spring
2023 Assignment 1 demo and state
diagram for that assignment.
Code on acad or mcgonagall is at
~parson/OpSys/hideAndSeek2023.solution.zip Feb
1 Class Went over our Assignment 1. Tuesday Feb
6 will include 60 minutes work time. Feb
6 Class First 15 minutes were Chapter
1 slides up to interrupts, the Assignment 1 Q&A. Feb
8 Class a few clarifications on Assignment 1, Chapter
1 slides interrupts to start of memory. Feb
13 Class (remote) completed Chapter 1 slides process
management to file systems.
Started Chapter 2 through slide 5. Feb
15 Class finished Chapter 2 and start Chapter 3 up to
slide 7 Process State. Feb
20 Class finished Chapter 3 slides on processes including
running examples on mcgonagall.
Thursday's 1:30 class will not be held
because of a meeting affecting Rohrbach Library funding.
1:30 students are welcome to attend the noon
class (same room & Zoom link) or watch the
video that I will post
here after the Rohrbach meeting. Feb 22 Class Chapter 4 on threads
started Chapter 5 to slide 9, live examples on Linux bash &
Java. Feb
27 Class went over solution to Assignment 1
then Assignment
2 handout specs and code.
Thursday February 29 will be a work session
on Assignment 2. Feb
29 Class work session, especially using enq() and deq()
examples from Mutex.stm, and sample(...) from Assn1.
Note that enq() and deq() are
spelled with the letter "q", not "g", which appeared in a
comment. Mar
5 Class Chapter 5 slides up to Monitors plus examples of
atomic spin locks and mutexes in Java.
Some material related to Assignment 2 near
the end of this recording. Mar
7 class Chapter 5 Monitors & Conditional Variables
thru Ch. 6 Shortest-job First CPU scheduling
with examples from state machines & Java
code. First 2 mins. 48 secs. are silent (mic was muted). Mar
19 class Chapter 6 slides on FCFS thru RR context
schedulers and then Part
1 of Assignment 3. Mar
21 Class Completed going over Assignment 3 handout and
then some more Chapter 6 slides. Mar
26 Class Assignment 3 work session questions &
answers. (Assn2 solution removed.) Mar
28 Class Finish Chapter 6 on CPU scheduling, race through
Chapter 7 Deadlocks, and then
Chapter 8 up through slide 23. Apr
2 Class Finish Chapter 8 on memory, segmentation, start of
paging including acad examples
of content-address-memory for translation
lookaside buffer registers (TLB). April
4 Class went over swapping-simulating state machines. April
9 Class start Chapter
9 slides up to page replacement algorithms with Linux
examples. April
12 Class Went over a few slides related to Assignment 4
then Assignment 4 handout.
Next class will be a work session.
April16 Class My Assignment 3 README answers
(link REMOVED),
no real Q&A about Assignment 4 during
the work session. April
18 Class Finish Ch.
9 on Virtual Memory, Ch.
10 on storage systems, start Ch.
11 on file systems. April
23 Class Finish Chapter
11 on file systems. April
25 Class Went over Assignment 5 handout.
Tuesday 4/30 will be a work session. April
30 Class Explanation of interpreting Assignment 5
diagrams to answer its README questions,
also an explanation of how to approach
Assn4 Q3. Most of work session not recorded. May
2 Class Chapter 12
slides (File System internals) for the noon class and Chapter
13 slides (IO) for the 1:30 class.
Make sure to do STUDENT F for FIFO, LRU, and
LRUDirty in Assignment 4. May
7 Class (8 AM exam session) 1] advice for Assignment 5,
then 2] Assignment 4 solution (assn4 removed).