CISS 360 Operating System Concepts

Winter 2019 CRN 13089 Syllabus

My goal is to mentor you to be a successful IT professtional with a solid understanding of operating systems internals. This syllabus lays out the course expectations and contents in clear detail.

CRN
13089
Catalog
A study of the principles and techniques employed in modern computer operating systems. The emphasis is on:
  • process and thread creation
  • management and scheduling
  • system calls
  • memory management
  • virtual memory and paging
  • file system implementation
  • input/output systems
  • device management
Prerequisite
CISS 247. See also Technical Expectations
Credits
3
Course Outcomes
On completion of this course, students will demonstrate:
  • Thorough understanding of process scheduling and the system implementation of multi-threaded applications
  • Thorough understanding of memory management techniques in operating systems, including the concepts and implementation of virtual memory systems.
  • Thorough understanding of the implementation of file systems and device control.
  • Basic understanding of distributed system management.
Textbook
Silberschatz, A., Galvin, P.B., and Gagne, G., "Operating System Concepts", 9th Edition, John Wiley & Sons, 2013. [OSC9e]
Optional
The C Programming Language, Brian W. Kernighan & Dennis M. Ritchie, 2nd Edition, Prentice Hall, 1988. [K&R]
Course Format
This is a ground course: attendance and participation are expected. If you are uable to get to campus, let me know ahead of time so I can record or have you attend remotely via Zoom.
Class Dates
9 Jan - 18 Mar (holidays 21 Jan, 18 Feb)
Class Meetings
When: Monday, Wednesday 10-11:20
Where: OCP-110
Midterm
Monday Feb. 11, 10-11:20am
Final
Monday Mar. 18, 10:30-12:30pm

πŸ‘“ Instructor Information

Office Hours

TEC-205A (Bremerton)

Mon & Wed 12:30-1:30 on Bremerton campus, slack, or Skype

Also by arrangement at other times

Ask Course Questions...

On the course slack channel, ciss360w19.slack.com

Help your peers; I also monitor and respond within one class day.

Email or Canvas?

Send Canvas messages, but if you can't get to Canvas you can use email; put CISS 360 in the subject and send it from your student email.

Expect a response by the next class day.

πŸ“ˆ Assessment

Assessment for the course consists of a midterm exam, a final exam, semi-weekly on-line quizzes, and three assignments. The contribution of each assessment item to the final grade is as shown below:

  • Midterm Exam: 20%
  • Final Exam: 20%
  • 7 Quizzes: 30%
  • Assignment 1: 10%
  • Assignment 2: 10%
  • Assignment 3: 10%

Notes:

  1. These assessment items constitute the entire assessment for the course.
  2. Deadlines for submission of assignments are specified for each item in Canvas. Assignments will be accepted up to 3 days late with 10% deducted per day late. If you have a medical or emergency situation that will make you miss a due date, contact me prior to the due date for an extension without penalty.
  3. The quizzes will be on-line, in Canvas. They will be due two days after completion of the classes for the module. Each quiz is based on the chapters of the text assigned for that module.
  4. Failure to attend the mid-term examination will result in a score of 0. Failure to attend the final examination, in accordance with University policy, will result in an F grade for the course.

Grades will be assigned on the total of the assessment items according to the following:

Letter Percent Qualitative Definition
A 90% Superior course outcomes mastery
B 80% Exceeds acceptable course outcome mastery
C 70% Acceptable course outcomes mastery
D 60% Minimum course outcomes mastery
F < 60% Failure to master course outcomes

The use of '+' or '-' discriminators is completely at the discretion of the instructor.

Points on work submitted on-time are posted as soon as possible, usually within 7 days of the due date; a bit more during exams or if our schedules gets impacted. Our goal is to give reasonable feedback to as many students as possible in the shortest time possible. If I have a larger than normal grading load, I will notify you of any delays in grading. See Policies for information on getting assistance, submitting work, academic honesty and more.

Monitor your course progress and see what you have submitted by clicking on "Grades" on the course navigation on the course website.

πŸ“… Schedule

Any changes to the schedule will be announced in class. Students will be held responsible for tracking all changes.

We move quickly through the material. Be prepared to work on the course daily, read the assigned text prior to class, and do not delay labs until the due date.

Visit the course Web site often for current assignments information, due dates, and messages.
The Grades section will show you the work you have submitted and the feedback for it.

See the Canvas Course or your Canvas Calendar for the current schedule of assignments.

All work is to be submitted on Canvas using submissions in Assignments, posts and responses in Discussions, and by submitting Quizzes; these can be found in their assigned module using the "Module" link on the Canvas course navigation to access the modules for this course.

Points below may not reflect contribution to your final grade; see further information in Assessment above.

Week Assignment Percent Dates
Week 1: Policies, OS Concepts & Structure Read Syllabus, OSC9e 1 & 2 01/9, 01/14
Quiz 1 4% 01/18
Week 2: Processes, Threads & CPU scheduling Read OSC9e 3 & 4 01/16, 01/23
no class 01/21,
campus closed
Quiz 2 4% 01/25
Week 3: Process synchronization & deadlock Read OSC9e 5, 6 & 7 01/28, 01/30
Quiz 3 4% 02/01
Assignment 1: CPU Scheduling 10% 02/03
Week 4: Memory Management & Virtual Memory Read OSC9e 8 & 9 02/04, 02/06
Quiz 4 4% 02/08
Mid-term 20% 02/11
Week 6: file systems Read OSC9e 10 & 11 02/13, 02/20
no class 02/18,
campus closed
Quiz 6 4% 02/22
Assignment 2: Memory Allocation 10% 02/24
Week 7: storage management Read OSC9e 12 & 13 02/25, 02/27
Quiz 7 4% 03/01
Week 8: distributed systems Read OSC9e 17 & 18 03/04, 03/06
Quiz 8 4% 03/08
Week 9: Case Studies: Linux & Windows Read OSC9e 21 & 23 03/11, 03/13
Assignment 3: File System Exploits 10% present 03/13
paper 03/17
Final Exam 20% 03/18 10:30-12:30

See the Canvas Course or your Canvas Calendar for the current schedule of assignments.

Each class meeting is about 1.3 hours. Attendance and participation are expected. Do the reading prior to class, as we use our class time to have student-led presentation of the chapter exercises. Use the opportunity to bring questions from the reading to class prior to quiz and assignment due dates.

See the rubrics for Assignments in the course shell.

If you are not able to attend for the Midterm or Final Exam, let me know a few weeks prior to the exam so that an alternative can be arranged. I strongly recommend doing a dry run with problems from the book and any provided sample exams.

πŸ’Ό Philosophy

It is my role to help you understand the course material. I do that with class/recorded presentations, mentoring sessions during office hours, and feedback on assignments. My best advise to you is Ask Questions. I will show you how to use course resources to find answers, and be a resource when those aren't sufficient.

This class, like most computer science classes, builds on itself — so it is important to read assignment feedback and internalize it, to allow you to improve in the next assignments. It is also important to keep up with the flow of the class, as once you fall behind it takes even more effort to catch up.

πŸ’» Technical Expectations

We will be using C in this course. It is assumed you are comfortable with C programming. You will be using Linux and the command line to compile, run, and debug programs. We use Canvas for providing course information beyond the classroom, submitting work, and communicating on-line.

If you are working at home, you will need to have the ability to install software on your PC and have regular Internet access for completing and submitting coursework.

Please develop a backup plan in case issues arise with your equipment, software, or Internet access that might affect your ability to participate in this class. Computer or software issues do not change due dates.

You are expected to satisfy the technical expectations by the first day of the quarter as we begin right away.

β˜• How to Succeed

Doing these nine things can help you succeed in this course:

  • Complete assigned reading prior to attending class or viewing recordings to fully participate.
  • Contribute to the class by engaging in discussions in class or on our slack channel.
  • Set up a plan and actively pursue each course milestone to ensure you complete your assignments on time.
  • Stay current with course materials and observe, read, experiment, and otherwise absorb course content.
  • Demonstrate a level of engagement through careful listening and attention to details and due dates.
  • Apply a professional level of verbal and written communication, with proper spelling, grammar and punctuation.
  • Take ownership of your learning, and deliver quality work worthy of portfolio content.
  • Maintain access to sufficient equipment and internet bandwidth to complete course work.
  • Seek help immediately when problems or challenges arise.

πŸ“œ Policies

  1. Ask for help — it's really okay!

    First, if you need help, get help early and often — if you wait it can become too late. Start assignments early and be proactive. The instructor is available to help you.

    If you need assistance or are having problems in this class, please visit with me in person or online during office hours so we can discuss your options. I am available outside of office hours as well, by arrangement. The best way to contact me electronically is to use your Canvas Inbox. I monitor Canvas throughout the week during the term, 9am-7pm, less on evenings, weekends and holidays.

    If you do contact me through Canvas for help - please give a clear subject and sufficient detail, for example, by attaching the source code file in question to the message and explaining what is happening.

    You can expect a response from me to your Canvas Inbox message within one school day; do not expect a reply on weekends, breaks, or holidays. If you do not get a response in that timeframe, resend your message and check the to: address to ensure it is going to the appropriate person.

    If we need to use email, you must use your Western Washington University email account.

    If for some reason you have to use email (Canvas is preferred), the subject line of your email must include the class, your name, and the topic, like so: CISS 360 | Jane Jones | C compiler not working. Email messages with that subject line format will be responded to within one school day during the term. Other subject lines may not be noticed until I am catching up on older emails.

    The role of the instructor is to assist the student during helo sessions in general approaches to problem solving, internalizing core concepts, and understanding constructs of a particular language. I may review homework only to determine which topics require additional attention or review by the student so that they can be successful. Do not show your work to your classmates. Other individuals are not allowed to directly provide any part of a solution to a home work assignment. The work must be the student's own.

  2. Etiquette/Netiquette — act my age

    In person and online, students and instructors will act in a professional manner. This includes that we all use standard professional English, be tolerant of others’ views, be respectful in dealing with others, and show common courtesy, both written and verbal. Remember that capitalization and exclamation points are considered yelling, and swear words and texting lingo are not professional. Ask first if you are not sure if your words are offensive.

    Violations of this policy may result in lowering of an assignment grade or your overall course grade, reporting the violation to student services, or administrative withdrawal from the class. WAC 132C-120-065 specifies particular prohibited student conduct including academic dishonesty, plagiarism, cyber misconduct and other prohibited conduct. Disruptive behavior is not tolerated in the classroom or online; see WAC 132C-120-076.

    For ground classes, refrain from the following during class time: talking over other people, using the computer for non-class activities, doing homework rather than paying attention, whispering to your neighbor, smartphones, gadgets, guests, eating, sleeping, or other disturbances to the class unless an alternative class mode of conduct is in effect.

  3. Effort — you get out what you put in

    New concepts tend to build on previous concepts rather than stand on their own. If you have to delay your progress in this course, I suggest you catch up quickly and network with other students to get on track as soon as possible (days, not weeks). Utilize office hours and the tutors to ask for assistance.

    Students are expected to have the course textbook and satisfy the technical expectations on or before the start of class. Any requested reading or activity should be completed before the first class day of the module, so that the student can better participate in discussions and use lab time effectively. Not having the textbook and not being prepared will not be an acceptable excuse for not being able to participate in class or to turn in assignments on time unless there is a textbook acquisition issue with the WWU bookstore. Do not assume the bookstore is out of textbooks, contact them directly via phone.

    By taking this course, you are stating that you will be making appropriate time in your schedule to ensure success and have access to the resources required for this class. Expect to spend about 3 hours per week for each class credit to ensure success. For a 3 credit class this is 12 hours of class work per week. If you review class readings several times, expect to spend additional time. Being a full-time student is a full-time job, with 15 credits there are easily 40+ hours per week in class and study time. Planning is key.

    Remember: You are responsible for your learning. You may be administratively withdrawn from course if you do not demonstrate participation within the first week of the term. Participation in the first week is measured by attendance, access to the Canvas course, and timely completion of the activities. You need to invest regular, consistent time to succeed in this course.

    Time management is your friend or your foe! Waiting until the evening of the due date to ask a question of an assignment will not provide success in this course. You may not get a response before the due date. That is your responsibility, you alone are responsible for your late start. Start assignments early and be proactive.

    At the end of the day, you need to make the choices to maximize your learning.

  4. Due dates — set aside time before!

    Assignments are due on time, the date for each is given on the course Canvas site. Online postings are due by 11:59:00 p.m. of the due date or they will not be accepted. See the Late Work policy for late submissions. If Canvas marks a submission as late, it is late. You can post assignments prior to their due date, however manual grading is typically done once the due date is past. Please do not wait until the last minute to post your work — expect connectivity issues with Internet access and plan accordingly. Especially if you are uploading large files, you will need to start the upload early, and leave time for your backup plan if you should lose internet connectivity during the upload. All assignments must be posted by 11:59:00pm of the due date listed for a given item using the appropriate posting for a given assignment to be considered as on-time. Any assignment not submitted by that time will be considered late. Do not wait until the last minute to complete or upload your assignments; that will not be excused. Note: e-mailed assignments will not be accepted for grading unless specified as part of an assignment or previously approved.

    When assignments are posted in Canvas, they will tell you if it succeeded or failed. I strongly recommend returning to the course page in another browser window to verify that the Submission was successfully completed to the correct assignment and contained what you wanted to submit. Since little or no paper is used in the course, your only documentation that you posted an assignment is the successful completion of a submission on Canvas. Please save your files and make screenshots of the successful submission. Keep them safe in the event of a system failure and/or loss of postings at the course Web sites. To date, loss of data is rare but can happen since we are using the Internet for transmitting data and software to save it at the far end. If issues do arise, one of the first things I may ask to see is your submission confirmation. Without a submission confirmation for an assignment, in the correct course assignment, you may receive 0 points for an assignment.

    All directions must be followed for your submission to be accepted for grading. Follow the directions provided in the assignment to ensure all naming conventions, files requested, information requested, and formats requested are provided.

  5. Late Work — keep up, catch-up is difficult

    Each assignment will list its due date. You must request a late day before the due date, not after. Sending a Canvas message is the best way to get a request in prior to the deadline for an assignment. Work can be turned in up to 3 days late, with a loss of 10% per day.

    If you have a one time event that is a serious illness or accident, or emergency service or active duty for you, your parent, your spouse, or your child, the late policy may be waived and an individual due date determined for an assignment. You must make your request at least one full day before the assignment is due for a late policy waiver or have verifiable proof of your inability to make the request by that time. Vacations, colds, or other discretionary activities will not be accepted. On-going or pre-existing situations can not be used for reasons for late work as they were known constraints at the start of the course.

    A late waiver is a one-time, one-assignment event, and any excused late work will not transfer to additional assignments. You will need to catch up with the course schedule and continue on time. If for some reason you cannot catch up, you can contact Registration & Records to withdraw; it is not sufficient to tell me that you are withdrawing.

    Accepted late waivers will be graded at the discretion of the instructor both for points as well as to when the assignment will be graded.

    Occasionally I will request that an assignment be redone in whole or in part because it appears that the learning outcomes may not have been met regarding that assignment. A redo is requested in the Comments section of the assignment along with the current grade, with a window in which it will be accepted. If not submitted in that window, the redo will not be graded and the original grade will stand. Redo assignments are a courtesy and not a right. Repeated redo's are generally not offered. Redo work will be graded at the discretion of the instructor both for points as well as to when the assignment will be graded.

  6. Academic honesty — this is a big deal!

    Academic dishonesty is defined in the University Catalog as misrepresentation by deception or by other fraudulent means whih ompromises an isntructor's ability to fairly evaluate a studfent's work or achievement. It is the instructor's responsibility to confront a student and to take appropriate action if academic dishonesty, in the instructor's judgment, has occurred. Please refer to the University Catalog for further information.

    Any student who violates the University policy on academic dishonesty could receive an F for the course and further disciplinary action from the University.

    You are to complete programming assignments individually. You may discuss the assignment in general terms with other students including a discussion of how to approach the problem, but the code you write must be your own. The intent is to allow you to get some help when you are stuck, but this help should be limited and should never involve details of how to code a solution. You must abide by the following:

    • You may not work as a partner with another student on an assignment unless explicitly assigned.
    • You may not show another student your solution to an assignment outside of an assigned peer review.
    • You may not have another person (current student, former student, tutor, friend, relative, anyone) "walk you through" how to solve an assignment.
    • You may not post your homework solution code online to ask others for help or in a public place. This includes public message boards, forums, file sharing sites and services, public web sites, or any other online system.
    • You are not to examine online solutions that you might find on the web. Should you find one, close your browser, do an alternative activity for at least an hour, and do not revisit the site again while working on your assignment.
  7. Internet Safety — be careful out there!

    It is your responsibility to be aware of the impact of your actions when using the internet, with respect to managing your privacy, using the information you access, and maintaining machine security.

  8. Special requests — keep a trail

    All special requests must be requested through Canvas to develop an electronic trail even if we have a face-to-face conversation. After such a conversation, send me a message on Canvas or your WWU email right away to document what was discussed and to create an electronic trail of the conversation. It is your responsibility to send that follow-up message through Canvas or WWU email.

🌎 Equity

I am committed to establishing and maintaining a classroom climate that is includsive and respectful for all students. Learning includes being able to voie a variety of perspectives, and classroom discussion is encouraged. While students' expressed ideas may vary and/or be opposed to one anther, it is important for all of us to listen and engage respectfully with each other.

I, and Western, are committed to an environment free of discrimination and harassment. Federal and State laws, as well as University policies, protect students, faculty and staff against discrimination based on the following legally protected characteristics: Race, Color, Creed, Religion, National Origin, Gender (including pregnancy and parenting status), Age, Disability, Marital Status, Sexual Orientation, Gender Identity and Expression, Genetic Information, and Veteran Status. See Equal Opportunity and Western's Policies on Providing Equal Opportunity and Nondiscrimination and Preventing Sexual Harassment.

🀝 Student Services

Western encourages students to seek assistance and support at the onset of an illness, difficulty, or crisis.

  • In the case of a medical concern or question, please contact the Health Center, 360-650-3400
  • In the case of an emotional or psychological concern or question, please contact the Counseling Center: 360-650-3400
  • In the case of a health and safety concern, please contact the OC Campus Police: 360-475-7800
  • In the case of a family or personal crisis or emergency, please contact the Dean of Students: 360-650-3450
  • To seek confidential support related to sexual violence, please contact CASAS (360-650-3700). To report sexual violence, please contact OC Campus Police, Poulsbo Police, and/or the Title IX Coordinator (360-650-3307).
  • Faculty are responsible employees who are required to report sex discrimination, including sexual violence, to the Title IX Coordinator.

πŸ––πŸ» Accomodations

Reasonable accommodation for persons with documented disabilities should be established within the first week of class and arranged through Disability Resources for Students: telephone 360-650-3083; email rs@wwu.edu; and on the web at Disability Resources.