Welcome to CS 241 Systems Programming University of Illinois at Urbana-ChampaignWhat’s my End Result?The TeamNewsgroupsThe TextbookYour CS 241 “Mission”GradingPlease…IntroductionCourse ObjectivesMore Detailed ObjectivesMachine ProblemsScheduleYour to-do ListSlide 15Copyright ©: Nahrstedt, Angrave, Abdelzaher 1Welcome to CS 241Systems Programming University of Illinois at Urbana-ChampaignUniversity of Illinois at Urbana-Champaign Vikram AdveTarek AbdelzaherCopyright ©: 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 TeamVikram Adve (Instructor)Office: 4235 SC Tel: (217) 244 2016[email protected] Abdelzaher (Instructor)Office: 4126 SC Tel: (217) 265-6793[email protected]: Liping Chen, Imranul Hoque, Saurabh Nagnia, Wade FagenCopyright ©: Nahrstedt, Angrave, Abdelzaher4NewsgroupsWe encourage discussion on classroom issuesPlease subscribe to these newsgroups:class.cs241 (general discussion) class.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, 9-9:50amPlease participate actively…Sign up for one discussion section per week (starting next week) Discussion section times will be announced at the end of this weekRead 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 Midterm, Wednesday 3/16Take Final (finals week)Copyright ©: Nahrstedt, Angrave, Abdelzaher7GradingFinal Exam: 30%Mid-term Exam: 20% Homework (two total): 10%Team Machine Problems (8 total): 30%6 Short Machine Problems (SMPs) @ 3%2 Long Machine Problems (LMPs) @ 6% Participation: 10%Class involvement Pop quizzesCopyright ©: Nahrstedt, Angrave, Abdelzaher8Please…No late homework/MP submissions1 week window for re-grades from return dateCopyright ©: Nahrstedt, Angrave, Abdelzaher9IntroductionWhat is an operating system?What is it for?What is system programming?Copyright ©: Nahrstedt, Angrave, Abdelzaher10Course 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, Abdelzaher11More 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, Abdelzaher12Machine ProblemsSMP0 Advanced CSMP1 Programs and Processes SMP2 Processes and Threads SMP3 Synchronization SMP4 Scheduling LMP1 File Systems LMP2 Memory Management SMP5 NetworkingCopyright ©: Nahrstedt, Angrave, Abdelzaher13ScheduleSee class webpagehttp://www.cs.uiuc.edu/class/sp09/cs241Copyright ©: Nahrstedt, Angrave, Abdelzaher14Your to-do ListToday:Visit the class webpage and check out all the infohttp://www.cs.uiuc.edu/class/sp09/cs241Familiarize yourself with newsgroups (see http://news.cs.uiuc.edu) and subscribe to: class.cs241 and class.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, Abdelzaher15Your to-do ListSoon: Sign up for a discussion section if you have not already (look out for an announcement at the end of this week)Discussion sections are on 0220 not 1111!Pair up for upcoming machine problemsRead “How to study” Guide (see lecture notes on class
View Full Document