(rev. January 23, 2023)
[2023/01/23: changed the room for section 003]
[2022/12/27: small typo & format edits]
[2022/12/19: initial edits]

Course Description
for Operating Systems I: CS 3750

"An elephant is a mouse with an operating system."
TERM: Spring 2023

CLASS INFO FROM SCHEDULE:
🍐 20654 CS 3750 001 Operating Systems I Lec MWF 10:00-10:50 DBH 103
🍐 20655 CS 3750 002 Operating Systems I Lab (TBA) 

🍇 20656 CS 3750 003 Operating Systems I Lec MWF 13:00-13:50 DBH 165 B-113 
🍇 20657 CS 3750 004 Operating Systems I Lab (TBA) 
INSTRUCTOR: John Sarraille, Professor of Computer Science

INSTRUCTIONAL MODE: My plan is to run the course face-to-face in the classroom as much as possible unless something, such as a quarantine, requires us to go online.

E-MAIL:john@ishi.csustan.edu

OFFICE: P-286, Professional Schools Building (also known as Demergasso-Bava Hall, DBH-286), Cal State Stanislaus

OFFICE HOURS: PROFESSOR SARRAILLE'S HOMEPAGE: http://www.cs.csustan.edu/~john/js.html

CS 3750 HOMEPAGE: http://www.cs.csustan.edu/~john/Classes/CS3750/

PREREQUISITES:

It is important that you be adequately prepared for taking this course, CS 3750.

Check with me if you have not passed both: COURSE OBJECTIVES:

The main aim of this course is for you to develop an understanding of important concepts and techniques involved in the design, implementation, and use of computer operating systems.

Some specific goals are to learn about what an operating system does, about sequential processes, the control of concurrent processes, memory management, protection, security, network operating systems, and truly distributed operating systems.


REQUIRED TEXT:

"Silberschatz E-Book 10e": Operating Systems Concepts, Enhanced eText 10th Edition; written by Abraham Silberschatz, Peter Galvin, and Greg Gagne; published by John Wiley & Sons, Inc; ISBN-13: 978-1-119-32091-3; Date: Apr 2018

OR

"Silberschatz Paperback 10e": Operating System Concepts 10th Edition Abridged Print Companion ; written by Abraham Silberschatz, Peter Galvin, and Greg Gagne; published by John Wiley & Sons, Inc; ISBN-13: 978-1-119-43925-7; Date: Jan 2018
DETAILS ABOUT THE REQUIRED TEXT

Get one or the other of the two texts listed above. If you want to get both, that's OK, but you are only required to get one or the other.

Normally, the campus bookstore should have copies of the Silberschatz paperback 10e, and should also be able to sell you a version of the Silberschatz E-Book 10e. Please check directly with the bookstore about how to make purchases there.

If you buy the E-Book, feel free to get a version that runs on whatever platform you want. For example, I think there are Kindle and Google Play versions, and a version sold by the publisher, Wiley, on the wiley.com website (see the link to the E-book above) I think it still runs on a group of free apps called VitalSource Bookshelf. There are VitalSource Bookshelf apps for most PC and mobile-device operating systems.

Finally, be careful to take note of this fact: It is the 10th edition that is the required text now. If you use a different edition, I can't guarantee that you won't have problems with things missing from your text, or incorrect.

RECOMMENDED TEXT:

Peek: Learning the Unix Operating System (5th edition); by Jerry Peek, Grace Todino-Gonguet and John Strang; published by O'Reilly and Associates, 2001; ISBN 9780596002619


COURSE COVERAGE:

I strongly recommend that you read the Silberschatz book - all of it. Operating Systems is a big area, and you have to do a lot of reading to get an adequate background in the subject. My lectures discuss material in chapters 1-15, giving special attention to chapters 6-10, which deal with the areas of process control and memory management. I may add more material if time allows.

INFORMATION ABOUT CLASS SESSIONS (lecture vs lab):

For technical reasons, students in this class are required to sign up separately for a lecture section and a lab section.

TESTS & GRADING:

I'll assign you sets of study problems which you can work to help you get ready for quizzes. These problem sets are not traditional homework, which means that I don't collect them or assign grades to them. They can't directly affect your course grade. However, I will go over answers to the problems prior to quizzes, as part of the preparation for the quizzes. I think it would be a good study routine for you if you write up answers to the problem before I give out my answers, and if you 'self-correct' your answers while I'm giving you my answers.

There will be: Quizzes will test your knowledge of ideas covered in your reading assignments, and in my lectures.

By default, the quizzes combined will count for 60% of your grade and the final will be worth 40% of your grade. If your scores on these tests are uneven, I'll see about giving more weight to what you did better. However, bear in mind that if you are not getting an average of 61% or better on quizzes, then you are definitely in danger of failing the course, and you need to do better to avoid failing CS 3750.

I give numerical scores on quizzes and tests. Scores of 61 or better are passing. The correspondence to letter grades is: TEST DATES (AND PREPARATION):

When you sign up for this course, and when you remain in this course, you have agreed to be available during all the class meeting times and the final exam time. You have also agreed to follow all the course rules and guidelines. Therefore, I will ordinarily not grant requests to change the way the course is conducted. For example, I don't ordinarily give make-up quizzes or tests to individual students, or allow individual students to take quizzes or tests before or after the rest of the class.

Having said that, it's possible there could be a compelling reason why a special accommodation for you would be appropriate. Have a word with me, and I'll do my best to make the right decision or referral.

Get started early on preparation for quizzes or tests. That way, if you run into difficulty, you can seek help in class and/or office hours in a timely fashion.

We can have class discussions about which dates the class will take quizzes. I may be willing to change some of these dates. If you want a change in the schedule, please bring this up (in class, preferably) as soon as possible, and not at the last minute. (It's often a good idea for class members to try to work out some consensus before discussing it with me.)

Help:

If you find yourself in difficulty with an aspect of the course, seek help from me promptly. Maybe I can clear things up if you ask me questions. If you are OK with discussing a topic during class, that would be great, because other students are likely to learn from being in on the conversation. If you want to have a word with me outside of class, that's fine. E-mails to your professor and/or office visits and such are a normal part of a college education. You are entitled to get help this way. Whatever you do, please do not 'mess up' your chances of success by continuing to spin your wheels when you feel stuck in a rut. To get through a class like this successfully, you may have to get over foolish pride, stubbornness, and/or shyness.

PARTICIPATION:

I hope to be accessible and helpful to you during this course. I want you to get as much as possible out of it.

Remember that you are a member of a class, a group, a team. People have intentionally designed the form of university education to be a group activity. If you scrunch down in your seat and determinedly say nothing, you make your education and the education of the other students more difficult. There's really no reason to be worried about looking ignorant, because everyone is very ignorant about many, many things. That is why we have universities. We can help each other learn by sharing our questions.

To do well in the class, and to help the rest of the class, read everything I assign as soon as possible, and read with care. If you find some of the readings difficult to understand, it's probably a good idea to read it again! Attend all classes. Pay close attention. Take notes - yes, write things down on paper. Studies show that people who write notes learn better. It has to do with the actual activity of writing while listening and thinking. Review your notes before each class. Get started on problem assignments early. Do a little each day, and bring your questions and problems concerning these assignments to class each day.

Finish assignments and reading on time. Do what you can to keep class discussion lively and to the point. Reply to questions. Ask questions if you want something explained better. Also, feel free just to make a comment or remark once in a while.

RESPONSIBILITY FOR YOUR OWN WORK:

Sometimes it can be difficult for the student to figure out the difference between 'cheating' and 'working smart.' Here is some guidance:

Study Problems: Since these problems are not graded, you are free to discuss them with others to the extent you want. To get the most out of it, do as much as you can by yourself, but you'll have to be the judge of how much that is. We'll go over the answers in class, before you get any related questions on quizzes.

Tests: You must answer your test questions with no discussion or help from anyone.

The one exception to not getting help on tests is that, during an in-class test, you are allowed to come forward to me and ask me to clarify the meaning of a test question, if you wish. It will be up to me to decide how to answer, or whether to answer at all. I will tell the class any new information that arises from such an exchange.

Academic Dishonesty: If caught cheating, expect to receive the full extent of consequences allowed under University policy. Cheating degrades the integrity and the core values of our shared educational system. There are always better alternatives. Be open to them.

NETWORK AVAILABILITY OF COURSE MATERIALS:

I will make course documents, assignments, supplements, and so on available on the world wide web. To access the on-line CS 3750 materials, you can open the URL:

http://www.cs.csustan.edu/~john/Classes/CS3750/

There is also a miscellaneous collection of information that you may want to use from time to time. It is located here:

http://www.cs.csustan.edu/~john/Classes/General_Info/

COMPUTER EQUIPMENT:

Each of you is supposed to have an account that gives you access to all the Computer Science Department Lab computers. Most of the computers share a networked file system, and you get the same home directory, regardless of which which one you log into.

If you don't seem to have access to those computers, then let me know.

The CS computers are located in the Computer Science Lab: P-288 (aka DBH-288). P-288 is in the Professional Schools Building (aka: Demergasso-Bava Hall), in the extreme northwest corner of the second floor of the north wing.

Generally, we try to keep the lab room open for you to visit during the school day, and we try to make the CS Department workstations available over the Internet 7 days a week and 24 hours per day. The lab may be subject to closure due to staff shortages or quarantine-related issues. Staff shortages can also affect online access. To learn when the lab will be closed, you can watch for e-mail announcements from the CS Department, or you can check the hours posted on the lab door.

See the section below entitled "INTERNET CONNECTIONS" for more information on how to connect to lab machines using the Internet. Also see the course document entitled loginDirections.

You can access many CS Department Lab computers via an ssh or sftp connection from anywhere on the Internet.

When the CS Lab is closed, you may wish to login from a host on the campus local area network, such as those in the University open labs. Generally those labs are open during the same hours that the campus library is open. Please check postings online, or at the labs, or ask lab personnel in order to get further information about lab hours. Lab assistants should be able to show you how to establish ssh or sftp connections to a CS Department workstation. You'll need to know your login name and password.

INTERNET CONNECTIONS:

You may want to obtain Internet connectivity for your residence. This is not a requirement and not necessary for success, but it can be a great time-saver and a convenience, once you have gotten past the hurdle of setting everything up.

There are several Internet service providers (ISPs) that serve this area. Chances are that members of the class can make good recommendations. If you like, we can devote some time to this topic in class.

One can find many ISPs by doing a web search. ISPs also advertise in many forms of media.

If you get an Internet connection, make sure you get remote login (ssh) and file transfer (sftp) software. This will allow you to log in from home to your computer account at the college and also transfer files back and forth. For more information about this, read the remote login and file transfer help sheet.