Quick Facts: Class meet Tue. & Thu., 1 – 2:15pm in AH E151, the instructor can be reached at caubert@augusta.edu, his office (AH E-128) hours are Mon. & Thu. 2:30 – 4:30pm, and you can download this syllabus for offline consulting.

Homeworks: Homework #1, Homework #2 (Makefile, `C` source code), Homework #3, Homework #4, Homework #5 (thread_pb1.c, signal_pb1.c), Homework #6 (mutex_pb1.c), Homework #7.

Snippets: `fork`, `pipe`, `thread`.

Documents: Process Synchronization, Memory Managment & Memory Virtual Memory – A survey

## Presentation

### Course Description

This course is a study of computer operating systems and related computer architecture topics. We will answer questions such as “What is an operating system?”, “What does an operating system do?”, “How does it do it?”, or “What are the tradeoffs of particular operating system design decisions and implementation?”. Topics include basic networking, process management, scheduling, synchronization, deadlock, memory management, virtual memory, disk management, file systems, I/O, and protection.

### Learning Outcomes

Upon successful completion of this class, the student will:

- Know the basics services provided by an operating system to the users, processes and other systems, and understand the basic structures and functions of operating systems.
- Understand the methods and tools to manage and synchronize process, including multithreading concepts and CPU scheduling.
- Be able to explain the basics of memory managment, including virtual memory, and the structure of the most common file-systems, as well as to describe the basic security issues in operating system design and implementation.

### Format and Procedures

Lectures are devoted to general explanations of the concepts and ideas underlying the topic at stake. All practical work, coding, programming, testing, etc. will be carried at home: no laptop or similar electronic device is allowed during the lectures. This policy will help you to improve your grades, increase memorization and to be more respectful of your classmates. Homework assignments will assist the students in making sure they understand classes expectations and the content of the lecture, as well as to practice their coding and problem-solving skills.

### Teaching Philosophy

It is our mutual interest for you to succeed: I love to share knowledge and to expand it by helping students, and students want to gain a useful and agreeable experience that will prove valuable in their future endeavors. To this end, here is:

#### What I’m expecting from you

- Check the announcements periodically on the class website.
- Read this entire syllabus carefully.
- Participate actively in all class discussions.
- Do the homework wisely: read your notes before starting the homework assignment, make sure you understand it completely before considering it done.
- Come prepared and on time to classes, exams and quizzes.

#### What you should expect from me:

- Clear and accessible lectures.
- Fair and impartial grading.
- Availability, during office hours, by appointment, and by email.
- Dedication to your success!

### Course Requirements

This class is an on-campus class. You are responsible for all course material, whether or not you attend lectures or do the assigned reading or coursework. Class attendance is not mandatory, but highly recommended. Additional resources will be used on a regular basis. The progression of the students will be regularly tested and assessed through quizzes and tests, as well as impromptu questions in class. Active participation during the lectures is appreciated and encouraged.

## Practical Information

### Time and Place

Tuesday and Thursday, 1 – 2:15pm in Algood Hall, E-151.

### Instructor

Name | Dr. Clément Aubert
Office | Algood Hall E-128
Phone | 706-737-1566
Email | caubert@augusta.edu
Office Hours | Monday & Thursday 2:30 – 4:30pm and by appointment
Institute | School of Computer and Cyber Sciences vice Hull College of Business

Feel free to drop by when I’m in my office, but be aware that I may be busy, too: if you have multiple questions or if your question requires more than 5 minutes to be exposed and answered, please arrange an appointment with me.

### Tutoring

Mitchell Williams is the tutor for Computer Science. You can find him in the Academic Success Center on the first floor of University Hall,

- Tuesday: 11:30am – 2:00pm
- Thursday: 11:30am – 2:00pm
- Friday: 10:00am – 1:00pm

For more tutoring resources, consult the tutoring center.

### Grades

Students will be evaluated using three different types of evaluation:

1. Seven homework assignments will be given during the course of the semester: they are not expected to be handed back, and won’t be graded, but seven quizzes with questions taken from those assignments will be given. Those quizzes happen every other Thursday (see the planned schedule), are closed book and timed (5 – 20 min.).

2. There will be two in-class exams, held during the regular class periods on Thursday 09/28 and Thursday 11/09.

3. The final exam will take place during the exam period, i.e., Thursday 12/14, 2 – 4pm.

Your grade will be computed as follows:

Quizzes (×7) | 20%
In-class Tests (×2) | 40%
Final Exam | 40%

using the following course grade scale:

90 – 100 | A
80 – 89 | B
70 – 79 | C
65 – 70 | D
Below 65 | F

It is the student’s responsibility to initiate a withdrawal before midterm (i.e., Wed, Oct 11th), but I reserve the right to withdraw a student that missed 10% of class time and half of the quizzes and tests. A student not withdrawn from a course who stops attending class (or who never attends class) is subject to receiving a grade of WF or F.

Any student missing the final exam without an documented excuse (brought to me or to the dean of Student Life) or who has not taken action to withdraw will receive a grade of F. In case of an documented emergency at the time of the final, the student may be allowed to receive a grade of I.

All coursework is individual coursework, no make up quizzes or tests will be allowed.

### Planned Course Schedule

Week | Date | Topic | Chapter | Note
--- | --- | --- | --- | ---
1 | 08/14 | Syllabus | N/A | -
2 | 08/21 | Introduction to Operating System & Set-up | 1 – 2.2 | Homework #1 released
3 | 08/28 | Continued | - | -
4 | 09/04 | System Calls | 2.3 – 2.4 | 09/04 is Labor Day, Homework #2 released, Thu. 09/07 quiz #1
5 | 09/11 | OS design, Implementation and Structure | 2.5 – 2.11 | -
6 | 09/18 | Process, Schedulers, and Inteprocess Communication | 3.1 – 3.4 | Homework #3 released, Thu. 09/21 quiz #2
7 | 09/25 | Networking Basic & Review session | 3.6 – 3.7 | Thu. 09/28 Exam #1
8 | 10/02 | Threads, Multithreading, Thread Librairies | 4 | Homework #4 released, Thu. 10/05 quiz #3
9 | 10/09 | Process Synchronization | 5 | 10/11 is midterm, 10/12 – 10/13 is Student Fall Pause
10 | 10/16 | Continued | - | Homework #5 released, Thu. 10/19 quiz #4
11 | 10/23 | CPU Schelduling | 6 | -
12 | 10/30 | Continued | - | Homework #6 released, Thu. 11/02 quiz #5
13 | 11/06 | Review Session | - | Thu. 11/09 Exam #2
14 | 11/13 | Memory Managment | 7 | Homework #7 released, Thu. 11/15 quiz #6
15 | 11/20 | Virtual Memory | 8 | 11/22 – 11/24 is Thanksgiving
16 | 11/27 | File System | 9 – 12 | Thu. 11/30 quiz #7
17 | 12/04 | Wrapping up & Review Session | - | Wed. 12/06 is end of class
18 | 12/11 | - | - | Thu. 12/14, 2 – 4pm, is final

This schedule is subject to change and enhancements, but provide an indication of the pace, assignments, and major deadlines that you will need to plan for the semester.

## Additional Material and Resources

### Textbook

Operating System Concepts Essentials, (2nd Edition) by Siberschatz and Galvin, Wiley, 2013, ISBN: 978-1-118-80492-6

Book can be purchased through JagStore, select

- `JAGSTORE - 2017 FALL-AUGUSTA UNIVERSITY`
  - `CSCI-CSCI`
    - `3271`
      - `A-Aubert, Clement`

### Online Resources

- Textbook’s webpage
- Reese Library’s Cyber Resource Center

### Homework Assignments

Check the schedule for more information.

- Homework #1
- Homework #2 (Makefile, `C` source code)
- Homework #3
- Homework #4
- Homework #5
- Homework #6 (mutex_pb1.c)
- Homework #7

### Snippets of Code

- 09/22/2017: `fork`
- 10/10/2017: `pipe`
- 10/17/2017: `thread`.

### Document Shared in Class

- 10/26/2017: Process Synchronization
- 11/28/2017: Memory Managment & Memory Virtual Memory – A survey

## Legal and Recommendations

### Academic Integrity

The University’s Student Code of Conduct, the student’s manual, as well as the academic regulations and all applicable policies are supposed to be known by the students and will be enforced.

Section 5.2, Academic Conduct of the student’s manual defines precisely what kind of collaborations are acceptable. As long as you don’t lie, cheat, plagiarize, assist others or being assisted by others without authorization, we should not need any of that. If you are unsure about whether or not certain kinds of collaboration are permissible, please ask me.

### Accommodations for Students with Disabilities

I am committed to make my lecture accessible to all the students. If you are registered with Testing and Disability Services and have not met with me yet, please see me as soon as possible to discuss accommodations.

### Campus Carry Legislation

Please be aware of the USG guidance on House Bill 280.

## Miscellaneous

- Reservation of Rights: I reserve the right to change this syllabus without limitation and without prior notice. If I do modify any item or policy, I will notify you during a lecture, or send an e-mail to your `augusta.edu` e-mail account.
- Download a pdf version or the `md` source of this page
- Contact: caubert@augusta.edu
- Created with debian, pandoc, latex, and emacs, HTML5 and CSS3 valid, Creative Commons Attribution 4.0 International License