CS 5523.001 - Operating Systems

Spring 2017


Catalog   Description

5523 Operating Systems
(3-0) 3 hours credit. Prerequisites: CS 3733 and CS 3853.
Operating systems concepts with an emphasis on distributed systems. Topics include process management and threads, inter-process communication, distributed objects and remote invocation, distributed naming and directory services, distributed file systems, middleware such as CORBA, access control and security.


  • Enhance the understanding for the key operating system concepts (such as process, thread and memory management);
  • Develop an understanding of distributed systems and the important issues in their design;
  • Develop a working knowledge of the infrastructure required to support distributed systems (inter-process communication and internetworking);
  • Understand how applications are evolving to use distributed system support;
  • Improve system-development and technical writing skills;
  • Learn and/or improve team work and oral discussion skills;


  • CS 3733 or equivalent: Undergraduate operating systems
  • CS 3853 or equivalent: Undergraduate architecture
  • Programming experience in C/C++ or Java, and working knowledge of Unix/Linux
  • Graduate standing

Time and Location

MW 6:00pm - 7:15pm
MH 2.01.04


Dr. Turgay Korkmaz
Office: SB 4.01.13
Email: korkmaz at cs.utsa.edu
Phone: (210) 458-7346 Fax: (210) 458-4437

Office Hours

TR 11:30am-1:30pm (or by appointment)

Blackboard Learn We will be using Blackboard Learn system for important notices, posting/submiting assignments etc. So get used to Blackboard system and Change your email on Blackboard to your favorite email so you can hear from the instructor!



Required Textbook

[SGG] Operating System Concepts, by Avi Silberschatz, Peter Baer Galvin, and Greg Gagne  (I use the 8th edition with Java, but other editions would be OK, too).   Student Companion Site

[TS] Distributed Systems: Principles and Paradigms, 2nd edition, by Andrew S. Tanenbaum and Maarten Van Steen

Reference books (highly recommended)

[CDKB] Distributed Systems: Concepts and Design, 5th ed. by George Coulouris, Jean Dollimore and Tim Kindberg, Gordon Blair   (the 4th edition [CDK] is OK, too).

[RR] UNIX Systems Programming, by Kay A. Robbins and Steven Robbins


  • 5%   Attendance, Reading, and Quizzes
  • 25% Midterm  or Project          (close books/notes) (Wed, March 1, 6:00pm - 7:15pm)
  • 25% Assignments  (problem solving + programming) ! NO LATE SUMBISSION !
  • 10% Term Project     (Research advance topics like TS chapters 11, 12, 13, presentation and report)
  • 35% Final Exam      (comprehensive and close books/notes) : Mon, May 08, 06:00 pm - 08:30 pm 

Final letter grade:

  • A-, A          :  >= 90%
  • B -, B, B+  :  >= 80%
  • C -, C, C+  :  >= 70%
  • D                 :  >= 60%
  • F                 :  < 60%

You are expected to read each chapter before it is covered in class and take hand written notes while studying. You will submit your hand written notes before each class. Keep the copies of your notes which can help you a lot when studying for the exams. Click this link for the tentative reading schedule

Note 2: Zero tolerance on cheating

Note 3: No make-up exams will be given except for university sanctioned excused absences. If you must miss an exam (for a good reason), it is your responsibility to contact me before the exam by sending an email.

Note 4: Filling out the course evaluations for CS 3733 is a requirement for this course; Dates for the online course evaluations will be in April 2017; Students who do not fill out the evaluations are subject to a loss of one full letter grade.

Attendance Policies
  • Attendance for all lectures and recitations is required. Quizzes may be given at the start of class periods. There may also be take-home quizzes.
  • Instructor initiated drop: A student who misses, without prior approval by the instructor, half or more of the lectures/recitations during the first two weeks will be dropped from the course. !!!


We will have 3-4 Problem solving assignments and 4 Programming assignments:

Officially they will be posted and submitted through the BB (BlackBoard)  LEARN


Course Topics

This course covers the principles of operating systems theory and practice as well as distributed operating systems. Fundamental concepts such as processes and threads, synchronization and concurrency, communication, remote method invocation, security, distributed file systems and name services will be presented. The principles and implementation of the software necessary to manage system resources in a distributed environment will also be addressed. A core knowledge of basic operating systems concepts, such as process/IPC, virtual memory and I/O, are assumed and will be reviewed very quickly. You will be programming in C/C++ and/or Java.

Part I (Basic Operating System Concepts)
  • Introduction to OS SGG Chapters 1 and 2
  • Process management SGG Chapter 3
  • Threads and implementation SGG Chapter 4
  • CPU Scheduling SGG Chapter 5
  • Concurrency and synchronization SGG Chapter 6
  • Deadlocks SGG Chapter 7
  • Memory management SGG Chapter 8
  • Virtual Memory SGG Chapter 9
Part II (Distributed Systems)
  • Distributed System Models TS Chapters 1 and 2
  • Processes and Threads TS Chapter 3
  • Networks and Communication TS Chapter 4 (CDK 3 and 4)
  • Distributed Objects, RMI TS Chapter 10 (CDK 5)
  • Naming TS Chapter 5
  • Synchronization TS Chapter 6
  • Consistency TS Chapter 7
  • Fault Tolerance TS Chapter 8
  • Security TS Chapter 9
  • Distributed System Examples (if time permits) Like TS Chapters 11, 12 and 13
  • Student Presentation Advanced Dist and OS Topics

Online materials and Class Notes

Accessible from utsa.edu computers
or you need to know the user name and password given in class



We will use C/C++ and/or Java. So you must be comfortable with these programming languages as well as Linux.

Computer Accounts

You will have an account on the CS network as long as you are enrolled in a CS course at UTSA. This account gives you access to Windows and Linux in various CS laboratories. You may also access your account from off-campus via the Internet using secure shell. A free version of secure shell is available at http://www.cs.utsa.edu/~javalab/lab/SSHSecureShellClient-3.2.0.exe, if you wish to install it on your home machine.

After installing and running SSH: Click Quick Connect, enter the hostname given in the class, enter your account id.
From CS system admin: "If a student is registered for a CS course and needs to login to the CSNET domain or Linux LDAP domain the default username is their myUTSAid (abc123) and their password is their banner number without the @ character. Please have them reset their passwords when they login. If they do not change their password their account may be locked when we run our password audit. "

Other Links

Course expectations for professional conduct

Students will treat their classroom obligations as they would any serious professional engagement. These obligations include:
  • Preparing thoroughly for each session in accordance with the course calendar and instructor's request.
  • Notifying the instructor in advance if missing a class.
  • Being set up to begin work (logged in and set-up) for each class period at the time the class starts.
  • Staying on task during work sessions.
  • Participating fully and constructively in all course activities and discussions.
  • Adhering to deadlines and timetables established by the instructor.
  • Displaying appropriate courtesy to all involved in the class sessions.
  • Providing constructive feedback to the instructor regarding the class.

Note: Turn off and put away all cell phones, iPods, and other electronic devices. You should only have class materials on your desk. You should only have the course web pages, and the classroom query software up on your screen. The instructor and TAs can observe and will record incidents of inattention, which will seriously impact the Homework/Attendance/Participation portion of your grade. Unauthorized electronic devices in use or on the desktop during class are subject to confiscation.

Academic support services

I encourage you to utilize the academic support services available to you through the Tomas Rivera Center (TRC) to assist you with building study skills and tutoring in course content. These services are available at no additional cost to you. The TRC has several locations at the Main Campus and is also located at the Downtown Campus. For more information, visit the web site at www.utsa.edu/trcss or call (210) 458-4694 on the Main Campus and (210) 458-2838 on the Downtown Campus.

Academic Dishonesty

As an entity of The University of Texas at San Antonio, the Department of Computer Science is committed to the development of its students and to the promotion of personal integrity and self-responsibility. The assumption that a student's work is a fair representation of the student's ability to perform forms the basis for departmental and institutional quality. All students within the Department are expected to observe appropriate standards of conduct. Acts of scholastic dishonesty such as cheating, plagiarism, collusion, the sub- mission for credit of any work or materials that are attributable in whole or in part to another person, taking an examination for another person, any act designated to give un- fair advantage to a student, or the attempt to commit such acts will not be tolerated. The Coordinator for Student Judicial A®airs or faculty may initiate disciplinary proceedings against any student accused of scholastic dishonesty. Consequences of academic dishonesty may be as severe as dismissal from the University. See the website for the Students Code of Conduct at http://www.utsa.edu/infoguide/appendiceb.cfm for more information.

University Policies For common syllabus information that should be part of every syllabus, see the page http://utsa.edu/syllabus

It includes the links and the mandatory administrative information concerning disability services, the academic dishonesty policy, and other important issues.

Note: (a) Students are not automatically dropped from a class if they stop attending the class. (b) University policy does not permit visitors in a class. (c) University policy does not permit faculty or office staff to report grades by telephone, fax, or email.


This syllabus is provided for informational purposes regarding the anticipated course content and schedule of this course. It is based upon the most recent information available on the date of its issuance and is as accurate and complete as possible. The instructor reserves the right to make any changes deemed necessary and/or appropriate. The instructor will make his or her best efforts to communicate any changes in the syllabus in a timely manner. Students are responsible for being aware of these changes.