DOC PREVIEW
UCSC CMPS 111 - Syllabus

This preview shows page 1 out of 3 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Introduction to Operating SystemsProf. Darrell LongComputer Science DepartmentJack Baskin School of [email protected] 2005What the catalog says ...Fundamental principles of operating systems: process synchronization, deadlocks, memory management, resourceallocation, scheduling, storage systems, and [the] study of several operating systems. A major programming projectwill be required. Prerequisites: courses CMPS 101 and CMPE 12C.What we will do ...The course will cover the basics of uniprocessor operating systems, paying particular attention to the system designaspects and performance issues. This includes, but is not limited to: processes, interprocess communication, synchro-nization, scheduling, memory management, swapping, virtual memory, page replacement algorithms, segmentation,file systems, security, protection, input/output, interrupts, device management, resource allocation and deadlocks.As we go along, we will also discuss more advanced topics such as distributed operating systems, storage systems,networks, communications protocols, synchronization, atomicity, remote procedure call, distributed file systems andfault tolerance.What you must read ...The primary source for the course will be the text by Tanenbaum. It covers the main topics of uniprocessor operatingsystems in the early chapters, and then covers distributed systems and other advanced topics in the later chapters. It isin its second edition, and is a fairly up-to-date undergraduate operating system text. There are a few newer texts, butnone of the authors have Tanenbaum’s experience in implementing operating systems.• Andrew S. Tanenbaum, Modern Operating Systems, Second Edition, Prentice Hall, 2001.We will cover all the core operating systems issues, but since we only have ten weeks, we will have to skip somelater chapters (for example, the case studies). Additional material, primarily from the research literature, will bepresented when appropriate.The formal prerequisites for this class are CS 101 and CS 110. You should have taken these classes or equivalentrecently; experience has shown that students who took these classes more than two years ago tend to have moredifficulty with the material in CS 111. You should also feel comfortable using UNIX (Linux, FreeBSD and OS Xbeing instanced of UNIX), associated tools like gdb,make and programming in C. You will be in for a difficult time ifyou are not comfortable with these tools.What you really ought to read ...If you have some spare time (and spare money), or just want to learn more about operating systems, then the followingtexts may be helpful. The first is a standard introduction to operating systems and contains some material not in theTanenbaum text, it gives broader coverage but is more theoretical; the second gives the details of the implementationof the FreeBSD operating system, and the third gives a more mathematical treatement not available in other texts.1• Abraham Silberschatz, Peter B. Galvin and Greg Gagne, Operating System Concepts, Seventh Edition, JohnWiley & Sons, 2005.• Marshall Kirk McKusick and George V. Neville-Neil, The Design and Implementation of the FreeBSD Operat-ing System, Addison-Wesley Professional, 2004.• E. G. Coffman and P. J. Denning, Operating Systems Theory, Prentice-Hall: Englewood Cliffs, 1973 (sadly, outof print).Keeping in touch ...You are expected to read your electronic mail daily. It is your primary means of communication with the instructorand with the teaching assistant. You can reach the instructor at [email protected] and the teaching assistant RobertHero at [email protected] must read (and contribute to) the class mailing list (http://www.soe.ucsc.edu/mailman/listinfo/cmps111).Discussions of the material and announcements to the entire class appear here.Programs, Examinations & Exercises ...• There will be weekly exercises worth a total of 10% of your total grade. These questions taken from the primarytext and are intended to make sure that you is reading it and to test your understanding of the material from eachchapter.These questions are taken from the text and are intended to make sure that you are reading it and to test yourunderstanding of the material from each chapter. Exercises are graded on a simple three point scale: 0 (nocredit), 1 (full credit), and 2 (outstanding).• There will be four programming assignments due approximately every two or two and a half weeks, each worth10% of your total grade.Programming projects are an important component of this course. You will be implementing several componentsin a operating system kernel running atop a simulated DLX processor. While it would be ideal to work on anactual operating system, a real operating system, unlike a compiler,is too complex to write our own from scratch.For example, FreeBSD has over 100,000 lines of code, Linux has much more, and rumor has it that WindowsXP has around 32,000,000 lines of code. Instead, we will use DLXOS, a simple operating system that runson a DLX processor (and has only 3,000 lines of code, much of it documentation). There’s a DLX simulator,compiler, and debugger installed on the CATS IC systems.• There will be a midterm examination at approximately halfway through the quarter that will be worth 20% ofyour grade.• There will be a comprehensive final examination worth 30% of your grade.Note: You must average above 50% on the programming assignments and on the examinations in order to passthe course. A score lower than 50% on either portion of the class will result in a failing grade regardless of the totalscore.All examinations and quizzes are closed book. You may bring one 81200× 1100single-sided sheet of notes (the fontmay not be smaller than 10 point) with you. You may not share this sheet with you friends and neighbors.Academic HonestyThis really should not be an issue, but recurring events have made it necessary for us to address Academic Honesty.2You are expected to adhere to the highest standards of academic integrity. This means that plagiarism1in any formis unacceptable. As a (soon to be) computing professional, I encourage you to consult the code of ethics appropriateto your discipline.2Plagiarism will be assumed, until disproved, on work that is essentially the same as that of other students. Thisincludes identically incorrect, off-the-wall, and highly unusual duplicate answers where the probability of a sheercoincidence is extremely unlikely. All parties to this


View Full Document

UCSC CMPS 111 - Syllabus

Download Syllabus
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Syllabus and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Syllabus 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?