- Course description.
- Introduction to the basic concepts and principles of real-time operating systems. The topics to be covered include operating system concepts and structures, multiple processes, interprocess communication, real-time process scheduling, memory management, virtual memory, file system design, security, protection, and programming environments for real-time systems.
- Prerequisites.
- ESE 124 Computer Techniques For Electronic Design, CSE 214 Computer Science II and ESE 380 Embedded Microprocessor Systems Design I or CSE 220 Computer Organization and Systems Programming.
- Course Outline.
- Operating systems are an essential part of a computer system. The goal of this course is to introduce the basic concepts and principles of general operating systems as well as real-time system issues. Major topics include
- Process: multiprogramming, state, implementation, scheduling.
- Interprocess communication: race conditions, critical sections, test and set lock, semaphores, semaphore implementation, shared memory, monitors, event counters, message passing, equivalence of primitives, synchronization.
- Scheduling: FIFO, round robin, priority, multiple queues, shortest job first, guaranteed, real-time scheduling.
- Memory management: base and bounds, swapping, paging, page replacement algorithms, segmentation, combined, working sets.
- File systems: file operations, attributes, seek problem, directories, I-nodes, consistency, performance, protection, security.
- Deadlock: conditions for deadlocks, resource allocation graphs, safe and unsafe states, banker's algorithm.
- Input and output: device controllers, device drivers, interleaving, disk arm scheduling.
- Case studies of real-time operating systems.
- Class Meeting.
- Time: Tuesday and Thursday 10:00am - 11:20am
- Place: Melville Library E4330
- Computer Lab.
- Time: 10:00am - 6:00pm, Monday - Friday
- Place: Room 281A, Light Engineering Building
- Instructor.
- Name: Yuanyuan Yang, Professor
- Office: Room 205, Light Engineering Building
- Phone: 632-8474
- Email: yuanyuan.yang@stonybrook.edu
- Office Hours: Tuesday and Thursday 11:20am - 1:20pm
- Teaching Assistant.
- Name: Zhenhua Li
- Office: Room 281A, Light Engineering Building
- Email: zhenhua.li@stonybrook.edu
- Office Hours: Mondays, 1:00pm - 3:00pm
- Textbooks.
- Modern Operating Systems, A.S. Tanenbaum, Prentice Hall, 3rd edition, 2008 (required).
- Homework.
- There will be approximately 6-8 written assignments. In addition, there will be 2-3 programming projects on UNIX workstations, In the programming assignments, students will intensively use system calls, implement multiple concurrent processes, interprocess communication, real-time scheduling algorithms in a real-time extension of the UNIX environment.
- Examinations.
- There will be one midterm exam and one final exam. The midterm exam will be given on March 24, 2016 in class. The final exam will be given during the university scheduled time (May 13, 11:15am to 1:45pm) in the classroom.
- Grading.
- Written Assignment 15%
- Programming Assignment 20%
- Midterm 25%
- Final 35%
- Portfolio 5%
Academic Integrity. Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Any suspected instance of academic dishonesty will be reported to the Academic Judiciary. For more comprehensive information on academic integrity, including categories of academic dishonesty, please refer to the academic judiciary website at http://www.stonybrook.edu/uaa/academicjudiciary/
Accommodations for Students with Special Needs. If you are entitled to extra accommodation for any reason (such as a physical or mental disability), it is your responsibility to discuss this with the instructor at the beginning of the course.
Lecture Slides
Important Notice:
There will be two help sessions on UNIX and C.
Session 1 Topic: UNIX Basics, in class, Feb. 4, 2016
Session 2: Topic: C Language Review, Feb. 12, 3:30pm to 4:30pm in LIB. N4006.
March 8 class is cancelled and is replaced by the help session given earlier.
Project 1 is extended to March 17.
April 12 class is a homework session by TA and April 14 class is cancelled due to a conference.
Project 2 is extended to May 3.