EEw360P/w380L.6 Interfacing to Operating Systems
Summer 2000
Class
: ENS145 MWF 10-11:30am
EE360P Unique Number: 76900
EE380L.6 Unique Number: 76950
Instructor: Jonathan W. Valvano
Office: ENS617A, 471-5141
Research Lab: ENS619/621, 471-1216
Office Hours: MWF12-1
email: valvano@uts.cc.utexas.edu
Web page http://www.ece.utexas.edu/~valvano
TA: Vishal Mishra <vishal@netshooter.com>
Engineering Library reserve:
Silberschatz, Operating System Concepts, 1998
Hans-Peter Messmer, The Indispensable PC Hardware Book, Addison-Wesley, 1995
Microsoft, MS-DOS Programmer’s Reference, Microsoft Press, 1993
HKN: Valvano, EE360P Lecture Notes, Summer 2000
Text: Silberschatz, Operating System Concepts, 1998
Course Topics:
1. Introduction to operating systems
2. Introduction to IBM-PC hardware
architecture , assembly language programming
gadfly, interrupts, DMA
3. Real-time programming in C/C++
data structures, quality software, hierarchical programming, software latency
mapping into 8086 assembly language, software traps, hardware interrupts
4. Process and processor management
scheduling, synchronization, deadlock
5. Memory management
contiguous allocation, compaction, paging, segmentation, virtual memory
6. I/O device drivers:
installation, trap handlers, interrupt handlers, redirection, filters
parallel port, serial port, floppy disk
7. File system management
allocation, free space, performance, directories
Cognitive Objective Categories
1. Knowledge, the repetition of facts
2. Comprehension, the ability to paraphrase into one’s own words
3. Application, the ability to apply a general principle to a new specific instance
4. Analysis, the ability to identify component parts
5. Synthesis, the ability to create a new system out of components
6. Evaluation, the ability to make critical judgments
Affective Objective Categories
1. Willingness to receive and incorporate new information
2. Acceptance, organization and commitment to a value system
Prerequisites: EE360C with a grade of C or better. Many students will also have had EE345L (it is suggested but not required). EE345L topics in this class include interrupts, keyboard interfacing, software traps, and real time clocks. It is OK if you know C but not C++. In this case, you will be required to put in some additional work to catch up (the texts for EE312&EE360C are recommended.)
Cheating: Cheating is very uncivilized behavior and is to be avoided at all cost. Cheating is defined as "any time you put your name on someone else’s work". You are allowed to talk to your classmates and previous students about the assignments. It is considered scholastic dishonesty to look at the written work of any student other than the member of your lab group. Oral discussion about an assignment is encouraged and is not considered to be cheating. Copying of any part of a program is cheating. If two programs are found to be copied, there will be a substantial penalty to both students, e.g., failure in the course. Students who cheat on tests will fail. Prosecution of cases is very traumatic to both the student and instructor. PLEASE DO YOUR OWN WORK. Policies concerning the use of other peoples’ software in this class:
• I strongly encourage you to study existing software.
• All applications and libraries must be legally obtained. E.g.,
You may use libraries that came when you bought a compiler.
You may use software obtained from a BBS or on the WWW.
You may copy and paste from the existing source code.
• You may use any existing source code that is clearly referenced and categorized:
original: completely written by you,
derived: fundamental approach is copied but it is your implementation,
modified: source code significantly edited to serve your purpose,
copied: source code includes minor modifications.
Grading: 40% Ten Laboratory assignments
25% In class closed book Midterm, Monday, 7/10, in class
35% Closed book Final, Monday, August 21, 9am-12n, Room regularly scheduled
There will be no re-tests, make-ups, or incompletes. An average above 70 is required to receive a credit (CR/NR). Lab performance (effort, debugging skills, and citizenship) as observed by the TA will be used to decide course grades in borderline situations.
Laboratories: There are ten lab assignments. Some labs require demonstration to the TA, while for others you simply turn in the results. Any machine in the building that allows C or C++ software development including establishing a periodic hardware-based real time clock interrupt and generating interrupt-driven I/O is adequate. See the TA for more information about the lab configuration and on the specific grading policy and late penalties for the lab assignments. The TA will give a lab demonstration. Report machine failures to the proper authorities.
General: Attendance in class is expected. In this class, a large part of the material is not in any one book. If you miss class you may find it difficult to catch up. All software for lab, and tests must include comments. The purpose of groups is to encourage the students to help each other. When you work in a group, the group turns in one solution stapled together with both names on it. The paper will receive one grade, and all members receive that grade. I expect that all members of the group to contribute.
Legal Stuff: Drop date is June 8, 2000. After this date, I will sign a drop card only if it has been approved by the Dean. Your current grade status must be a "C" or better for you to receive a "Q". Course/instructor evaluation is conducted on the last class day in accordance with the Measurement and Evaluation Center form. The final exam is at the time and place stated in the course schedule. The University of Texas at Austin provides upon request appropriate academic adjustments for qualified students with disabilities. For more information, contact the Office of the Dean of Students with Disabilities at 471-6259, 471-4241 TDD.