Welcome to CS 241 Systems Programming University of Illinois at Urbana-ChampaignWhat’s my End Result?The TeamNewsgroupsThe TextbookYour CS 241 “Mission”GradingPlease…Slide 9IntroductionCourse ObjectivesMore Detailed ObjectivesMachine ProblemsScheduleYour to-do ListSlide 16Copyright ©: Nahrstedt, Angrave, Abdelzaher, Caccamo 1Welcome to CS 241Systems Programming University of Illinois at Urbana-ChampaignUniversity of Illinois at Urbana-Champaign Marco CaccamoCopyright ©: Nahrstedt, Angrave, Abdelzaher2What’s my End Result?Before CS 241: After CS 241:Can design and code interesting applications: Simple Web serversInternet multiplayer gamesChatrooms, instant messaging softwareCopyright ©: Nahrstedt, Angrave, Abdelzaher3The TeamMarco Caccamo (Instructor)Office: 4118 SC Office hours: 11:50-12:50 Wednesday & Friday[email protected][email protected]: Wade Fagen, Liping Chen, Farhana AshrafNon-Contact TA: Chi-Yao HongCopyright ©: Nahrstedt, Angrave, Abdelzaher4NewsgroupsWe encourage discussion on classroom issuesPlease subscribe to these newsgroups:class.fa09.cs241 (general discussion) class.fa09.cs241.announce (announcements)Copyright ©: Nahrstedt, Angrave, Abdelzaher5The TextbookIntroduction to Systems Concepts and Systems ProgrammingUniversity of Illinois Custom EditionCopyright © 2007 Pearson Custom PublishingISBN 0-536-48928-9Taken from:Operating Systems: Internals and Design Principles, Fifth Editionby William StallingsUNIX™ Systems Programming: Communication, Concurrency, and Threadsby Kay A. Robbins and Steven RobbinsComputer Systems: A Programmer's Perspectiveby Randal E. Bryant and David R. O'HallaronCopyright ©: Nahrstedt, Angrave, Abdelzaher6Your CS 241 “Mission” Come to class, MWF, 11-11:50amPlease participate actively…Sign up for one discussion section per week (starting next week) Discussion sections will not meet during the first week of classRead textbook Reading assignments posted on webpage (none this week)Do 2 homeworksCode 6 Short programming assignments (in teams of 2) Short Machine Problems (SMPs)Code 2 Long programming assignments (in teams of 2)Long Machine Problems (LMPs)Take MidtermTake Final (during finals week)Copyright ©: Nahrstedt, Angrave, Abdelzaher7GradingFinal Exam: 35%Mid-term Exam: 25% Homework (two total): 10%Team Machine Problems (8 total): 30%6 Short Machine Problems (SMPs) @ 3%2 Long Machine Problems (LMPs) @ 6%Copyright ©: Nahrstedt, Angrave, Abdelzaher8Please…MP Submissions:Most will be due at 11:59pm on Monday nights30% late penalty if submitted no more than 24 hours late (usually Tuesday at 11:59pm)No credit if submitted more than 24 hours lateHomework Submissions:Submit in room SC4120 (Molly Flesner’s office); no late submissionPlease…Regrade requests will be reviewed offline.Regrade requests must be submitted within 1 week from return dateCopyright ©: Nahrstedt, Angrave, Abdelzaher9Copyright ©: Nahrstedt, Angrave, Abdelzaher10IntroductionWhat is an operating system?What is it for?What is system programming?Copyright ©: Nahrstedt, Angrave, Abdelzaher11Course ObjectivesIdentify the basic components of an operating system, describe their purpose, and explain how they function.Write, compile, debug, and execute C programs that correctly use system interfaces provided by UNIX (or a UNIX-like operating system).Copyright ©: Nahrstedt, Angrave, Abdelzaher12More Detailed ObjectivesUnderstand the Basics (week 1-2)Use UNIX system calls correctly from within C programsMake the OS do tasks (week 3-8)Create and manage processes and threads on UNIX.Exploit OS semaphores and mutexesControl OS scheduling policy parameters.Take advantage of OS signals and signal handlers.Set OS timers and clocks.Manage machine resources (week 9-12)Manage files and I/O on UNIX.Manage memory Exploit DMAWrite networked applications (week 13-15)Use communication protocols (TCP/IP) and interfaces (Sockets)Write distributed multi-threaded apps that talk across a network.Copyright ©: Nahrstedt, Angrave, Abdelzaher13Machine ProblemsMachine Problems will be programmed in ANSI C, using the POSIX standard.Topics:Processes, threads, synchronization, scheduling, file system, memory management, networking, semaphores, deadlocks, and more!Copyright ©: Nahrstedt, Angrave, Abdelzaher14ScheduleSee class webpagehttp://www.cs.uiuc.edu/class/fa09/cs241Copyright ©: Nahrstedt, Angrave, Abdelzaher15Your to-do ListToday:Visit the class webpage and check out all the infohttp://www.cs.uiuc.edu/class/fa09/cs241Familiarize yourself with newsgroups (see http://news.cs.illinois.edu) and subscribe to: class.fa09.cs241 and class.fa09.cs241.announce Find a reference to refresh your C programming skills (e.g., see tutorial below)http://www.lysator.liu.se/c/bwk-tutor.htmlCopyright ©: Nahrstedt, Angrave, Abdelzaher16Your to-do ListSoon: Sign up for a discussion section if you have not already (sections start next week!)Pair up for upcoming machine problemsRead “How to study” Guide (see lecture notes on class
View Full Document