|Instructor||David Ferry, Homepage|
|Course Web Site||http://cs.slu.edu/~dferry/courses/csci3500/|
|Course meeting times||Monday, Wednesday, & Friday from 10:00 - 10:50, Ritter Hall Rm. 115|
||March 3rd, in class
||May 10, 12:00 - 1:50
|Office hours||By appointment, but feel free to stop by. See also my schedule|
Operating systems are the fundamental bridge between computer hardware and the software programs we use and create. As a concept, operating systems are one of the oldest software disciplines, yet they continue to adapt and reinvent themselves as the computing landscape evolves. Modern operating systems must tackle the same challenges of the original mainframes, but must also meet the varied needs of personal computers, severs, mobile/embedded devices, and virtualized systems.
The four elements of this course are lectures, studios, labs, and exams. Studios are short assigments intended to be completed primarily within class time and to augment lecture topics. Labs are longer assignments that will ask students to apply and analyze OS mechanisms. Most class periods will consist of a short lecture followed by studio time. Expect a lab assignment approximately every two weeks.
Assessment Objectives- at the completion of this course, students will be able to:
Catalog Description:Theory and practice of operating systems, with emphasis on one of the UNIX family of operating systems. File organization and database systems. Focus on a multi-user system in the client-server model. Hands-on experience.
Please see the instructor if you're missing a prerequisite or uncertain about your preparation for this course.
Computer science is an emminently practical discipline, and studios are daily assignments intended to complement and reinforce lectures through practice. Studios will be completed in a team of two students. Students from different teams may discuss studios, but sharing of code or solutions is strictly prohibited.
Studios are due in four batches on a monthly basis: Jan 30th, Feb 24th, Mar 31st, and Apr 28th. Studios will be graded on a trimodal scale: complete, partial credit, or no credit. Studios that are turned in late or not turned in at all will recieve no credit, studios graded as partial will recieve 80% credit.
There will be approximately seven lab assignments for this course. These are programming assignments whose purpose is to apply course concepts and to analyze operating system mechanisms. As such, each lab will require a written report detailing your findings in addition to a code submission.
Some labs will require a team of two students, while others are individual projects. Students from different teams may discuss the lab assignments only during course meeting times. Students from the same team are of course encouraged to discuss and work on lab assignments at any time.
Labs submitted on time (as determined by electronic time stamp) are eligible for full credit. Labs submitted up to 24 hours late will be given a ten percent penalty. Labs submitted between 24 and 48 hours late will be given a twenty percent penalty. Labs submitted after 48 hours late will not be given credit, except in the case of extenuating circumstances pre-approved by the instructor.
|Jan 18||Intro to OS||MOS 1.1 - 1.3||Lab 1 Assigned
|Jan 20||Types of OSes, OS concepts||MOS 1.4 and 1.5||Studio 1|
|Jan 23||Lab 1 Discussion
|Jan 25||System calls and OS architectures||MOS 1.6 - 1.8
||Lab 1 Due
|Jan 27||Processes||MOS 2.1||Studio 4
Lab 1 Due
Lab 2 Assigned
|Feb 1||Lab 2 Discussion||Studio 5|
||MOS 2.2||Studio 6
|Feb 6||Threads||Studio 8|
|Feb 8||Pthreads, C++11 threads||MOS 2.3||Studio 9|
|Feb 10||Race conditions, critical sections, locks, and atomicity||MOS 2.5.1||
|Feb 13||Mutexes, semaphores||Studio 11|
|Feb 15||Atomic Instructions||locks.c||Studio 12|
|Feb 17||Lab 3 Discussion||Lab 2 Due
Lab 3 Assigned
|Feb 20||OpenMP, Cilk Plus||MOS 2.4||Studio 13|
|Feb 22||Batch and interactive scheduling|
|Feb 24||Real-time scheduling||Studios due|
|Feb 27||Cooperative and Preemptive Scheduling||Studio 14|
|Mar 1||Midterm review|
|Mar 3||Midterm Exam|
|Mar 6||Memory management||MOS 3.1|
|Mar 8||Address spaces and swapping||MOS 3.2||Studio 15-a|
|Mar 10||Virtual memory and paging||Lab 3 Due
|Mar 13||No class - Spring Break|
|Mar 15||No class - Spring Break|
|Mar 17||No class - Spring Break|
|Mar 20||Exam Discussion|
|Mar 22||Page tables and the TLB||Studio 16|
|Mar 24||Lab 4 Discussion||Lab 4 Assigned|
|Mar 27||Page Replacement Algorithms||Studio 17|
|Mar 29||Linux Memory Maps||Studio 18|
|Mar 31||Files and the File System||Studios Due|
|Apr 3||File allocation on disk||Studio 19|
|Apr 5||Directory structure and Inodes||Studio 20|
|Apr 7||OSI and TCP/IP Models of Networking||Lab 4 Due Studio 21|
|Apr 10||Physical and Data Link Layers||Studio 22|
|Apr 12||Network Layer||Studio 23|
|Apr 14||No class - Easter Break|
|Apr 17||No class - Easter Break|
|Apr 19||Transport Layer||Studio 24|
|Apr 21||Session Layer|
|Apr 24||Presentation and Application Layers||Studio 25|
|Apr 26||Lab 5 Discussion||Lab 5 Assigned|
|Apr 28||Security Concerns - CIA||Studios due|
|May 1||Secure Systems and a Trusted Computing Base|
|May 3||Permission Domains and Permission Management|
|May 5||Lab 5 Due|
|May 8||Final Exam Review|
|May 10||Final Exam - 12:00 to 1:50|
Required Course textbook: Modern Operating Systems, 4th Ed. by Tanenbaum and Bos. A classic computing textbook on the fundamentals of operating systems, with a bent towards Unix-like operating systems.
Linux skills references:
References for Linux software development.
scpmanual page: Transfer files between your Mac/Linux machine and the departmental Linux machines.
Linux kernel hacking references:
We aren't doing any kernel hacking in this course, but these are great references if you're interested.
There are three activities for which you will receive credit in this course: studios, labs, and exams. Studios are daily guided assignments primarily designed to familiarize students with course concepts and development tools (i.e. knowledge and comprehension tasks). Lab assignments will ask students to apply general course concepts and analyze OS design alternatives. A midterm and final exam will evaluate your technical understanding of course concepts.
Studios are graded on the following scale: complete, partial credit, or no credit. Studios will not be turned back with detailed comments. Labs and exams will be graded on a points scale and will be turned back with detailed comments.
Make up exams will only be given for severe and documented reasons.
Your grade will be determined as follows:
Grading is done on a straight scale (uncurved). The followingscores are guaranteed. The grading scale may be curved upwards (in your favor) at the discretion of the instructor.
Most work assigned in this course, other than exams and some labs, is expected to be completed collaboratively. Student teams may change from assignment to assignment, but the sharing of written work or significant portions of code between teams is strictly prohibited.
Some specific guidelines for this course:
Academic integrity is honest, truthful and responsible conduct in all academic endeavors. The mission of Saint Louis University is "the pursuit of truth for the greater glory of God and for the service of humanity." Accordingly, all acts of falsehood demean and compromise the corporate endeavors of teaching, research, health care, and community service via which SLU embodies its mission. The University strives to prepare students for lives of personal and professional integrity, and therefore regards all breaches of academic integrity as matters of serious concern.
The governing University-level Academic Integrity Policy was adopted in Spring 2015, and can be accessed on the Provost's Office website here. The College of Arts and Sciences policies on academic honesty can be found here.
In recognition that people learn in a variety of ways and that learning is influenced by multiple factors (e.g., prior experience, study skills, learning disability), resources to support student success are available on campus. The Student Success Center assists students with academic and career related services, is located in the Busch Student Center (Suite, 331) and the School of Nursing (Suite, 114). Students can visit www.slu.edu/success to learn more about:
Students with a documented disability who wish to request academic accommodations must contact Disability Services to discuss accommodation requests and eligibility requirements. Once successfully registered, the student also must notify the course instructor that they wish to access accommodations in the course.
Please contact Disability Services, located within the Student Success Center, at Disability_services@slu.edu or 314.977.3484 to schedule an appointment. Confidentiality will be observed in all inquiries. Once approved, information about the student’s eligibility for academic accommodations will be shared with course instructors via email from Disability Services and viewed within Banner via the instructor’s course roster.
Note: Students who do not have a documented disability but who think they may have one are encouraged to contact to Disability Services.
Saint Louis University and its faculty are committed to supporting our students and seeking an environment that is free of bias, discrimination, and harassment. If you have encountered any form of sexual misconduct (e.g. sexual assault, sexual harassment, stalking, domestic or dating violence), we encourage you to report this to the University. If you speak with a faculty member about an incident of misconduct, that faculty member must notify SLU’s Title IX coordinator, Anna R. Kratky (DuBourg Hall, room 36; email@example.com; 314-977-3886) and share the basic facts of your experience with her. The Title IX coordinator will then be available to assist you in understanding all of your options and in connecting you with all possible resources on and off campus.
If you wish to speak with a confidential source, you may contact the counselors at the University Counseling Center at 314-977-TALK. To view SLU’s sexual misconduct policy and for resources, please visit the following web addresses: http://www.slu.edu/general-counsel-home/office-of-institutional-equity-and-diversity/sexual-misconduct-policy www.slu.edu/here4you