California State University Dominguez Hills - Department of Computer Science

  Home  |  Syllabus  |  Outline  |  Homework  |  Lecture Notes  |  Tests  |  Contact  | 

 CSC 341- 01                Operating Systems                     Spring 2018

 

 

THE URL OF THIS PAGE IS http://csc.csudh.edu/suchenek/CSC341/notes.htm

Last revised May 6, 2018

This is a restricted-access website. The contents of this website, the links contained therein directly and indirectly, and the contents of the said links, are copyrighted. They are provided exclusively for access and non-profit educational use by the students currently enrolled in this course and for the duration of this semester. Any other use or any access or use by others, without authorization of the professor in this course and copyright holder or holders, is not allowed. No picture taking, videotaping, or recording without professor's prior permission is allowed in class

.

Lecture Notes

CREDIT

The textbook companion slides for this course are posted at (7th edition):


http://bcs.wiley.com/he-bcs/Books?action=resource&bcsId=2217&itemId=0471694665&resourceId=5004

and (8th edition):

http://codex.cs.yale.edu/avi/os-book/OS9/slide-dir/index.html

Those that I use in class and link from these notes (below) have been quoted and/or derived from the above sources. They have been copyrighted so you should presume that their use outside the classroom is not allowed by the law. Most likely, you are not allowed to use them if you have not purchased the textbook. Please, consult this link for "fair use of copyrighted material".


Click here for the latest notes.


Chapter 1 Introduction

Readings: All Sections.

 Slides:
http://csc.csudh.edu/suchenek/CSC341/ch1MS.pdf


Hardware requirements:
1. A von Neuman interrupt-driven architecture
2. Dual mode of execution
3. Absolute and relative addressing modes:
    - base register for program
    - limit register for program
    - base register for data
    - limit register for data
4. Direct Memory Access (DMA) controller

How an interrupt is processed by the CPU:

http://csc.csudh.edu/suchenek/CSC341/Implementation_of_interrupts.txt

Chapter 2 Operating-System Structures

Readings: Sections 2.1, 2.2, 2.3, 2.4.

 Slides:
http://csc.csudh.edu/suchenek/CSC341/ch2MS.pdf

Chapter 3 Processes

Readings: Sections 3.1, 3.2, 3.3, 3.4.

 Slides (corrected) last modified March 7, 2018
http://csc.csudh.edu/suchenek/CSC341/ch3MS.pdf



Here are drawings of 5 scenarios in the circular buffer between Producer and Consumer (Section 3.4.1):

http://csc.csudh.edu/suchenek/CSC341/Circular_buffer.jpg

The lined area shows non-consumed productions.

(1) empty buffer

(2) non-empty buffer with out < in

(3) non-empty buffer with in < out ; this happens after the buffer "wrapped around" as a result of a sequence of productions and consumptions

(4) only one free slot left in the buffer

(5) buffer full

The following are comments regarding incorrect versions of
Producer and Consumer code in previous editions and versions of the text. They are optional for all students.

Here is a correct Java pseudo-code as close to Silbershatz at al.'s version as one can get for a bounded-buffer producer consumer problem:

http://csc.csudh.edu/suchenek/CSC341/bb_prod_cons.txt

and a pseudocode for a driver class:

http://csc.csudh.edu/suchenek/CSC341/test_bb_prod_cons.txt

(source: textbook's website; modifications/corrections: Dr. MS)


 Correction for 8th edition:   Here is incorrect code identified as such in 8th "update" edition:

http://csc.csudh.edu/suchenek/CSC341/IncorrectProdCons.jpg

And here is the correct code in the said edition:


http://csc.csudh.edu/suchenek/CSC341/CorrectProdCons.jpg

 Chapter 4 Threads

Readings: Sections 4.1, 4.2, 4.3, 4.6.5, 4.8.

Slides:
http://csc.csudh.edu/suchenek/CSC341/ch4MS.pdf

Chapter 5 Process Synchronization

Readings: Sections 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.11.

 Slides (corrected and modified by Dr. MS) last modified March 7, 2018
http://csc.csudh.edu/suchenek/CSC341/ch5MS.pdf

Conditional semaphore:

http://csc.csudh.edu/suchenek/CSC341/COND_SEMAPHORE.TXT

Deadlocks:

 Slides Sec 5.11 (corrected and modified by Dr. MS) last modified March 7, 2018
http://csc.csudh.edu/suchenek/CSC341/ch5aMS.pdf


 Chapter 6 CPU Scheduling

Readings: Sections 6.1, 6.2, 6.3, 6.8.

 Slides (corrected and modified by Dr. MS):
http://csc.csudh.edu/suchenek/CSC341/ch6MS.pdf

Copyrighted material, so the students in this class can read it but not to copy or distribute it. Formulas for average waiting time: http://csc.csudh.edu/suchenek/CSC341/WatingTime.pdf 

Pitfalls of scheduling:

http://csc.csudh.edu/suchenek/CSC341/scheduling.pdf


Chapter 7 Main Memory

Readings: Sections 7.1, 7.2, 7.3, 7.4, 7.5, 7.6.

Slides (corrected and modified by Dr. MS):
http://csc.csudh.edu/suchenek/CSC341/ch7MS.pdf

http://csc.csudh.edu/suchenek/CSC341/Paging.pdf

Chapter 8 Virtual Memory

Readings: Sections 8.1, 8.2, 8.4, 8.5.1, 8.5.2, 8.5.3, 8.6.1, 8.7.1.

Slides (corrected and modified by Dr. MS):

http://csc.csudh.edu/suchenek/CSC341/ch8MS.pdf

http://csc.csudh.edu/suchenek/CSC341/Frame_allocation.pdf

Optional readings on VMS operating system and VAX minicompters by Digital Equipment Corporation (which now belong mostly to the history of computation):

"VMS is an operating system build for the (Virtual Address eXtension) VAX instruction set hardware in the late 1970s [VAX-11/780 released on October 25, 1977].

VMS was one of the first major operating systems to support virtual memory [demand paging implementation of it, to be more precise], 32 bit address space, 128 bit floating point number precision, and a complex instruction set."


Chapter 9 Mass-Storage Structure

Readings: Sections 9.1, 9.2, 9.3, 9.4, 9.5, 9.7, and the following material (not in the textbook)

http://csc.csudh.edu/suchenek/CSC341/Disk_utilization_otimization_slides.pdf

Exercise related to the above material is posted here.

Slides:

http://csc.csudh.edu/suchenek/CSC341/ch9MS.pdf

Copyrighted material for in-class use only Optional read a propos falling prices of computer memory and other digital products, see section Global Aspects, pages 13 - 16:
http://csc.csudh.edu/suchenek/CSC341/PatentsForSoftwareArticle.pdf

New: Enhanced evaluation of seek times of four disk-scheduling algorithms:
http://csc.csudh.edu/suchenek/CSC341/Seek_times_exactly_slides.pdf

Probabilities for RAIDs
http://csc.csudh.edu/suchenek/CSC341/RAID_fail.pdf

Chapter 10 File-System Interface

Readings: Sections: 10.1, 10.2, 10.3, 10.4, 10.5., optional: 10.6.

 Slides (corrected and modified by Dr. MS) http://csc.csudh.edu/suchenek/CSC341/ch10MS.pdf

Chapter 11 File-System Implementation

Readings: Sections: 11.1, 11.2.1, 11.3, 11.4, 11.5.1, 11.5.2, 11.5.3, 11.5.4; optional: 11.8.

 Slides (corrected and modified by Dr. MS) http://csc.csudh.edu/suchenek/CSC341/ch11MS.pdf

Chapter 12 I/O Systems

Readings: TBA.

 Slides (corrected and modified by Dr. MS) http://csc.csudh.edu/suchenek/CSC341/ch12.pdf

Chapter 13 Protection

Readings: TBA.

 Slides (corrected and modified by Dr. MS) http://csc.csudh.edu/suchenek/CSC341/ch13.pdf

Chapter 14 Security

Readings: Sections 14.1, 14.2, 14.4, (skip 14.4.1.1 and 14.4.3).

Slides:

http://csc.csudh.edu/suchenek/CSC341/ch14MS.pdf



Go to the top.

 

 


 

 

 Please, contact me right away if you have any questions.

 

 


 

Copyright © 2018 Suchenek - All rights reserved