Computer Science





CS 371/ Operating System and Architecture I





4 Class Hours per Week










CS 232 and CS 241





A. Silberchatz, G. Gayne, & P. Galvin | Operating System Concepts, 9th Edition | John Wiley & Sons | 2013 | ISBN: 97801118063330.







Computer Magazines and Journals





Fall 2013





Dr. A. Joseph



Course Description: Review of computer systems basic organization and an overview of the major components and structures of operating systems. Some topics covered are process management including processes, threads, process synchronization, CPU scheduling, Java-thread programming, and deadlocks as well as practical examples of different operating systems such as Windows and Unix/Linux. Other topics include memory management inclusive of main and virtual memory; file system interface and implementation, and protection and security.







Dr. A. Joseph



163 Williams Street, 2nd floor, Room 231



212 346 1492


Office Hours:


Tuesday: 9:00am – 12:00am & 2:30pm -- 4:30pm






Grading Policy

Final examination:


35%        (35%)

In-class examinations (5 – 25/30 minutes exams )


40%        (40%) [best 4 of 5]

Team/class Preparation and participation:

Coordinator (document):







5%           (5%) (No late homework without permission)

Project/Report & Presentation:


20%         (20%) (4% for presentation)


Group members’ average performance (bonus):


Above 86%:

76% -- 86%:

65% -- 75%:

Below 65%:




Extra credit assignment (optional):


Note: Only for students who are otherwise fulfilling all of the other course requirements. This is not intended to be a substitute for any of the regular class assignments.


10% (Due by week 12 and no later)


Note 1: Final exam is cumulative.

Note 3: Non-team member students are assigned grades based on the policy outlined within the parentheses.

Note 4: The final exam will consist of two parts: one is common to New York and Pleasantville and the other is not.
Final grade Determination


Above 92%

90% -- 92%



87% -- 89%



83% -- 86%



80% -- 82%



77% --79%



70% -- 76%



65% -- 69%



60% -- 64%



Below 60%



Note: Grades are computed to the nearest whole number.





Learning Objectives’ Outcomes


Learning outcomes and major topics [assessed student outcomes: a, i, j] reflect what students should be able to do after taking this course:


1)       Explain the objectives and key functions of modern operating systems from the user and system views respectively [i]

2)       Explain how the computing complexity is managed by the layered abstractions of computer architecture, operating system core, system programs, and application programs [a]

3)       Understand how the key architectural features like interrupt, layered memory system, and dual mode operation used to implement multiprogramming, time-sharing, paging and segmentation, and synchronization [i]

4)       Explain how program’s referential locality property supports the modern computer system hierarchical memory design [a]

5)       Understand the design tradeoffs including processes versus threads, synchronous versus asynchronous, copy-on-write versus demand paging techniques inclusive of frame allocation and page replacement algorithms, avoidance versus detection, and centralized versus distributed [j]

6)       Understand the privacy and security vulnerabilities of operating systems, and how to manage and secure them [i]

7)       Explain, with the help of examples, the implementation and relative benefits of virtual machines [i]

8)       Show an understanding of file system design and tradeoffs including access methods, file and directory structures, file attributes and operations, file sharing, and directory implementation and allocation methods [j]

9)       Demonstrate understanding of CPU scheduling algorithms and evaluation criteria for selecting a particular algorithm, including the criteria used for comparing these algorithms [a]

10)   Write programs with multiple threads, and understand process and thread life cycles and management [i]

11)   Analyze algorithms with synchronized critical regions, and demonstrate how they are implemented and why improper synchronization could lead to deadlocks [j]

12)   Write simple socket-layer client-server programs [i].

Tentative Examination Schedule:


Course Section

In-class Examinations Dates

Project Submission & Presentation Date

Final Exam

CS 371 (CRN: 71830)

9/26, 10/3, 10/24,11/14, & 12/5/2013

December 3, 2013

December 17, 2013


Class meeting Schedule


Course Section

Day, Time, and Location of Class Meetings

First and Last Day of Class Meetings

CS 371

(CRN: 71830)

Tuesday & Thursday: 12:15am – 2:15pm  

163 William Street, Room 1525

Classes begin: Sept.4, 2013

Classes end: Dec. 21, 2013



Academic Integrity: Please visit to review Seidenberg Academic Integrity Policy



Note 1: To facilitate and promote learning, you are encouraged to download the lectures from Blackboard and study them along with the material in the textbook. All lessons will be posted on Blackboard at least a week in advance. Use the textbook to complement and perhaps, at times, expand and elucidate ideas presented in the lecture notes. Note that mere reading is not studying.


Note 2: Some lessons may be presented in a storytelling format while others will highlight inquiry-based lecture-discussion and problem based learning. However, the course will centrally focus on problem-solving in a collaborative learning setting where you will be a member of a team. There will be opportunities to practice problem solving and the beginning of and throughout each lesson. The solutions to the homework problems will be provided to you in class as a means to explain the course concepts or through Blackboard postings. To get the most out of the course, you are encouraged to follow and keep up with the reading assignments and genuinely attempt each homework problem before coming to class. For those problems you cannot solve, determine the nature of your difficulty and bring it up in class or during office hours. The idea is to come to class willing and prepared to learn as well as ready to ask questions about the course materials and problems. The mantra of this course is learning, learning, learning and more learning!


Note 3: In the interest of learning, it is very important that you foster an inquisitive mind – do all the required assignments. Failing to do so may diminish your ability to get the most out of each lesson and the class. Studying is NOT mere reading of the textbook and class notes and slides, it’s an intimate interaction between you and the information provided to you in the class notes and slides and the textbook.




Note 5: Learning is the central objective of this course; Teaching will facilitate learning.


Note 6: It is very important you read and familiarize yourself with SCSIS Statement of Student Responsibilities (see Blackboard).


Note 7: You should devote at least 8 hours per week to prepare for the course – more may be needed depending on your rate of adequately understanding and mastering the materials of this course as well as on the grade you desire.


Note 8: You are strongly encouraged to spend an appropriate length of time to research, develop, and implement the project; during the development and implementation process seek my help as needed to resolve any issue you may encounter. Your project should reflect your personal thoughts and understanding of the assignment and must be built on sound theory that is differentiable from your personal thoughts.


Note 9: In the interest of learning, it is very important to come to class prepared to learn – do all required assignments. Failure to do so could diminish your ability to get the most out of each lesson and the class. Remember that learning is action oriented. That is, it is not enough to come to class to listen to what others have to say. You should come to class prepared to become involve in all aspects of classroom activities because this is action.


Note 10: We are now living in a global knowledge economy, which has ushered a new age --the age of learning. Learning may be defined as a relatively permanent change in mental associations due to experience or the relative increase of ability in achieving a target through experience regardless of the obstacles. In a broader context, learning may be defined as a process of constructing and transforming experience into knowledge, skills, attitudes, values, emotions, beliefs, and the senses. Learning is a process of internalizing all experiences individuals have into the external world and making them part of the individual.


Note 11: To be successful at learning or anything for that matter, you need the proper attitude (successful learners’ attitude), self-motivation, and commitment. Successful learners demonstrate the following characteristics: values, focus, inspiration, visualization, and reflection.


Note 12: The skills that are needed to survive in today’s workplace, be a life-long learner, and be an active citizen are the following: critical thinking and problem solving, collaboration across networks and leading by influence, agility and adaptability, initiative and entrepreneurialism, effective oral and written communication, accessing and analyzing information, and curiosity and imagination.







Homework Assignments





Introduction: What operating system do; computer system organization and architecture; operating system structure and operations; process, memory, and storage management; protection and security; kernel data structures; and computing environments and open-source systems.

1.       Read chapter 1

2.       Do problems 1.1; 1.3; 1.5; 1.4; 1.8; 1.10; 1.11; 1.12;.1.13; 1.14; 1.15; 1.18; 1.19; 1.27.





Operating system structures: Operating system services; user operating system interface; system calls and their types; system programs; operating system design, implementation, structure, debugging, and generation; and system boot.

1.       Read chapter 2

2.       Do problems 2.1; 2.2; 2.3; 2.4; 2.5; 2.6; 2.7; 2.8; 2.9; 2.10; 2.11; 2.12; 2.13; 2.15; 2.16; 2.17; 2.19; 2.20; 2.21; 2.22, 2.24.





Processes: process concept and scheduling; operations on processes; interprocess communication; examples of interprocess communication systems; and communication in client server systems.

1.       Read chapter 3

2.       Do problems 3.3; 3.4; 3.5; 3.8; 3.9; 3.18.





Threads: Multicore programing; multithreading models; thread libraries; implicit threading; threading issues; and operating system examples.

1.       Read chapter 4

2.       Do problems 4.1; 4.2; 4.3; 4.4; 4.6; 4.7; 4.8; 4.9; 4.10; 4.11; 4.12; 4.18.





CPU scheduling: Basic concepts; scheduling criteria and algorithms; thread, multiprocessor, and real-time CPU scheduling; algorithm evaluation; and operating system examples

1.       Read chapter 6

2.       Do problems 6.1; 6.2; 6.3; 6.4; 6.5; 6.6; 6.7; 6.8; 6.9; 6.10; 6.11; 6.12; 6.13; 6.16; 6.18.





Process synchronization and deadlocks: Critical section problem; Peterson’s solution; synchronization hardware; mutex locks; semaphores; synchronization problems; monitors; system model; deadlock characterization; methods of handling deadlock; and deadlock detection and avoidance.

1.       Read chapter 5 and 7

2.       Do problems 5.1; 5.3; 5.4; 5.5; 5.6; 5.10; 5.11; 5.12; 7.1; 7.2; 7.11; 7.12; 7.17.





Main and virtual memory management: Swapping; Contiguous memory allocation; paging and demand paging; page table structure; segmentation; copy-on-write; page replacement; allocating frames and kernel memory; thrashing.

1.       Read chapters 8 and 9

2.       Do problems 8.1; 8.2; 8.3; 8.4; 8.6; 8.11; 8.12; 8.13; 8.17; 9.1; 9.4; 9.8; 9.16.





File system interface and implementation: File concept; access methods; file system, directory, and disk structures; file system and directory implementations; file sharing; protection; allocation methods; and free space management.

1.       Read chapters 11 and 12

2.       Do problems 11.1; 11.2; 11.3; 11.5; 11.9; 11.11; 12.2; 12.3; 12.4; 12.14.





Protection and security: protection goals, principles, and domain; access matrix and its implementation; access control; security problem; program threats; and system and network threats.

1.     Read Chapter 14 and 15

2.     Do problems 14.2; 14.3; 14.5; 14.9; 14.13; 14.16; 14.19; 14.23; 14.24; 15.1.



Virtual Machines: Overview; benefits and features; building block; and types of virtual machines and implementations.


Project presentation and submission: project presented to class and submitted.






Final Examination.









Note 1: This course is structured around freely formed small collaborative teams in a cooperative learning environment. Students are encouraged to work together in their respective teams to form effective and productive teams that share the learning experience within the context of the course, help each other overcome learning difficulties, spend time to get to know each other, and spend time each week to discuss and help one another with the course work (content and assignments). Each team member is responsible for the completion and submission of each assignment. Each team member will be individually graded.


Note 2: During the first class session, student background information may be collected to get a sense of the diversity of student population, educational background, and learning style. An assessment test may be given to determine students’ prerequisite knowledge of the subject.


Team project: Students in small teams of two to four persons will participate in a research project supported by a technical report. The research topic will be on an emerging area of interest to an organization or the research community. In this project, teams will conduct research to assist in the determination of the solution to the research problem. They will demonstrate their knowledge and understanding of how research is conducted and the significance of the problem solution. The project grade to individual students within a team will be based upon their personal involvement and level of participation in the project as determined by their teammates and the professor.


Web support: This course may be supported with most or all of the following Blackboard postings: lesson questions, lessons (MS PowerPoint), instructions and guidelines pertaining to the course, operating system and architecture related news, team and class discussions boards, correspondence about the course, homework solutions, examination grades, and miscellaneous course related information and activities.


Supplementary materials: Handouts in class or web postings of current events and issues affecting information security and risk analysis/assessment.  Some books that may be helpful to the course will be posted on Blackboard.


In class activity and participation: Students are encouraged to bring to class articles on current newsworthy events in information security, risk analysis/assessment and management and related news to share with the class. Students are welcome to inform the class on these events and their significance to operating system and architecture.




Students are strongly encouraged to download relevant posted lessons from Blackboard and review them. They are encouraged to ask questions about these lessons in class.


Effort may be made to present some lessons using the storytelling format supported with subsequent discussion and elaboration on the central themes of the respective lessons.


The key elements of a story are the following: causality, conflict, complication, and character.



Collaborative teams are designed to function outside of the classroom. Collaborative team activities will be reinforced inside the class during the lessons. Teams are encouraged to function cohesively and to participate in all class activities.



The following excerpts about collaborative learning are from research documents:


·         In the university environment, educational success and social adjustments  depend primarily on the availability and effectiveness of developmental academic support systems.


·         Most organized learning occurs in some kind of team  team characteristics and team processes significantly contribute to success or failure in the classroom and directly [affect] the quality and quantity of learning within the team.



·         Team work invariably produces tensions that are normally absent, unnoticed, or suppressed in traditional classes.  Students bring with them a variety of personality types, cognitive styles, expectations about their own role in the classroom and their relationship to the teacher, peers, and the subject matter of the course.


·         Collaborative learning involves both management and decision-making skills to choose among competing needs.  The problems encountered with collaboration have management, political, competence, and ethical dimensions


·         The two key underlying principles of the collaborative pedagogy are that active student involvement is a more powerful learning tool than the passive attendance and that students working in teams can make for more effective learning than students acting alone.   The favorable outcomes of collaborative learning include greater conceptual understanding, a heightened ability to apply concepts, and improved attendance.  Moreover, students become responsible for their own learning is likely to increase their skills for coping with ambiguity, uncertainty, and continuous change, all of which are characteristics of contemporary organizations.



Who creates a new activity in the face of risk and uncertainty for the purpose of achieving success and growth by identifying opportunities and putting together the required resources to benefit from them?


Creativity is the ability to develop new ideas and to discover new ways to of looking at problems and opportunities


Innovation is the ability to apply creative solutions to those problems and opportunities to enhance or to enrich people’s lives.


Each team may be viewed as a small business that is seeking creative and innovative ways to maximize its product, academic outcomes or average team grade. A satisfactory product is the break-even team average grade of 85%. Teams getting average grades of above 85% are profitable enterprises.