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 Programmers 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 ones 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 elses 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.