CSC3210 - Introduction to Systems

From Maryville College CS Wiki
< Os‎ | spring2019
Jump to: navigation, search

General Information

Spring 2019
Robert Lowe robert.lowe@maryvillecollege.edu
Office: SSC 214

Office Hours

  • MWF 2:00-3:00
  • TR 10:00-11:00

Other Times by Appointment and/or Luck

Textbooks and Materials

Prerequisites

CSC221 - Computer Architecture

Catalog Description

An introduction to operating systems concepts, including processes and threads, concurrency, processor scheduling, memory management, security, and performance, as well as an introduction to networking, web technologies, and systems software.

Goals

  1. Learn how to design and implement large scale programming projects.
  2. Learn how an operating system provides services to programs.
  3. Read and analyze the source code of others.
  4. Learn the x86 architecture.
  5. Study how software interacts with hardware.

Methods of Instruction

  • Lecture
  • Reading
  • Programming Assignments
  • Presentation and Peer Review

Grading

Category Weight
Lesser Programs 25%
Code Walkthroughs 10%
Operating System Project 50%
Final Exam 15%

Schedule

Day Date Topic Reading
W 1/9 Course Overview & History of UNIX The UNIX Time-Sharing System, Evolution of the UNIX Time-Sharing System
F 1/11 Introduction to C Programming K&R 1.1-1.10, 2.7, 2.9
M 1/14 Understanding Pointers K&r 5.1-5.12
W 1/16 UNIX Code Slinging XV6 Chapter 0 - Operating System Interfaces
F 1/18 Anatomy of System Calls
M 1/21 More System Calls
W 1/23 The x86 Architecture XV6 Appendices A & B
F 1/25 UNIX Assembly Programming Using Assembly in Linux
M 1/28 Kernel I/O System The Unix I/O System
W 1/30 Starting Your Kernel
F 2/1 Operating System Organization XV6 Chapter 1 - Operating System Organization
M 2/4 Operating System Organization
W 2/6 Kernel Message Queues
F 2/8 Page Tables XV6 Chapter 2 - Page Tables
M 2/11 Page Tables I386 Chapters 5 and 6
W 2/13 Page Tables
F 2/15 No Class
M 2/18 Code Walktroughs XV6 Chapter 3 - Traps, Interrupts, and Drivers
W 2/20 Traps, Interrupts, and Drivers I386 Chapter 9
F 2/22 Interrupt Driven I/O Interface
M 2/25 Locking XV6 Chapter 4 - Locking
W 2/27 Locking and Scheduling XV6 Chapter 5 - Scheduling
F 3/1 Scheduling ioapic
M 3/4 Scheduling
W 3/6 Code Walkthroughs
F 3/8 Code Walkthroughs
M 3/11 Spring Break
W 3/13 Spring Break
F 3/15 Spring Break
M 3/18 Process Management and System Calls
W 3/20 Micro-Kernel Boot Process
F 3/22 Micro-Kernel Syscall Processing
M 3/25 File System XV6 Chapter 6 - File System
W 3/27 File System
F 3/29 File System
M 4/1 XV6 Summary XV6 Chapter 7 - Summary
W 4/3 Code Walkthroughs
F 4/5 Code Walkthroughs
M 4/8 Userspace Compiling
W 4/10 Porting your Shell
F 4/12 Extensions: Graphical Drivers
M 4/15 Graphical Drivers
W 4/17 Other Hardware
F 4/19 Good Friday, College Closed
M 4/22 Code Walkthroughs
W 4/24 Code Walkthroughs

Classroom Policies and Expectations

In order to ensure a happy and successful semester, I request that you:

  • Silence all cell phones during class. Texting and driving is deadly. Texting and learning is worse. I know when you are texting, and it distracts me. Worse, it will distract students around you. Please be courteous to each other and refrain from surfing the web and texting during class.
  • Come to class well rested, well fed, and ready to work and learn.
  • Be courteous and respectful of your classmates. Try to make everyone sitting around you happy to see you. A community of happy learners is far more successful than a collection of embittered individuals.
  • Always bring required materials to class.
  • Ask lots of questions! I understand that you like the sound of my voice. I’ve always enjoyed it, but you will get much more out of this course if you ask questions. If you are confused about a topic, I guarantee you that at least one other person in the room is as well, so don’t be shy about speaking up. Learning is best done as a dialog, your professors love answering questions!

Of course, these guidelines are not quite specific enough for some questions. More detailed and legalistic policies follow.

Attendance

You should strive for perfect attendance! Many of the concepts we will cover can be quite confusing without proper context and guidance. If you are absent, you will miss out on this, and so you will easily fall behind. Of course, sometimes life happens and you may need to miss class. My policy is that you must attend at least 80% of class meetings in order to pass the class. If you miss more than 20% of the class meetings, unless you have been granted an exception, you will receive an automatic “F” for the course. Also, note the days of the exams in the schedule. If these dates change, I will notify you at least week in advance; however, they are not likely to change. If you must miss an exam period, you will need to make arrangements to take the exam before the scheduled day. Failure to take an exam on or before an exam period will result in a grade of zero for that exam.

Getting Help

I will do my best to make sure help is readily available to you. You can come see me during my scheduled office hours. If you see me in my office and it is not an office hour (a very common occurrence) feel free to come in and ask any question you like. The same goes for when you see me around campus. Feel free to approach me and chat with me at any time! Also, I am available by email and will typically respond within one business day. I typically do not check my email after 6:00PM or on weekends, however, so there may be a delay during those times.

Due Dates and Late Work

Due dates will be provided with each assignment. Except in very rare emergencies, no individual extensions will be granted. Late work will receive a grade of zero. This means that “getting help” is all the more important! I never grant individual extensions to assignments, but if lots of people express confusion to me, I am much more likely to extend the assignment’s due date for the entire class. If no one asks me questions about an assignment, I will assume everything is going fine and will act accordingly.

Collaboration

I encourage you to form study groups and consult with each other. However, each individual in that group must do their own work. I realize that this can be a tricky dynamic to work with. If you ever think you may be getting too much help from another student, then you probably are.

Acceptable collaboration would include:

  • Asking for help on the approach to a problem.
  • Asking for help in locating references in books and/or on the internet.
  • Reading texts together or forming study groups for exams.

Unacceptable levels of collaboration include:

  • Showing completed solutions to each other.
  • Asking another student what a specific answer is.
  • Allowing another student to copy an assignment.

Any wholesale copying will result in a grade of zero on the assignment for all students involved. This policy is, of course, different for group projects. Unless otherwise instructed, I expect you to submit only your own work for grading.

Academic Honesty

Academic honesty is a very serious issue. All work that you present as your own must be your own work. Copying someone else’s work in any way shape or form is unacceptable unless proper attribution is given. I am,

of course, referring to plagiarism. Plagiarism is not always a blatant act. In fact, most of the time it takes very subtle forms such as:

  • Presenting an idea that you have read without citing a source.
  • Copying code from a website.
  • Copying steps for a mathematical problem from a website.
  • Using pictures and/or clipart without attribution.

As a rule, plagiarism is unspeakably ugly to academic professionals. Copying without attribution is, in short, a great way to get on your professor’s bad side. Also, the Maryville College policy is that after 3 instances of plagiarism, you are referred to an academic honesty board for disciplinary action. So please, do not commit this heinous deed!

If I catch you in an act of plagiarism, the first offence will result in a grade of zero and a report will be written and filed with academic affairs (not to mention a rather unpleasant conversation for both of us). The second offence will result in a failing grade for the course along with a second report.

Inclement Weather

Ah, East Tennessee. Normally pleasant and temperate, but at other times we are in the midst of a raging whirlpool of blizzards and tornadoes! Should Maryville College close, an announcement will be made on the website, in the local media, and via text message (if you’ve signed up for the alerts). So long as the college is open, we will meet and have class. If the college is closed, I will revise our schedule upon our return.

Students with Disabilities

Students with a disability requiring accommodations or any student who believes that they will require accommodations should contact Kim Ochsenbein in the Academic Support Center located in the lower level of Thaw Hall (865) 981-8124. Students are encouraged to make contact before or during the first week of classes.