{"id":634,"date":"2016-08-18T21:26:16","date_gmt":"2016-08-18T21:26:16","guid":{"rendered":"http:\/\/sadievrenseker.com\/wp\/?page_id=634"},"modified":"2016-12-14T15:10:30","modified_gmt":"2016-12-14T15:10:30","slug":"csc-262-operating-systems-smith-college-computer-science-department-fall-2016","status":"publish","type":"page","link":"https:\/\/sadievrenseker.com\/?page_id=634","title":{"rendered":"CSC 262 Operating Systems, Smith College, Computer Science Department, Fall 2016"},"content":{"rendered":"<p>Syllabus<\/p>\n<p><strong>Introduction to Operating Systems <\/strong><br \/>\nTheory Classes: Tuesday &#8211; Thursday 3.00 pm &#8211; 4.50 pm<br \/>\nPractice Classes: Thursday 7.30 pm &#8211; 9.30 pm<\/p>\n<p>Location: Ford Hall 342<\/p>\n<p>Instructor: Dr. \u015eadi Evren \u015eEKER (Office: Ford Hall 252)<\/p>\n<p>Office Hours<\/p>\n<ul>\n<li>Wednesday, 3.00 &#8211; 5.00\u00a0PM<\/li>\n<li>Other times by appointment\/as available<\/li>\n<li>Lunch meetings available by request for small groups<\/li>\n<\/ul>\n<p>E-Mail: <a href=\"mailto:opsys2016@sadievrenseker.com\">opsys2016@sadievrenseker.com<\/a><\/p>\n<p>Web Site: <a href=\"http:\/\/sadievrenseker.com\/?page_id=634\">http:\/\/sadievrenseker.com\/?page_id=634<\/a><\/p>\n<p>YouTube : will appear soon (after each class I will try to shoot youtube videos (not a promise, I will do my best))<\/p>\n<p>YouTube Play List 2 (For Lab) :\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=IUN4LXIt-UU&amp;list=PLi9cmuYNBBKZrr8rS4KyyPr6Dg-JMMeSf\">https:\/\/www.youtube.com\/watch?v=IUN4LXIt-UU&amp;list=PLi9cmuYNBBKZrr8rS4KyyPr6Dg-JMMeSf<\/a><\/p>\n<p><strong>Introduction:<\/strong> This course examines the important problems in operating system design and implementation. The operating system provides an established, convenient, and efficient interface between user programs and the bare hardware of the computer on which they run. The operating system is responsible for sharing resources (e.g., disks, networks, and processors), providing common services needed by many different programs (e.g., file service, the ability to start or stop processes, and access to the printer), and protecting individual programs from interfering with one another. The course will start with a brief historical perspective of the evolution of operating systems over the last fifty years and then cover the major components of most operating systems. This discussion will cover the tradeoffs that can be made between performance and functionality during the design and implementation of an operating system. Particular emphasis will be given to three major OS subsystems: process management (processes, threads, CPU scheduling, synchronization, and deadlock), memory management (segmentation, paging, swapping), and file systems; and on operating system support for distributed systems.<\/p>\n<p><strong>Outcomes of the Course<\/strong><\/p>\n<p>Possible outcomes expected from the course:<\/p>\n<ol>\n<li>Understand the architecture and major components of an operating system .<\/li>\n<li>Understanding the concurrent programming.<\/li>\n<li>Understanding Inter process communication and message passing .<\/li>\n<li>Understanding the memory management and paging\/segmentation concepts<\/li>\n<li>Understanding the disk management, file systems and virtual memory\/swapping concepts.<\/li>\n<li>Gaining advanced programming skills in low level programming, concurrent programming and modular programming.<\/li>\n<li>Gaining the knowledge of linux operating systems and adding new functions to its kernel.<\/li>\n<\/ol>\n<p><strong>Textbooks<\/strong><\/p>\n<ol>\n<ol>\n<li>TEXTBOOK 1:Peterson and Silberschatz,\u00a0Operating System Concepts<\/li>\n<li>TEXTBOOK 2:Tanenbaum, Operating Systems: Design and Implementation<\/li>\n<\/ol>\n<\/ol>\n<p><strong>GRADING <\/strong><\/p>\n<ol>\n<ol>\n<ul>\n<li>30 % Final exam<\/li>\n<li>20 % Projects<\/li>\n<li>20% Homeworks<\/li>\n<li>20 % Midterms (10 % each)<\/li>\n<li>10 % Lab Final<\/li>\n<\/ul>\n<\/ol>\n<\/ol>\n<p><strong>Tentative Course Outline<\/strong><\/p>\n<table border=\"2\">\n<tbody>\n<tr>\n<td><b>Chapter<\/b><\/td>\n<td><b>Powerpoint\u00a0<\/b><\/td>\n<td><b>LABS\u00a0<\/b><\/td>\n<td>Assignments<\/td>\n<\/tr>\n<tr>\n<td colspan=\"4\" bgcolor=\"#EEFFEE\"><b>Part 1: Overview \u00a0<a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/Presentation1-1.pptx\">[PPT for Overview and Syllabus]<\/a>\u00a0(Sept, 8)<\/b><\/td>\n<\/tr>\n<tr>\n<td>1. Introduction (Sept, 13)<\/td>\n<td><center><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/ch1-3.ppt\">ppt<\/a><\/center><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>2. Operating-System Structures<\/p>\n<p>(Sept 15)<\/p>\n<p>&nbsp;<\/td>\n<td><center><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/ch2-4-2.ppt\">ppt<\/a><\/center><\/td>\n<td>\u2013Introduction to UNIX<br \/>\n&#8211; UNIX Operating System Architecture \u2013Linux Operating System \u2013Users, Groups and Permissions<br \/>\n&#8211; Examining Permissions\u2013Linux Installation and Virtual Machines\u2013UNIX Commands ,\u00a0Shell Commands<br \/>\n&#8211; File System Management<br \/>\n&#8211; File Management and ViewingProcess monitoring (top and ps commands)<\/td>\n<td><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/Linux-lab1.doc\">Assignment 1 : Basic Linux Commands (Due Date : Sept 22 2016)<\/a><\/td>\n<\/tr>\n<tr>\n<td colspan=\"4\" bgcolor=\"#EEFFEE\"><b>Part 2: Process Management\u00a0<\/b><\/td>\n<\/tr>\n<tr>\n<td>3. Processes\u00a0(Sept 20)<\/td>\n<td><center><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/ch3-3-1.ppt\">ppt<\/a><\/center><\/td>\n<td>\u00a0Coding: Fork<\/td>\n<td>Assignment 2: Process Tree (Check Announcements)<\/td>\n<\/tr>\n<tr>\n<td>4. Threads (Sept 22, 27)<\/td>\n<td><center><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/ch4-4-1.ppt\">ppt<\/a><\/center><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>5. Process Synchronization<\/p>\n<p>(Sept 29)<\/td>\n<td><center><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/ch5-4-1.ppt\">ppt<\/a><\/center><\/td>\n<td>Coding: Pthreads library<br \/>\nCode Samples from LAB #2 :<br \/>\n<a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/Archive.zip\">Java Threads Producer\/Consumer\u00a0<\/a><br \/>\n<a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/thread.c.zip\">PThread C Coding for ProducerConsumer<\/a><\/td>\n<td>Assignment 3: Synchronisation (Check Announcements)<\/td>\n<\/tr>\n<tr>\n<td>6. CPU Scheduling (Oct, 4, Oct 6)<\/td>\n<td><center><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/ch6-4-1.ppt\">ppt<\/a><\/center><\/td>\n<td>\u00a0Project\u00a0Details, Scheduling Samples<\/td>\n<td>\u00a0Assignment 4: Scheduling Analogy (Check Announcements)<\/td>\n<\/tr>\n<tr>\n<td colspan=\"4\" bgcolor=\"#FFEEEE\"><b><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/midterm1.pdf\">Midterm 1 \u00a0(Solutions will be done at Lab Hours)<\/a> (<\/b>Oct 13<b> ) (Due Date: Oct 15, Saturday until midnight) <a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/JavaApplication27.zip\">(Sleeping Barbers Solution done in the class)<\/a><\/b><\/td>\n<\/tr>\n<tr>\n<td>7. Deadlocks<\/p>\n<p>(Oct, 13)<\/td>\n<td><center><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/ch7-4-1.ppt\">ppt<\/a><\/center><\/td>\n<td>Network Programming and binding sockets<\/p>\n<p><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/server.java_.zip\">Sample HTTP Server in Java<\/a><\/p>\n<p><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/server.java-2.zip\">New verstion of http server<\/a><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td colspan=\"4\" bgcolor=\"#EEFFEE\"><b>Part 3: Memory Management\u00a0<\/b><\/td>\n<\/tr>\n<tr>\n<td>8. Main Memory<\/p>\n<p>(Oct 18, Oct 20)<\/td>\n<td><center><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/ch8-3-1.ppt\">ppt<\/a><\/center><\/td>\n<td>\u00a0Coding: Procfs<\/p>\n<p>Linux Kernel Hacking How To<\/p>\n<p>Coding: Adding a new Kernel Function<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>9. Virtual Memory<\/p>\n<p>(Oct 25)<\/td>\n<td><center><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/ch9-4-1.ppt\">ppt<\/a><\/center><\/td>\n<td>\u00a0Memory management Simulation<\/p>\n<p><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/pageplussegment.pptx\">Paging + Segmentation<\/a><\/p>\n<p><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/JavaApplication31.zip\">Simulation Code written in lab session<\/a><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td colspan=\"4\" bgcolor=\"#FFEEEE\"><b>Review of Memory Management (Oct, 27)<\/b><\/td>\n<\/tr>\n<tr>\n<td colspan=\"4\" bgcolor=\"#EEFFEE\"><b>Part 4: Storage Management\u00a0(Nov, 1)<\/b><\/td>\n<\/tr>\n<tr>\n<td>10. Mass-Storage Structure<br \/>\n(Oct 27)<\/td>\n<td><center><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/ch10-3-1.ppt\">ppt<\/a><\/center><\/td>\n<td>No Class at Oct 29, OT Day<\/p>\n<p><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/hdd_seek_times.xlsx\">Excel file for SSTF, SCAN, C-SCAN and C-LOOK<\/a><\/td>\n<\/tr>\n<tr>\n<td>11. File-System Interface<\/p>\n<p>(Nov 8)<\/td>\n<td><center><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/ch11-4-1.ppt\">ppt<\/a><\/center><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>12. File-System Implementation<br \/>\n(Nov 10)<\/td>\n<td><center><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/ch12-4-1.ppt\">ppt<\/a><\/center><\/td>\n<td>Client Side implementation of projects and \u00a0sample codes. <a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/Requester.java_.zip\">Requester.java<\/a><\/p>\n<p>Updated <a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/JavaApplication23.zip\">client-side code with Auto port jump (Server and Client parts)<\/a><\/td>\n<\/tr>\n<tr>\n<td>13. I\/O Systems<br \/>\n(Nov 15)<\/td>\n<td><center><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/ch13-3-1.ppt\">ppt<\/a><\/center><\/td>\n<td><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/procfs.pptx\">Procfs slides, <\/a><\/p>\n<p><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/procfs.java_.zip\">procfs sample code<\/a><\/p>\n<p>Due Date of \u00a0Project Phase #1 (Nov 15),\u00a0Grading: 7%<\/td>\n<td><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/assgn5.pdf\">Assignment #5<\/a><\/td>\n<\/tr>\n<tr>\n<td colspan=\"4\" bgcolor=\"#FFEEEE\"><b>14. Review of Memory Management and Storage Management (Nov 17)<\/b><\/p>\n<p><b>Midterm 2\u00a0\u00a0(Solutions will be done at Lab Hours)<\/b><\/td>\n<\/tr>\n<tr>\n<td colspan=\"4\" bgcolor=\"#EEFFEE\"><b>Part 5: Protection and Security\u00a0<\/b><\/td>\n<\/tr>\n<tr>\n<td>\u00a0Midterm Solutions<br \/>\n(Nov 22)<\/td>\n<td><center>ppt<\/center><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>No Class (Thanksgiving, Nov 24)<\/td>\n<td><center>ppt<\/center><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>\u00a015. Protection<\/p>\n<p>(Nov 29)<\/td>\n<td><center>ppt<\/center><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>\u00a016. Security<br \/>\n(Dec 1)<\/td>\n<td><center>ppt<\/center><\/td>\n<td><\/td>\n<td><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/JavaApplication39.zip\">\u00a0Command Line Interface for The file System and lab final<\/a><\/td>\n<\/tr>\n<tr>\n<td colspan=\"4\" bgcolor=\"#EEFFEE\"><b>Part 6: Advanced Topics\u00a0<\/b><\/td>\n<\/tr>\n<tr>\n<td>17. Virtual Machines (Dec 6)<\/td>\n<td><center>ppt<\/center><\/td>\n<td>Security and Protection Lab<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>\u00a018. Distributed Systems (Dec 8)<\/td>\n<td><\/td>\n<td>Due Date of Assignment #5 (Dec 7)<\/p>\n<p>&nbsp;<\/td>\n<td><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/JavaApplication23-1.zip\">\u00a0updated version of server\/requester project<\/a><\/td>\n<\/tr>\n<tr>\n<td colspan=\"4\" bgcolor=\"#EEFFEE\"><b>Part 7: Case Studies\u00a0<\/b><\/td>\n<\/tr>\n<tr>\n<td>\u00a019. Linux<br \/>\n(Dec 13)<\/td>\n<td><center>ppt<\/center><\/td>\n<td>\u00a0Due Date of Project Phase #2 (Dec 8),\u00a0Grading: 7%<\/p>\n<p>Solution of Assignment #5<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td colspan=\"4\" bgcolor=\"#FFEEEE\"><strong>Lab Final<\/strong>\u00a0(<a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/lab_final.pdf\">click to download<\/a>) (Due Date: Dec, 15)<\/p>\n<p><strong>Submission of Final Phase of Projects<\/strong> (Due Date : Dec, 15), Grading : 6%<\/p>\n<p><b>Self Scheduled Final Exam<\/b><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Announcements<\/h2>\n<p>Please fill the knowledge card and send it back via e-mail. <a href=\"http:\/\/www.sadievrenseker.com\/wp\/wp-content\/uploads\/2016\/09\/kc_opsys.docx\">You can access the knowledge card from this link.<\/a><\/p>\n<p><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/Linux-lab1.doc\">Lab Assignment 1 (Due Date : Sept 22 2016) ,\u00a0B<\/a>asic Linux Commands<\/p>\n<p><strong>Assignment #2<\/strong>\u00a0<a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/assgn2.pdf\">(Due Date : Oct 3, Monday),\u00a0Process Creation and Message Passing by Files.<\/a>\u00a0The deadline of assignment 2 will be extended for 2 more days and it will be at oct 5. Also we will cover some topics about the assignment on the class at Oct 4 Tuesday. Anybody submitted on time will get a 10% bonus (so you can get 110 points from the assignment). You can also resubmit your assignment, but only the last submission will be considered.<\/p>\n<p><strong>Solution to Assignment #2<\/strong> (<a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/sol2.zip\">click to download the file<\/a>s)<\/p>\n<p><strong>Assignment #3<\/strong><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/assgn3.pdf\"> (Due Date: Oct 14, Friday), Process Synchronisation (Sleeping Barbers)<\/a><\/p>\n<p><strong>Assignment #4<\/strong> <a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/assgn4.pdf\">(Due Date: Oct 24, Friday) CPU Scheduling Simulation<\/a><\/p>\n<p><strong>Solution to Assignment #4<\/strong> (<a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/JavaApplication31.zip\">just for SJF Preemptive versions, as written in the lab)<\/a><\/p>\n<p><strong>Assignment #5<\/strong> (Due Date: Dec 7, Wednesday) <a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/procfs.java_.zip\">Proc File System<\/a><\/p>\n<p><strong>Term Projects :<\/strong><\/p>\n<ul>\n<li>Please form a project group of 4 people. Your project will be assigned and explained in the next class ( Oct, 4, Tuesday) (Project Topic: A Multithreaded Web Server with an Administrative Shell)<\/li>\n<li><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/server.java_.zip\">The sample web server code, as explained in the lab session (Oct, 25)<\/a><\/li>\n<li><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/project.pdf\">Project Specifications are available in here, please click to download.<\/a><\/li>\n<\/ul>\n<p><strong>GRADES<\/strong>: <a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/grades-7.htm\">click for your grades.<\/a>(updated midterm 2)<\/p>\n<p><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/midterm2.pdf\">Click for Midterm 2 Questions<\/a><\/p>\n<p><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/lab_final.pdf\">Lab Final (Due Date: Dec 15)<\/a><\/p>\n<p><a href=\"http:\/\/sadievrenseker.com\/wp-content\/uploads\/2016\/08\/lab_final2.pdf\">Updated Lab Final (Due Date: Dec 19 ),<\/a> move command is canceled, Added a run and test scenario for the implementation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Syllabus Introduction to Operating Systems Theory Classes: Tuesday &#8211; Thursday 3.00 pm &#8211; 4.50 pm Practice Classes: Thursday 7.30 pm &#8211; 9.30 pm Location: Ford Hall 342 Instructor: Dr. \u015eadi Evren \u015eEKER (Office: Ford Hall 252) Office Hours Wednesday, 3.00 &#8211; 5.00\u00a0PM Other times by appointment\/as available Lunch meetings available by request for small groups E-Mail: opsys2016@sadievrenseker.com Web Site: http:\/\/sadievrenseker.com\/?page_id=634 &hellip; <a href=\"https:\/\/sadievrenseker.com\/?page_id=634\">Continue Reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-634","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sadievrenseker.com\/index.php?rest_route=\/wp\/v2\/pages\/634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sadievrenseker.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sadievrenseker.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sadievrenseker.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sadievrenseker.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=634"}],"version-history":[{"count":94,"href":"https:\/\/sadievrenseker.com\/index.php?rest_route=\/wp\/v2\/pages\/634\/revisions"}],"predecessor-version":[{"id":1091,"href":"https:\/\/sadievrenseker.com\/index.php?rest_route=\/wp\/v2\/pages\/634\/revisions\/1091"}],"wp:attachment":[{"href":"https:\/\/sadievrenseker.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}