This is the era of cloud; this is the era of virtualization; this is the era of big data.
In computers science and software engineering, things come and go, but one immutable theme is the underlying foundation for all: Operating Systems (OS). In many ways, the understanding of OS will determine one’s rise and fall of fortune in this cloudy era.
This course explains core Operating System concepts and principles from the unique perspective of life’s philosophy and uncovers OS mysteries with logical reasoning. The topics covered include process/scheduling, thread/synchronization, memory/cache, disk/file, input-output, OS adjustment for multi-core environment, and OS design. A main focuses is the explication of the following difficult and delicate topics: logic development of synchronization schemes, implementation of locking, evolution of memory management, and the philosophical principles of operating system design. To broad students’ horizon, half the classroom hours will be devoted to paper critique and discussions that are drawn from OSDI, SOSP, and FAST conference. To give the course of a flavor of modernism, topics of cloud computing and big data will also be touched upon.
2. Main operating system concepts
5. Lock Implementation
7. Memory Management
8. File Systems
9. Input and Output
10. Multicore OS Adjustment
The lectures combine three different narrative genres into one unique style of exposition to enable interesting yet logical development of core OS concept and principles. The lectures expound on various OS topics to establish a foundation of understanding; The discussion of philosophical principles and logical reasoning threads all the topics into a holistic whole; The discretional use of knowledge drawn from other areas of computing such as data structure, algorithms, compiler, computer organization, computer architecture, cloud and big data enables a deeper comprehension of OS’ role in the execution of programs and development of paradigms. Such meshing of the three narrative styles gives rise to a whole new understanding of OS concepts and principles.
The distinguishing features of the course are logic-orientation: expound OS principles and design with sound logical reasoning; daily-connection: unfold OS intricacies with everyday examples; abstraction-elevation: weaves core OS topics into a holistic whole through philosophical principles; knowledge-integration: connect OS concepts with others fields of interesting.
To help students understand operating systems, there will be an accompanying experimental OS design course for selected classes. If enacted, the experimental course requires students to complete three to four projects in increasing degree of difficulty and give students practical exposure to topics that are of importance in operating system design. All projects are group projects and each member of a project group is expected to contribute meaningfully to his/her team’s work. Oral as well as written presentations are mandatory for all projects.
Project evaluation is based on the following criteria:
Please note that the experimental course shall be a separate course for the ACM class.
To keep students abreast with the current state of operating system research, there will be an OS paper critique requirement for selected classes. If enacted, each student shall read one paper drawn from OSDI/SOSP/FAST conference and provide critique in the following aspects of the paper:
Upon finishing the course, students will be able to:
For fall 2013 semester, we will use papers from OSDI 2012, FAST 2012 for paper critique.
Monday: 1:00-3:00pm, 1309 Software Building
Quizzes/home works/course participation: 15%
Paper critique/Projects: 50% (either critique or project, but not both)
Final essay: 35%
For all unanswered questions, please direct your inquiries to email@example.com