Welcome to CS 241 Systems Programming University of Illinois at Urbana-ChampaignWhat’s my End Result?The TeamSlide 4NewsgroupsThe Textbook Coming soon (not in stored yet)…Your CS 241 “Mission”GradingPlease…IntroductionCourse ObjectivesMore Detailed ObjectivesMachine ProblemsScheduleYour to-do ListSlide 16Copyright ©: Nahrstedt, Angrave, Abdelzaher 1Welcome to CS 241Systems Programming University of Illinois at Urbana-ChampaignUniversity of Illinois at Urbana-Champaign Tarek AbdelzaherLawrence AngraveCopyright ©: 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 TeamTarek Abdelzaher (Instructor)Office: 4126 SC Office Hours: Thu 9-10am, Fri 11-12noon, Tel: (217) 265-6793[email protected] Angrave (Instructor)Office: 2217 SC Office Hours: Mon 3-4pm, Fri 3-4pm, Tel: (217) 333-1424[email protected]: Lucas Cook, Stephen Klodere-mail: [email protected] ©: Nahrstedt, Angrave, Abdelzaher4Tarek Abdelzaher (Instructor)Office: 4126 SC Office Hours: Thu 9-10am, Fri 11-12noon, Tel: (217) 265-6793[email protected] Angrave (Instructor)Office: 2217 SC Office Hours: Mon 3-4pm, Fri 3-4pm, Tel: (217) 333-1424[email protected]: Lucas Cook, Stephen Klodere-mail: [email protected] TeamNeed Help?Have Questions?This is your one-stop help-line!Will get answer in 24 hours.Copyright ©: Nahrstedt, Angrave, Abdelzaher5NewsgroupsWe encourage discussion on classroom issuesPlease subscribe to these newsgroups:class.cs241 (general discussion) class.cs241.announce (announcements)Copyright ©: Nahrstedt, Angrave, Abdelzaher6The TextbookComing soon (not in stored yet)…Introduction 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, Abdelzaher7Your CS 241 “Mission” Come to class, MWF, 10-10: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 10/17Take Final (finals week)Copyright ©: Nahrstedt, Angrave, Abdelzaher8GradingFinal 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, Abdelzaher9Please…No late homework/MP submissions1 week window for re-grades from return dateCopyright ©: 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 ProblemsSMP0 Advanced CSMP1 Programs and Processes SMP2 Processes and Threads SMP3 Synchronization SMP4 Scheduling LMP1 File Systems LMP2 Memory Management SMP5 NetworkingCopyright ©: Nahrstedt, Angrave, Abdelzaher14ScheduleSee class webpagehttp://www.cs.uiuc.edu/class/fa07/cs241Copyright ©: Nahrstedt, Angrave, Abdelzaher15Your to-do ListToday:Visit the class webpage and check out all the info (especially schedule, grading policy, homework & MP hand-in instructions, and resources).http://www.cs.uiuc.edu/class/fa07/cs241Familiarize yourself with newsgroups (see http://news.cs.uiuc.edu) and subscribe to: class.cs241 and class.cs241.announce Visit Compass http://compass.uiuc.eduand familiarize yourself with it. You will be using it to hand in homework and machine problems!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 (look out for an announcement at the end of this week)Pair up for upcoming machine problemsRead “How to study” Guide (see lecture notes on class
View Full Document