This preview shows page 1. Sign up to view the full content.
Unformatted text preview: Wednesday, April 1 Teams Posted on course wiki "Projects", "Teams" Project #1 Posted on course wiki "Projects", "Project 1" Due Sunday, April 5, before midnight Today's topics Project #1 Intro to OS tools Course Mailing List firstname.lastname@example.org List is not moderated, but student default membership is by ONID account Use ONID email to bypass moderator (webmail) Other email addresses OK
will be moderated Read the mailing list Guidelines on the course wiki Credit given for thoughtful, useful contributions Simulation of an opensource community does not mean code giveaway Common sense should prevail Good questions are worth as much as good answers Project #1
1. 2. 3. 4. 5. Get your environment set up Install a vanilla version of linux Modify a kernel module Add a system call to the kernel Produce some output. Posted on course wiki Due Sunday, April 5, before midnight All team members must contribute. Documentation/instructions are on the course wiki. We will check your repository log Important explanations of VMware, Kernel Installation, Kernel Modules, and Subversion Visit the course wiki and follow the Projects,Teams link. Team table with Teams Names and email addresses Port number on sonic1.eecs.orst.edu Code repository on onid validation /nfs/stak/a2/classes/eecs/spring2009/cs411/groups/gxx Windows path is Get together ASAP! Let me know about any access problems ASAP. \\stak\classes\eecs\spring2009\cs411\groups\gxx Project #1 additional requirements: Links on course wiki for: Credit Distribution Agreement (due Monday, April 6, before 10:00 am) Project review document due Monday, April 6, before midnight Each team hands in a signed hardcopy Each individual submits online Linux, VMware, Subversion Several dedicated servers provide a virtual machine for each team Code version control repository is hosted by ENGR The "system" Lab machines in Kelley and Dearborn (and Hovland?) have the VMware client All of the VMs are ready Use SVN (Subversion) OK to use git Access from offcampus sonic1.eecs.orst.edu:xxx (xxx is your team's port number. See the course wiki "Projects", "Teams") Tunnel through SSH, or Set up a VPN in Windows Linux
URL: http://kernel.org/ History (see Love Chapter 1) Flexible (modularized) Portable Robust Objectoriented device model Monolithic (but modules may be inserted) SMP (Symmetric MultiProcessing) Open Source This term we will use version 220.127.116.11 Latest stable version is 2.6.29 VMware Virtual machine software that emulates hardware makes behavior repeatable doesn't crash hardware (reboot) concerns about speed?
multiple architectures Free trial. You can install client on your own machine URL: http://www.vmware.com/products/ Enable multiple developers in a team to work on the same source code files at the same time, without fear of losing code. Track every change made, allowing a team to "undo" a big change if desired. Using a version control system is required of all teams Commercial source code control systems include: Rational Clearcase, Microsoft Source Safe, etc.. Source code version control systems Subversion Open Source. URL: http://subversion.tigris.org/ Autosetup provided for Subversion Learning to swim Some parts of the project definition and documentation are deliberately vague Figure out how to figure things out! Get an "opensource" conversation going on the course mailing list! Pause for Sarah's infomercial Beaver BarCamp Saturday, April 4 What is an Operating System? A program that ... Manages computer hardware Provides a basis for application programs Provides the interface between users* and computer hardware *users can be people, application programs, peripheral devices, other computers, etc. Operating System Definition No universally accepted definition OS is a resource allocator OS is a control program Manages all resources Decides among conflicting requests for efficient and fair resource use Controls execution of programs to prevent errors and improper use of the computer Operating System Definition (Cont.) OS is the kernel. The one program running at all times on the computer Everything else is
system) an application program a system program (ships with the operating Operating system goals: May include (depending on the context) : These goals are often conflicting Execute user programs Facilitate solving user problems. Make the computer system convenient to use. Use the computer hardware in an efficient manner. Etc. Types of operating systems Goals differ depending on hardware architecture/configuration Mainframe Personal computer
Desktop PDA Network Multiprocessor/Parallel Distributed/Clustered Realtime/Embedded system etc. OS views Users System programmers People Application programs Direct control Internal system calls OS developers Design/improve OS facilities Determine how resources are used Users' View Interact with OS through a user interface Application programs Text Graphical Devices System calls System View
Briefly ... OS provides instructions for: System startup System calls Process control Interrupt handling Memory management / virtual memory I/O and communications management File systems management Error detection and protection ... and possibly (much) more OS Developers' View Design/implement System calls OS functions Resource management ... etc. Who are these guys? Questions? Reread Love Chapters 1 & 2 Read Love Chapter 5 Get moving on Project #1 Notetaker needed! ...
View Full Document
- Spring '08
- Operating Systems