arrowThe Left Navigation Bar:
Links to class syllabus, assignments, projects, examples,
web tools, downloads, & more (possibly useful) information.
Note: Links are specific to course.


Welcome to CS 308, Operating Systems!

A general overview of the ideas underlying operating systems.

Included are traditional topics such as file systems, CPU scheduling, memory management and device scheduling, along with the topics of more current interest such as deadlock handling, process synchronization and distributed systems. No single operating system is studied; examples are drawn from many sources.

Prerequisites: CS-207 minimum grade of C and CS-301 minimum grade of C.

 

blocks

 

Web site content is subject to change, consider checking this page at least twice weekly or read the Course discussion space for Update notifications.

 

blocks

 

Computer Science Tutors:

Computer Science Tutor Information: https://cs.neiu.edu/pkimmel/cstutoring/

Student Center for Science Engagement (SCSE)Computer Science Tutor Information:
https://www.neiu.edu/academics/our-centers-and-programs/student-center-science-engagement
(the link to tutoring is on the right side near the bottom of the page)

See the Programming Sequence Google Chat Space for the Peer Leader Team Schedule as well as locations and updates to both tutoring and peer leader availability.
If you do not have access to the chat space, please email me and I will invite you.

blocks

 

Required Textbook:
 
Operating Systems Concepts, 10th Ed.,
Silberschatz, Galvin, Gagne,
ISBN: 978-1-119-29967-7
It is preferable that you have the hardcover version rather than an electronic copy of the book.
The 10th edition is a much improved edition and content has been moved into different sections and chapters considerably over past editions.

 

There is a copy of the course textbook on reserve at the library. You may use it in the library if you do not have a copy of the book.

 


 

You are responsible for the reading that is assigned in the syllabus and listed below in the Weekly Schedule.

blocks

Weekly Schedule: reading assignments,written assignments,virtual assignments...

The sign of a prepared student, textbooks in hand, along with materials for note-taking, ready at the first class.

 

Quick Links to:

Week 01 :: Week 02 :: Week 03 :: Week 04 :: Week 05

Week 06 :: Week 07 :: Week 08 :: Week 09 :: Week 10

 

 


Week # 1 - (5.20.24 - 5.26.24)

Content to discover/learn for this week...

Welcome!

This week the plan is to get acquainted with our online environment for this course.
Please watch the video tour of our learning environment.

This course is broken into Weekly Modules.
The modules start on Mondays and conclude on the following Sunday by 11:59 p.m.

Deliverables:
 
The work that you will do to demonstrate your understanding of the course content is marked in a blue box with gold text as shown here.
In each box you will also see the availability date (if it is a quiz)
as well as the due date for the deliverable (if it is a quiz or assignment).
 
It will also contain the assignment specifications.
Quizzes are located in D2L > quiz tab.

text captioning of Welcome Video

n.b. The above video is a general introduction to this online course, please the see my current home page, current course home page, and current D2L course shell for current semester office hours and syllabus for current semester course requirements.
There are no video assignments this semester.

 

Read the syllabus

A link to the syllabus is located in the navigation bar located on the left side of this page.

The syllabus contains the plan for the course.
Here is a "short list" of some of the key details that you will find in the syllabus:

Explore the course home page

Time to check out this place!
← View the links in the navigation bar on the left side of the page - click on them - and check out the content.
Try out the quick links at the top of the page.
Then, LOOK AHEAD at the plan for Week 2.

Complete the Syllabus Quiz

Quiz:
Syllabus Content
available Wednesday at 12:01 a.m. and due by Sunday 11:59 p.m.

 

 


Week # 2 - (5.27.24 - 6.02.24)

Monday, May 27, 2024 - Memorial Day Holiday - University Closed/No Classes

Content to discover/learn for this week...

Overview: Introduction

Read Part I: Overview - Introduction (Chapter 1)

Take notes from reading: Study Guide 1.1 - 1.4

Video Lecture

text captioning of Overview: Introduction 1.1 - 1.4

 

Check out additional videos and reading

Watch: Explaining Desktop PC Hardware (It is the job of the O/S to manage hardware.)

Watch: Operating Systems - Introduction

Watch: Linux: A Short Documentary

Read: Who is Richard Stallman? and read more about him...

Read: Hurd: Why bother?

Watch: Parallel Computing - Introduction

Quiz Information

Quizzes:
mid-week quiz: 1.1-1.4
available Monday at 12:01 a.m. and due by Wednesday 11:59 p.m.
 
post-quiz: 1.1-1.4
available Thursday at 12:01 a.m. and due by Sunday 11:59 p.m.

 

 


Week # 3 - (6.03.24 - 6.09.24)

Content to discover/learn for this week...

Overview: Introduction Continued

Read Part I: Overview - Introduction (Chapter 1)

Take notes from reading: Study Guide 1.5 - 1.10

Video Lecture

text captioning of Overview: Introduction 1.5 - 1.10

 

Check out additional videos and reading

Read: What is Linux - an introduction or Linux History (2nd choice link)

Watch: Kernel Basics (a Linux Example)

Watch: Hypervisor and Virtualization Explained (focus on concepts not details/types)

Quiz Information

Quizzes:
mid-week quiz: 1.5-1.10
available Monday at 12:01 a.m. and due by Wednesday 11:59 p.m.
 
post-quiz: 1.5-1.10
available Thursday at 12:01 a.m. and due by Sunday 11:59 p.m.

Course Objectives Completed

Upon successful completion of this module, you have met the course objective(s):
 
Ability to understand what is the purpose of an operating system

 

 


Week # 4 - (6.10.24 - 6.16.24)

Content to discover/learn for this week...

Overview: Operating System Structures

Read Part I: Overview - Operating System Structures (Chapter 2)

Take notes from reading: Study Guide 2.1 - 2.11

Video Lecture

text captioning of Overview: Operating System Structures (Chapter 2)

 

Check out additional videos and reading

Read: X-Y position indicator

Watch: The Mouse! (but check out the 5 key - 31 combo device(discrete math in action);-)

Read: The 5 key set

Watch: Linux Booting Process

Read: Linux Booting Process

Watch: How a System Call works (Linux using Intel processor)

Watch: A bit of history: how the O/S has evolved

Quiz Information

Quizzes:
mid-week quiz: 2.1-2.11
available Monday at 12:01 a.m. and due by Wednesday 11:59 p.m.
 
post-quiz: 2.1-2.11
available Thursday at 12:01 a.m. and due by Sunday 11:59 p.m.

Course Objectives Completed

Upon successful completion of this module, you have met the course objective(s):
 
Ability to recognize the services an operating system performs

 

 


Week # 5 - (6.17.24 - 6.23.24)

Wednesday, June 19, 2024 - Juneteenth Holiday - University Closed/No Classes

Content to discover/learn for this week...

Process Management: Processes

Read Part II: Process Management - Processes (Chapter 3)

Take notes from reading: Study Guide 3.1 - 3.9

Video Lectures

Audio only:

Video only:

text captioning of Process Management: Processes (Chapter 3)

 

 

 

Check out additional videos and reading

Watch: Operating System Process Control Blocks

Watch: Communications: Sockets, RPC, Pipes

Watch: Using a named pipe (FIFO) on Linux in C

 

Quiz Information

Quizzes:
mid-week quiz: 3.1-3.9
available Monday at 12:01 a.m. and due by Wednesday 11:59 p.m.
 
post-quiz: 3.1-3.9
available Thursday at 12:01 a.m. and due by Sunday 11:59 p.m.

 

 

Withdraw Deadline

If you choose to terminate participation in a class, and wish to receive a grade of withdrawn (W), the deadline to drop a course is Friday, 6.28.24 by 11:59 p.m., via NEIUport. If you do not officially withdraw from a class, you will still receive the grade for the course. Please email me or stop by during office hours to discuss your performance in class before making this decision.

 

 


Week # 6 - (6.24.24 - 6.30.24)

Content to discover/learn for this week...

Reading then Writing Assignment: Threads

Assignment: Chapter 4 > Threads due by Sunday 11:59 p.m.
 
(10 points)
Read Chapter 4 - Threads
Create a detailed comparison list of 10 concepts you discovered about the similarities and differences of processes versus threads.
Try to connect what you have know about processes by comparing them to what you learned about threads from the reading in your detailed list.
The list that you create is to be a numbered list, (i.e. 1, 2, 3, …).

n.b. Send this assignment via text in the body of email - not as an attachment.
Subject line: CS 308 > Threads Assignment

Process Management: CPU Scheduling

Read Part II: Process Management - CPU Scheduling (Chapter 5)

Take notes from reading: Study Guide Chapter 5

Video Lecture

text captioning of Process Management: CPU Scheduling (Chapter 5)

 

Check out additional videos and reading

Watch: Concepts of Real Time Systems (dishwasher embedded system example)

Read: Self-driving Cars
(note: You can access the article for one-time viewing.)
Need extra points? For +2 ec: What are the 5 key concerns?
Give a concise explanation of each in the body of an email sent to f-porps@neiu.edu
Email Subject Line: CS 308 > Self-Driving Cars > 5 concerns > +2 ec
due by Sunday 11:59 p.m.

Read: Scheduling priorities

Quiz Information

Quizzes:
mid-week quiz: 5
available Monday at 12:01 a.m. and due by Wednesday 11:59 p.m.
 
post-quiz: 5
available Thursday at 12:01 a.m. and due by Sunday 11:59 p.m.

Course Objectives Completed

Upon successful completion of this module, you have met the course objective(s):
 
Ability to follow process/threads from creation to deletion
 
To understand the basic ideas of CPU scheduling

 

 


Week # 7 - (7.01.24 - 7.07.24)

Thursday, July 4, 2024 - Independence Day Holiday - University Closed/No Classes

Content to discover/learn for this week...

Memory Management: Main Memory

Read Part IV: Memory Management - Main Memory (Chapter 9)

Take notes from reading: Study Guide Chapter 9

Video Lecture

text captioning of Memory Management: Main Memory (Chapter 9)

 

Check out additional videos and reading

Read: What is a word?

Read: Are you a Little Endian or Big Endian?

Read: What is reentrant code?

Watch: Memory Manager

Quiz Information

Quizzes:
mid-week quiz: 9
available Monday at 12:01 a.m. and due by Wednesday 11:59 p.m.
 
post-quiz: 9
available Thursday at 12:01 a.m. and due by Sunday 11:59 p.m.

Something to think about...

A review of "user" interfaces: See the work Google is doing with tulips.
Please send me an email, subject line: CS 308 > Google Tulips,
after reviewing this video with your thoughts on it by Sunday 11:59 p.m..(+1 pt ec)

 

 


Week # 8 - (7.8.24 - 7.14.24)

Content to discover/learn for this week...

Memory Management: Virtual Memory

Read Part IV: Memory Management - Virtual Memory (Chapter 10)

Take notes from reading: Study Guide 10

Video Lecture

text captioning of Memory Management: Virtual Memory (Chapter 10)

 

Check out additional videos and reading

Watch: Introduction to Virtual Memory: Demand Paging

Watch: This is not Operating System Thrashing!

Watch (actually, just listen): Thrashing

Read (instead of listen): Thrashing

Watch: Paging: Other Considerations

Quiz Information

Quizzes:
mid-week quiz: 10
available Monday at 12:01 a.m. and due by Wednesday 11:59 p.m.
 
post-quiz: 10
available Thursday at 12:01 a.m. and due by Sunday 11:59 p.m.

Course Objectives Completed

Upon successful completion of this module, you have met the course objective(s):
 
Note the different types of memory and how they are utilized by an operating system and
ability to understand how data is stored and accessed via an operating system

 

 


Week # 9 - (7.15.24 - 7.21.24)

Content to discover/learn for this week...

Process Synchronization: Synchronization Tools and Examples

Read Part III: Process Synchronization - Synchronization Tools and Examples (Chapters 6 and 7)

Take notes from reading: Study Guide 6-7

Video Lecture (no audio)

Please pause the video as needed to take notes.

text version of Process Synchronization (Chapters 6-7)

 

Check out additional videos and reading

Watch: Dining Philosophers: Deadlock and time-out solution

Watch: Dining Philosophers: Deadlock and mutex solution to avoid starvation

Quiz Information

Quizzes:
mid-week quiz: 6 and 7
available Monday at 12:01 a.m. and due by Wednesday 11:59 p.m.
 
post-quiz: 6 and 7
available Thursday at 12:01 a.m. and due by Sunday 11:59 p.m.

Process Synchronization: Deadlocks and Livelocks

Read Part III: Process Synchronization - Deadlocks (Chapter 8) and Livelocks

Take notes from reading: Study Guide 8

Video Lecture (no audio)

Please pause the video as needed to take notes.

text version of Deadlocks (Chapter 8)

 

Check out additional videos and reading

Watch: Banker's Algorithm Concept

Read: Deadlocks and Livelocks

Read: Wikibooks Livelocks

Read: Techopedia Livelocks

Something to think about...

Please check out the pop up box this week for more information.

A.

Is this livelock, deadlock, or readers?

B.

Is this livelock, deadlock, or readers?

C.

Is this livelock, deadlock, or readers?

Course Objectives Completed

Upon successful completion of this module, you have met the course objective(s):
 
Distinguish situations which would cause a deadlock and
to understand the basic methods of deadlock handling

 

 


Week # 10 - (7.22.24 <- LAST DAY OF CLASSES)

Content to discover/learn for this week...

File System: File System Interface

Read Part VI: File System - File System Interface (Chapter 13)

Take notes from reading: Study Guide 13

Video Lecture (no audio)

Please pause the video as needed to take notes.

text version of File System Interface (Chapter 13)

 

Check out additional videos and reading

Watch: Memory And Storage Mediums (a history)

File System: File System Implementation

Read Part VI: File System - File System Implementation (Chapter 14)

Check out additional videos and reading

Watch: Files & File Systems

Reading then Writing Assignment: File System Implementation

Assignment: Chapter 14 > File System Implementation due by WEDNESDAY 11:59 p.m.
After reading Chapter 14,
compare file system implementation schemes to memory management implementation schemes (Chapters 9 & 10), noting the similarities.
For each correct similarity comparison, you will earn +1 pt.
maximum submission: 10 comparisons (for full credit)
maximum possible extra credit points if you find more comparison: + 10 points
The list that you create is to be a numbered list, (i.e. 1, 2, 3, …).

n.b. Send this assignment via text in the body of email - not as an attachment.
Subject line: CS 308 > File System Implementation Assignment

Course Objectives Completed

Upon successful completion of this module, you have met the course objective(s):
 
To understand the concepts of file systems
 
 
Upon successful completion of this course, you have met the course objective(s):
 
To understand the algorithms/methods that implement Operating Systems functions

 

 

 


 

End of course - you made it to the end - I hope you have a pleasant remainder of summer.
:-)
Grades are available through NEIUport on July 31, 2024.

 


NEIU Home :: NEIUport

web page updated: 7.17.24