CS 1550 Introduction to Operating Systems (COE 1550) Fall 2020 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Contact Information |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Course Description |
The purpose of this course is to understand and use the basic
concepts of operating systems, common to most computer systems, which
interface the machine with the programmer. In particular, this class
introduces concepts such as process management, concurrency, inter-process
communication, memory management and protection, I/O systems, file systems,
security, and virtual machines. The goal of the course is to help demystify a good portion of
the magic about how computers work. The specific learning objectives of the course are: 1.
Modify and compile the Linux kernel
to add system calls 2.
Write multi-process programs that
are free from race conditions and deadlocks 3.
Simulate page-replacement algorithms
that are used in virtual memory management 4. Implement a user-land file system |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Prerequisites |
CS 0447 and CS 0449 (It is important that you refresh your
knowledge and skills on C, pointers, file and string operations, etc.) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Textbook |
A. Silberschatz, P.B. Galvin, and G.
Gagne, Operating System Concepts, 9th Edition, John Wiley
& Sons, Inc., 2012. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Grading Policy |
Projects (40%): four projects
worth 10% each. Late submissions are allowed for up to two days with a 10%
reduction per late day. This must be your own individual work. Do not look at
the solution of anyone (or even part of it), and do not let anyone else look
at yours (or even part of it). You should figure out the solutions by yourself
--- do not ask anyone how to solve the problem, and do not seek the answer
from some other source. Anyone caught cheating will be given a zero for the
graded work or for the course and reported to the school following University
procedures. Midterm and Final exams (20%): 12% on higher and 8% on lower. Make-up exams can be
scheduled well in advance. The exams are remote and non-cumulative. Weekly homework assignments (18%): Twelve homework assignments worth 1.5% each. The
lowest-graded homework assignment will be dropped. Recitation (14%): 5 lab exercises
using the XV6
operating system, four quizzes on projects. The lowest two items will be
dropped. Lecture Quizzes (8%): In-class
questions using Tophat. The join code is 229886. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Important Dates |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Weekly Schedule (Tentative) |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Communication Policy |
There are many ways to communicate with the teaching team.
Please reach out to us as early as possible and as frequently as possible.
You can reach us on: ·
Piazza ·
Canvas Messages ·
Email Please expect a response within 72 hours. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
COVID-19 Statement |
I would like to emphasize that my number one concern is your safety and health, both physical and mental. My goal is for each and every one of you to succeed in the course. I am here to support you and I will remain understanding and flexible given the challenges that we are all facing together. The lectures and recitations will be recorded, and the recorded sessions include your participation. The recorded sessions will be made available through Canvas and only to this term's class. Although I expect you to attend the live lectures and recitations, attendance is not taken. The Tophat questions that are offered during the live lectures will also be assigned as homework. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Minimum Technology Requirements |
Basic computer hardware that includes camera and microphone for
the Zoom meetings. Basic software (e.g., Microsoft Suite, Canvas, Panopto, Top
Hat, Zoom, Gradescope, Piazza, PuTTY, WinSCP or FileZilla, a text editor
(e.g., Atom, Sublime, VS Code, Notepad++, Brackets, etc.). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Students with Disabilities |
If you have a disability for which you are or may be requesting
an accommodation, you are encouraged to contact both your instructor
and Disability
Resources and Services (DRS), 140 William Pitt Union, (412) 648-7890,
drsrecep@pitt.edu, (412) 228-5347 for P3 ASL users, as early as possible in
the term. DRS will verify your disability and determine reasonable
accommodations for this course. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Academic Integrity |
All assignment submissions
must be the sole work of each individual student. Students may not read or
copy another student's solutions or share their own solutions with other
students. Students may not review solutions from students who have taken the
course in previous years. Submissions that are substantively similar will be
considered cheating by all students involved, and as such, students must be
mindful not to post their code publicly. The use of books and online
resources is allowed, but must be credited in submissions, and material may
not be copied verbatim. Any use of electronics or other resources during an examination
will be considered cheating. If you have any doubts about whether a
particular action may be construed as cheating, ask the instructor for
clarification before you do it. The instructor will make the final
determination of what is considered cheating. Cheating in this course will
result in a grade of F for the course and may be subject to further
disciplinary action. Should a student be accused of a breach of academic integrity or
have questions regarding faculty responsibilities, procedural safeguards
including provisions of due process have been designed to protect student
rights. These may be found in Guidelines on Academic Integrity: Academic
Integrity Policy of the School of Computing and Information. Pay attention to the following
examples of cheating, which include: §
Sharing code: either by copying, retyping,
looking at, or supplying a copy of a file from this or a previous semester. §
Describing code: Verbal description of code
from one person to another. §
Coaching: Helping your friend to write
a lab, line by line. §
Copying: Copying code from the Web or
another student. You are only allowed to use code that we provide you. §
Searching: Searching the Web for
solutions or for any advice on the lab. Cheating is also looking at other students’ code or allowing
others to look at yours. This includes one person looking at code and
describing it to another. Be sure to store your work in protected directories
(e.g., under the private folder on your AFS space on the department servers),
and log off when you leave a remote server, to prevent others from copying
your work without your explicit assistance. You may find it useful to know what is not
cheating: §
Clarifying ambiguities or vague
points in class handouts, lectures, or textbooks. §
Helping others use the computer
systems, networks, compilers, debuggers, profilers, or other system
facilities. §
Helping others with high-level
design issues only, but algorithm/coding and other such details are not
``high-level design issues''. §
Helping others with high-level
(not code-based) debugging. § Using code from the
skeleton/package provided in class is always OK. For a first offense, a student caught collaborating
or cheating in any way will receive a zero for the exam, homework, lab, or
project in question. In the event of a second offense, the student will
receive an F for the course and may be subject to stronger action. They will
be reported to the school following University
procedures. Submissions that are alike in a substantive way (not due to
coincidence) will be considered to be cheating by ALL involved parties.
Please protect yourselves by only storing your files in private directories,
and by retrieving all printouts promptly. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Religious Observances |
In order to accommodate the
observance of religious holidays, students should inform the instructor (by
email, within the first two weeks of the term) of any such days which
conflict with scheduled class activities. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Diversity and Inclusion Statement |
I consider this classroom to be a place where you will be treated
with respect, and I welcome individuals of all ages, backgrounds, beliefs,
ethnicities, genders, gender identities, gender expressions, national
origins, religious affiliations, sexual orientations, ability – and other
visible and nonvisible differences. All members of this class are expected to
contribute to a respectful, welcoming and inclusive environment for every
other member of the class. (American Society for Engineering Education) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Copyright Statement |
These materials may be protected by copyright. United States copyright law, 17 USC section 101, et seq., in addition to University policy and procedures, prohibit unauthorized duplication or retransmission of course materials. See Library of Congress Copyright Office and the University Copyright Policy. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
To ensure the free and open discussion of ideas, students may not record classroom lectures, discussion and/or activities without the advance written permission of the instructor, and any such recording properly approved in advance can be used solely for the student’s own private use. |