<commit_before>---
layout: page
title: CS 446/646 Principles of Computer Operating Systems
date: 2015-09-12 23:51
redirect_from:
  - /cs446/
  - /cs646/
  - /teaching/cs446/
  - /teaching/cs646/
---

### Course Information
  - Credits: 3.0
  - Class hours: Monday & Wednesday, 4:00 - 5:15PM
  - Location: LLC 141
  - Instructor: <NAME>
    + E-mail: <EMAIL> 
    + Web page: sbhunia.me/cs446
    + Office: TBD
    + Office hours: Monday & Wednesday, 3-4 PM or by appointment
  - Teaching Assistant: TBD
    + E-mail: TBD
    + Office: TBD
    + Office hours: TBD

### Description
  The principles, components, and design of modern operating systems, focusing on the UNIX platform. Topics include: concurrent processes, inter-process communication, processor management, virtual and real memory management, deadlock, file systems, disk management, performance issues, case studies, etc.
 
### Prerequisites
  - Data Structures (CS 302)
  - Microprocessor System Design (CPE 301)
  - C/C++ or Java programming experience in UNIX-like environment
  
### Textbooks
  - Required Textbooks
    + <NAME>, <NAME>, <NAME>, _Operating System Concepts_, 9th Edition (2012),  John Wiley & Sons, Inc.  [companion site](http://bcs.wiley.com/he-bcs/Books?action=index&itemId=1118063333&bcsId=7887)
  - Reference Books and Other Materials
    + Stallings, W. (2009) Operating Systems: Internals and Design Principles, 6th Edition. Prentice Hall (ISBN: 0136006329). companion site
    + <NAME>, _Modern Operating Systems_, 4th Edition (2015), Pearson 
    + <NAME>. (2002) Understanding Unix/Linux Programming: A Guide to Theory and Practice (1st Edition). Prentice Hall (ISBN: 0130083968).

### Syllabus (Tentative)
  - Introduction to Operating Systems
    + Role of an O/S
    + O/S History and Features
    + Types of O/S
    + Major O/S Components
    + System Calls
    + O/S Software Architecture
    + Examples of O/S
  - Processes & Threads
     + Process Description & Control
     + Process Scheduling
     + Threads  
     + Multithreading Models
     + Thread Libraries
  - Concurrency & Synchronization
    + The Critical-Section Problem
    + Synchronization Hardware
    + Semaphores
    + Deadlock & Starvation
    + Deadlock Prevention
    + Deadlock Avoidance
    + Deadlock Detection
  - Memory Management
    + Partitioning
    + Paging
    + Segmentation  
    + Virtual Memory
    + Page Replacement
  - CPU Scheduling
    + Scheduling Algorithms
    + Performance Evaluation
    + Multiprocessor Scheduling
    + Thread Scheduling
    + Real-Time Scheduling
  - Input/Output
    + I/O Devices
    + I/O Software
    + Disk Scheduling
    + Disk Caching
    + Examples of I/O
  - File System
    + File Description
    + File Directories
    + File Storage Implementation
    + Examples of File Systems
  - Networking & Distributed Systems
    + Distributed vs. Centralized Systems
    + Types of Networks
    + Protocols
    + Routing

### Organization and Policies
  - **WebCampus**   Except this web page, all course materials will be posted at the WebCampus.
  - **Quizzes and In-class Activities**   There will be approximately 4-6 in-class quizzes. These quizzes will be time-constrained, i.e., 15-20mins. There will be problems to analyze and solve on the current topic. You must come to each class having read the assigned materials and viewed the assigned online references.
  - **Homework**   There will be approximately 4 homework assignments.
  - **Exams**   There will be two midterm exams and one final exam (see Schedule for tentative dates).
  - **Paper Submissions**   As a result of classroom activities, quizzes, homeworks or other assignments, you may be turning in your assignments on paper. Unless otherwise specified, the submission papers should be 8½ x 11 inch (or close to this measurement). If submitting multiple pages, you must staple them and write your name on every page. Your paper submissions may not be accepted if your paper does not meet these specifications.
  - **Late Submissions**   Late submissions will be penalized by 20% per day.
  - **Sickness or Athletic Activities**   To assure that you will be granted for late submissions or waiving of some of the assignments, you must provide the paperwork for your health problems or athletic activities you have to attend.
  - **Academic Integrity**   Any form of cheating such as plagiarism or ghostwriting will incur a severe penalty, usually failure in the course. Please refer to the UNR policy on Academic Standards.
  - **Disability Statement**   If you have a disability for which you will need to request accommodations, please contact the instructor or someone at the Disability Resource Center (Thompson Student Services - 107) as soon as possible.
  - **Important Policy**   Surreptitious or covert videotaping of class or unauthorized audio recording of class is prohibited by law and by Board of Regents policy. This class may be videotaped or audio recorded only with the written permission of the instructor. In order to accommodate students with disabilities, some students may have been given permission to record class lectures and discussions. Therefore, students should understand that their comments during class may be recorded.
  
### Grading Policy

| Category                | weightage |
|-------------------------|:---------:|
| Programming Assignments |    20%    |
| Quizzes                 |    15%    |
| Homework                |    15%    |
| Midterm Exam            |    25%    |
| Final Exam              |    25%    |

### Grading Scale (Tentative)

| Percentage | Letter Grades |
|------------|:-------------:|
| 90% - 100% |       A       |
| 85%-90%    |       A-      |
| 80% - 85%  |       B       |
| 75% - 80%  |       B-      |
| 65% - 75%  |       C       |
| 60% - 65%  |       C-      |
| 50% - 60%  |       D       |
| below 50%  |       F       |


### Schedule (Tentative), Notes & Assignments:

TBD

### Acknowledgment

TBD

### ABET Criteria
 
#### Course Outcomes:
  Students will demonstrate an understanding of network security concepts, protocols, and design principles underlying wired and wireless networks, develop robust networking and implementation skills, and gain practical experience in network programming with open source tools.
 
####  Course Outcomes:
  The course outcomes are skills and abilities students should have acquired by the end of the course. These outcomes are defined in terms of the ABET Accreditation Criterion 3 Program Outcomes which are relevant to this course. All Criterion 3 Program Outcomes are listed in the next subsection and those relevant to this course are identified in the following table.


| Program Outcomes | Course Outcomes                                                                                                                                                                                                    | Assessment Methods/Metrics                                                                     | Program Objectives Impacted |
|:----------------:|----------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|-----------------------------|
|         2        | Students will identify the requirements of a given security problem, be able to evaluate and optimize the security requirements.                                                                                   | Individual demonstration of competence in class quizzes and exams, and in homework activities. | 1, 2, 3                     |
|         3        | Students will identify the requirements of a given Internet/Network security problem, be able to  evaluate and optimize the network requirements, and then design, execute and evaluate problem specific solution. | Individual demonstration of competence in class quizzes and exams, and in homework activities. | 1, 2, 3, 4                  |
|         5        | Students will demonstrate the ability to spontaneously generate computer analysis and engineering requirements to Internet security problems.                                                                      | Individual demonstration of competence in class quizzes and exams, and in homework activities. | 1, 2, 3                     |
|         9        | Students will demonstrate the ability to understand legality and ethics issues behind the process and will show capability to analyze future potential security issues.                                            | Individual demonstration of competence in class quizzes and exams, and in homework activities. | 3, 4                        |
|        11        | Students will demonstrate ability to use proper network security tools and codes.                                                                                                                                  | Individual demonstration of competence in class quizzes and exams, and in homework activities. | 2, 3, 4                     |
|        12        | Students will develop understanding of the mathematical foundation involved in Internet security problems and solutions and will be able to analyze the tradeoff issues involved.                                  | Individual demonstration of competence in class quizzes and exams, and in homework activities. | 1, 2, 3                     |
<commit_msg>Update cs446-646-fall-2016.md<commit_after>---
layout: page
title: CS 446/646 Principles of Computer Operating Systems
date: 2015-09-12 23:51
redirect_from:
  - /cs446/
  - /cs646/
  - /teaching/cs446/
  - /teaching/cs646/
---

### Course Information
  - Credits: 3.0
  - Class hours: Monday & Wednesday, 4:00 - 5:15PM
  - Location: LLC 141
  - Instructor: <NAME>
    + E-mail: <EMAIL> 
    + Web page: sbhunia.me/cs446
    + Office: TBD
    + Office hours: Monday & Wednesday, 3-4 PM or by appointment
  - Teaching Assistant: TBD
    + E-mail: TBD
    + Office: TBD
    + Office hours: TBD

### Description
  The principles, components, and design of modern operating systems, focusing on the UNIX platform. Topics include: concurrent processes, inter-process communication, processor management, virtual and real memory management, deadlock, file systems, disk management, performance issues, case studies, etc.
 
### Prerequisites
  - Data Structures (CS 302)
  - Microprocessor System Design (CPE 301)
  - C/C++ or Java programming experience in UNIX-like environment
  
### Textbooks
  - Required Textbooks
    + <NAME>, <NAME>, <NAME>, _Operating System Concepts_, 9th Edition (2012),  John Wiley & Sons, Inc.  [companion site](http://bcs.wiley.com/he-bcs/Books?action=index&itemId=1118063333&bcsId=7887)
  - Reference Books and Other Materials
    + <NAME>. (2009) Operating Systems: Internals and Design Principles, 6th Edition. Prentice Hall (ISBN: 0136006329). companion site
    + <NAME>, _Modern Operating Systems_, 4th Edition (2015), Pearson 
    + <NAME>. (2002) Understanding Unix/Linux Programming: A Guide to Theory and Practice (1st Edition). Prentice Hall (ISBN: 0130083968).

### Syllabus (Tentative)
  - Introduction to Operating Systems
    + Role of an O/S
    + O/S History and Features
    + Types of O/S
    + Major O/S Components
    + System Calls
    + O/S Software Architecture
    + Examples of O/S
  - Processes & Threads
     + Process Description & Control
     + Process Scheduling
     + Threads  
     + Multithreading Models
     + Thread Libraries
  - Concurrency & Synchronization
    + The Critical-Section Problem
    + Synchronization Hardware
    + Semaphores
    + Deadlock & Starvation
    + Deadlock Prevention
    + Deadlock Avoidance
    + Deadlock Detection
  - Memory Management
    + Partitioning
    + Paging
    + Segmentation  
    + Virtual Memory
    + Page Replacement
  - CPU Scheduling
    + Scheduling Algorithms
    + Performance Evaluation
    + Multiprocessor Scheduling
    + Thread Scheduling
    + Real-Time Scheduling
  - Input/Output
    + I/O Devices
    + I/O Software
    + Disk Scheduling
    + Disk Caching
    + Examples of I/O
  - File System
    + File Description
    + File Directories
    + File Storage Implementation
    + Examples of File Systems
  - Networking & Distributed Systems
    + Distributed vs. Centralized Systems
    + Types of Networks
    + Protocols
    + Routing

### Organization and Policies
  - **WebCampus**   Except this web page, all course materials will be posted at the WebCampus.
  - **Quizzes and In-class Activities**   There will be approximately 4-6 in-class quizzes. These quizzes will be time-constrained, i.e., 15-20mins. There will be problems to analyze and solve on the current topic. You must come to each class having read the assigned materials and viewed the assigned online references.
  - **Homework**   There will be approximately 4 homework assignments.
  - **Exams**   There will be two midterm exams and one final exam (see Schedule for tentative dates).
  - **Paper Submissions**   As a result of classroom activities, quizzes, homeworks or other assignments, you may be turning in your assignments on paper. Unless otherwise specified, the submission papers should be 8½ x 11 inch (or close to this measurement). If submitting multiple pages, you must staple them and write your name on every page. Your paper submissions may not be accepted if your paper does not meet these specifications.
  - **Late Submissions**   Late submissions will be penalized by 20% per day.
  - **Sickness or Athletic Activities**   To assure that you will be granted for late submissions or waiving of some of the assignments, you must provide the paperwork for your health problems or athletic activities you have to attend.
  - **Academic Integrity**   Any form of cheating such as plagiarism or ghostwriting will incur a severe penalty, usually failure in the course. Please refer to the UNR policy on Academic Standards.
  - **Disability Statement**   If you have a disability for which you will need to request accommodations, please contact the instructor or someone at the Disability Resource Center (Thompson Student Services - 107) as soon as possible.
  - **Important Policy**   Surreptitious or covert videotaping of class or unauthorized audio recording of class is prohibited by law and by Board of Regents policy. This class may be videotaped or audio recorded only with the written permission of the instructor. In order to accommodate students with disabilities, some students may have been given permission to record class lectures and discussions. Therefore, students should understand that their comments during class may be recorded.
  
### Grading Policy

| Category                | weightage |
|-------------------------|:---------:|
| Programming Assignments |    20%    |
| Quizzes                 |    15%    |
| Homework                |    15%    |
| Midterm Exam            |    25%    |
| Final Exam              |    25%    |

### Grading Scale (Tentative)

| Percentage | Letter Grades |
|------------|:-------------:|
| 90% - 100% |       A       |
| 85%-90%    |       A-      |
| 80% - 85%  |       B       |
| 75% - 80%  |       B-      |
| 65% - 75%  |       C       |
| 60% - 65%  |       C-      |
| 50% - 60%  |       D       |
| below 50%  |       F       |


### Schedule (Tentative), Notes & Assignments:

TBD

### Acknowledgment

TBD

### ABET Criteria
 
#### Course Outcomes:
  Students will demonstrate an understanding of network security concepts, protocols, and design principles underlying wired and wireless networks, develop robust networking and implementation skills, and gain practical experience in network programming with open source tools.
 
####  Course Outcomes:
  The course outcomes are skills and abilities students should have acquired by the end of the course. These outcomes are defined in terms of the ABET Accreditation Criterion 3 Program Outcomes which are relevant to this course. All Criterion 3 Program Outcomes are listed in the next subsection and those relevant to this course are identified in the following table.


| Program Outcomes | Course Outcomes                                                                                                                                                                                                    | Assessment Methods/Metrics                                                                     | Program Objectives Impacted |
|:----------------:|----------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|-----------------------------|
|         2        | Students will identify the requirements of a given security problem, be able to evaluate and optimize the security requirements.                                                                                   | Individual demonstration of competence in class quizzes and exams, and in homework activities. | 1, 2, 3                     |
|         3        | Students will identify the requirements of a given Internet/Network security problem, be able to  evaluate and optimize the network requirements, and then design, execute and evaluate problem specific solution. | Individual demonstration of competence in class quizzes and exams, and in homework activities. | 1, 2, 3, 4                  |
|         5        | Students will demonstrate the ability to spontaneously generate computer analysis and engineering requirements to Internet security problems.                                                                      | Individual demonstration of competence in class quizzes and exams, and in homework activities. | 1, 2, 3                     |
|         9        | Students will demonstrate the ability to understand legality and ethics issues behind the process and will show capability to analyze future potential security issues.                                            | Individual demonstration of competence in class quizzes and exams, and in homework activities. | 3, 4                        |
|        11        | Students will demonstrate ability to use proper network security tools and codes.                                                                                                                                  | Individual demonstration of competence in class quizzes and exams, and in homework activities. | 2, 3, 4                     |
|        12        | Students will develop understanding of the mathematical foundation involved in Internet security problems and solutions and will be able to analyze the tradeoff issues involved.                                  | Individual demonstration of competence in class quizzes and exams, and in homework activities. | 1, 2, 3                     |






  ####  Program Outcomes:
    1.  an ability to apply knowledge of computing, mathematics, science, and engineering.
    1.  an ability to design and conduct experiments, as well as to analyze and interpret data.
    1.  an ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs, within realistic constraints specific to the field.
    1.  an ability to function effectively on multi-disciplinary teams.
    1. an ability to analyze a problem, and identify, formulate and use the appropriate computing and engineering requirements for obtaining its solution.
    1.  an understanding of professional, ethical, legal, security and social issues and responsibilities.
    1.  an ability to communicate effectively with a range of audiences.
    1.  the broad education necessary to analyze the local and global impact of computing and engineering solutions on individuals, organizations, and society.
    1.  a recognition of the need for, and an ability to engage in continuing professional development and life-long learning.
    1.  a knowledge of contemporary issues.
    1.  an ability to use current techniques, skills, and tools necessary for computing and engineering practice.
    1.  an ability to apply mathematical foundations, algorithmic principles, and computer science and engineering theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.
    1.  an ability to apply design and development principles in the construction of software systems or computer systems of varying complexity.
 
  ####  Program Objectives:
    Within 3 to 5 years of graduation our graduates will:
      1.  be employed as computer science and engineering professionals beyond entry level positions or be making satisfactory progress in graduate programs.
      1.  have peer-recognized expertise together with the ability to articulate that expertise as computer science and engineering professionals.
      1.  apply good analytic, design, and implementation skills required to formulate and solve computer science and engineering problems.
      1.  demonstrate that they can function, communicate, collaborate and continue to learn effectively as ethically and socially responsible computer science and engineering professionals.
 

{'fraction_non_alphanumeric': 0.08334114998593002, 'fraction_numerical': 0.01918206547228215, 'mean_word_length': 2.2559169338830354, 'pattern_counts': {'":': 0, '<': 18, '<?xml version=': 0, '>': 18, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 54, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '498881', 'n_tokens_mistral': 5267, 'n_tokens_neox': 4640, 'n_words': 2377}