|
|
CISC 2490
Unix Operating System II
Syllabus
This syllabus is intended as a set of guidelines for the Unix Operating
System II course. North Lake College and your instructor reserve the right to
make modifications in content, schedule, and requirements as necessary to
promote the best education possible within prevailing requirements affecting t
his course.
North Lake College
5001 N. MacArthur
Irving, TX
CISC 2490
Unix Operating System II
COURSE DESCRIPTION
This course continues the development of Unix concepts and tools. Topics
include advanced file system management, additional editors, text formatting,
multi-tasking support and advanced shell programming.
Prerequisite: Successful completion of CISC 1480 or demonstrated
competence approved by the instructor is required.
(4 Credits {hours: 3 lecture 4 lab})
COURSE FOCUS
This course is designed to enable the student to continue their
exploration of the Unix operating system. It will provide the student the
opportunity to: develop additional kills using the two common Unix editors;
craft additional, complex shell scripts; learn more uses for Unix tools like
awk and sed; examine some of the internal processes of the operating system;
and gain a better understanding of Unix processes.
TEXT AND REFERENCES
There are two required texts for this course:
Harley Hahn's Student guide to Unix, by Harley Hahn,
published by McGraw-Hill. ISBN 0-07-025492-3
Unix in a Nutshell by Daniel Gilly published by O'Reilly &
Associates, Inc. ISBN 1-56592-001-5.
Additional Unix reference books may prove helpful, however they are optional.
Three that are very highly recommended are the sed & awk book by
Dougherty, and Learning the vi Editor by Lamb, both are published
by O'Reilly & Associates, Inc. and The Unix Philosophy by Mike Gancarz
published by Digital Press.
{Note: no Unix user or programmer can have too many Unix books
;-) }
For a real interesting read, pick up:
Unix System Architecture, by Prabhat K. Andleigh,
published by Prentice Hall.
COURSE GOALS (or objectives)
The following list of educational goals will be addressed in this course.
These goals are directly related to the performance objectives (Addendum A).
(* designates a CRUCIAL goal)
Architecture and Theory:
*1. describe the concept of a Virtual Machine
*2. distinguish between an Interrupt and a Signal
3. describe process management
4. explain memory management with multiple processes
*5. distinguish between real and virtual memory
6. describe CPU usage and sharing among processes
7. explain file/data access methods
8. describe the general system usage accounting services
9. explain the Unix user command interface
*10. characterize Unix commands
11. identify Unix system services
*12. describe the levels of Unix system software from Kernel to user written code
13. differentiate between Kernel space and User space
14. execute specific Kernel commands
*15. identify Unix structures including but not limited to
a. Page Table entry
b. Virtual Address Structure
c. Process Table entries
d. Disk Inodes
e. File Structures
f. I/O Buffers
16. describe Unix system calls
17. define both named and unnamed pipes
*18. describe the physical organization of a Unix file system
19. explain disk caching
*20. define standard Unix I/O
21. distinguish between NFS and RFS
22. interpret context switching
23. explain the process creation (vfork) procedure
*24. distinguish between swapping and paging
25. examine porting issues
*26. explain how to write "portable code"
27. define the POSIX Interface standard
Editors:
*28. use the vi editor to perform the following tasks:
a. open a new file for editing
b. modify the contents of a file
c. use ex commands from vi
d. switch from vi to ex and back
e. use advanced features
f. use multiple files
g. use buffers with edits
h. using text objects
*29. use the ex editor to perform the following tasks
a. switch files during an editing session
b. save the current buffer to another file
c. use the autoprint feature
d. use the wrapscan feature
e. run shell commands from within ex
*30. use sed to perform the following tasks
a. match and modify patters than span lines
b. perform flow of control tasks
c. Join phrases
d. use both pattern and hold spaces
Other Unix tools and features
*31. write awk scripts to perform text manipulation
32. use awk to generate useful reports
*33. use awk scripts perform file access
34. handle arrays in awk
35. perform user interface tasks in awk
*36. use nroff to perform simple text formatting
37. write Bourne shell scripts to perform user interface functions
38. write Bourne shell scripts to exercise conditional execution
39. write Bourne shell scripts to perform case selection
40. write Bourne shell scripts to perform looping operations
*41. write Bourne shell scripts to process command line input
*42. write Bourne shell scripts to process file input
*43. write Bourne shell scripts to process command line parameters
*44. write Bourne shell scripts to perform multiple Unix commands
45. demonstrate the ability to use common Korn shell commands
STUDENT CONTRIBUTIONS
Each student will spend at least 14 hours per week preparing for class.
Attendance at each class meeting is critical and required in this class.
The student is expected to complete each lab assignment using either the
computers at North Lake College, or their own computer running a Unix
operating system (or a variant which conforms to the general Unix standard).
(The Linux operating system is considered an excellent choice for a
386/486/586/Pentium machine.)
COURSE EVALUATION
Your lab exercises and exams grades will be on a point basis, and the
points you accumulate through the semester will result in a grade being
assigned as is explained below.
There will be two (2) tests, each worth 150 points.
(300 points total.)
12 required lab assignments worth 15 points.
(180 points total.)
Some of these labs will have extra credit opportunities as well
A group/team presentation of some facet of Unix. That presentation
will be worth up to 50 points.
at least one optional lab assignmens that will serve as an extra
credit opportunity.
Attendance/class participation is critical to student success, and
regular attendance (missing no more than 1 class meeting) will be
awarded 20 points.
This gives a grand total of 550 points without extra credit.
Grades will be assigned on the following scale:
| A= |
495 points and above |
(90%)
|
| B= |
494 - 440 points
| (80%) |
| C= |
439 - 385 points |
(70%) |
| D= |
384 - 330 points |
(60%) |
| F= |
fewer than 330 points |
:-( |
COURSE SCHEDULE
The class meets for 7 hours per week. This time will be divided between
lecture, exercises, and lab assignments. The actual amount of time in each
of these areas will vary depending on the topic under discussion.
Addendum B is a tentative listing of the topics and reading assignments for
each week.
GROUP PRESENTATION:
One of the mainstays in the Unix world is that we Unix folks share what we
learn. That makes it possible to continue to grow without re-inventing the
wheel. Another facet of this world is that most of us work in groups or teams.
You will be randomly assigned to a two person team
that will last for the duration of the course. We will discuss all the
ramifications of the team concept during the first class. Since you are now
Unix wizards, you have the responsibility
to share your knowledge with the rest of the Unix world, represented here
by the class.
Therefore you will be asked to research, prepare and present one Unix topic
or tool, outside the prescribed range of the course, that you have discovered,
use, or have developed. Please schedule with your instructor when you would
like to present your material. It can be in the form of a demonstration or
presentation, and a LAB. Your goal is to impart
new knowledge to this microcosm of the Unix universe. There are two
restrictions:
First, you may not present system administration type topics, that will be
covered in another class, and you will not be allowed to have root access so
don't depend on that.
Second, plan to spend 30 minutes to one hour in your presentation. Try to have
the lab constructed so that it can be completed during the class session.
Please discuss all topics with your instructor before you begin working on them.
Standards:
Most companies require their scriptors to follow as set
of standards, we too have standards to which your scripts must adhere.
Please review the standards document and
build all your scripts to those standards.
ADDENDUM A:
PERFORMANCE OBJECTIVES
1. The student will not be allowed references. The student will identify
the components of a Virtual Machine. Performance will be satisfactory if the
student identifies the components of a Virtual Machine in a way consistent
with the text and with class discussion.
2. The student will not be allowed references. The student will distinguish
between an Interrupt and a Signal. Performance will be satisfactory if the
student can successfully distinguish between an Interrupt and a Signal in a
way consistent with class discussion and the text.
5. The student will not be allowed references. The student will distinguish
between real and virtual memory. Performance will be satisfactory if the
student correctly distinguishes between real and virtual memory.
10. The student will not be allowed references. The student will describe
the general features of Unix commands. Performance will be satisfactory if
the student describes the general features of Unix commands in a way
consistent with the text and class discussion.
12. The student will be allowed references. The student will describe the
levels of software between the user written code to the Kernel code.
Performance will be satisfactory if the student correctly identifies the
levels of code between a user written script and the Kernel.
15. The student will be allowed references. The student will identify various
Unix structures including but not limited to:
Page Table entries
Virtual Address Structures
Process Table entries
Disk Inodes
File Structures
I/O Buffers
Performance will be satisfactory if the student correctly identifies the
structures listed above, and can name elements of those structures.
18. The student will not be allowed references. The student will describe
the physical organization of a Unix file system. Performance will be
satisfactory if the student describes the physical organization of a Unix file
system in a manner consistent with descriptions in the text and in the
lecture.
20. The student will not be allowed references. The student will describe
the standard for Unix I/O. Performance will be satisfactory if the student
describes the standard Unix Input and Output files in a manner consistent
with the documentation on the system.
24. The student will not be allowed references. The student will
differentiate between swapping and paging. Performance will be satisfactory
if the student describes the differences between swapping and paging in a
manner consistent with the text and the lecture.
26. The student will not be allowed references. The student will describe
the criteria necessary to create code that is portable from one Unix system
to another. performance will be satisfactory if the student describes those
criteria that are deemed critical to creating portable code as documented
in the lecture and in the text.
28. The student will be allowed references. The student will use the vi
editor to perform a series of edits on text files. Performance will be
satisfactory if the student performs the edits required on the files as
directed by circumstances and laboratory exercises.
29. The student will be allowed references. The student will use the ex
editor to perform a series of edits on text files. Performance will be
satisfactory if the student performs the edits required on the files as
directed by circumstances and laboratory exercises.
30. The student will be allowed references. The student will use the stream
editor (sed) to perform a series of edits on text files. Performance will be
satisfactory if the student performs the edits required on the files as
directed by circumstances and laboratory exercises.
31. The student will be allowed references. The student will use the Unix
awk tool to perform text manipulation. Performance will be satisfactory if
the student uses the awk tool to perform text manipulation to fulfill the
requirements of laboratory exercises in a manner that does not generate
awk or Unix errors.
33. The student will be allowed references. The student will use the Unix
awk tool to perform file access. Performance will be satisfactory if the
student uses the awk tool to access Unix files to fulfill the requirements
of laboratory exercises in a manner that does not generate awk or
Unix errors.
36. The student will be allowed references. The student will use nroff to
format a file according to directions provided in a laboratory exercise.
Performance will be successful if the student uses nroff to generate a
document of the form specified by the instructor without generating
either Unix or nroff errors.
41. The student will be allowed references. The student will use one of
the command line input commands available in the Bourne shell to create
code in a script to take data from the comand line and process them.
42. The student will be allowed references. The student will use one of the
file input commands available in the Bourne shell to create code in a
script to take data from an input file and process them.
43. The student will be allowed references. The student will use one of the
input commands available in the Bourne shell to create code in a script to
accept data from the comand line parameters and process them.
44. The student will be allowed references. The student will use a combination
of Unix commands built within an executable script file, to perform actions
as specified in several laboratory exercises. Performance will be satisfactory
if the student combines a series of Unix commands in such as way as to fulfill
the requirements of laboratory exercises without generating errors
Please also give careful attention to the following:
1. Cheating: It is possible to obtain another student's work, modify it
slightly, and turn it in as your own. When you are caught cheating you will
receive a performance grade of F for this course. In addition, other action
may be taken as described in the Student Code of Conduct. Cheating robs two
people of their rightful reward: the person from whom you copy is deprived of
their right to the copyrighted work they did and you are deprived of the
learning experience you could have had. No one benefits from cheating, it will
not be tolerated.
Besides, cheating is contrary to the mindset of a real Unix person.
This does not mean I discourage discussion with your fellow students. I
encourage you to discuss solutions to problems from class with other members
of the class. In this class I encourage you to work in a group. I will expect
that the assignments you hand in will be based upon group effort. All I ask is
that you put the names of all the participants in the group on whatever you
hand in. That way I can know who to credit. What I am trying to avoid is
identical work, claimed for independent credit by two or more people.
2. Ethical computer usage: While this topic encompasses the problem of
cheating listed as item one, it is a far larger issue than simply cheating in
class. Any attempt by any student to compromise the integrity of the computer
lab, classroom computers, or other instructional or administrative machines or
steal or damage the software or hardware at North Lake or on other networked
computers will be dealt with in the most severe manner possible.
You may not load personal software on any machine at North Lake College,
nor may you copy software from any North Lake College computer without prior,
written permission from both your instructor and the data processing department.
Along this same line, it is improper to use the computer resources of
the college to copy another's paper or other assignments to be submitted as
your own. Please use our equipment in an ethical manner. If you have any
question as to the proper/ethical use of this equipment, please feel free to
discuss it with your instructor prior to such use.
Finally, you will be using the Internet to connect your lab machine to
the Unix computer(s) at North Lake College. Please restrict your Internet
usage, during assigned lab and lecture time, to activities DIRECTLY related to
your course. Do not use the INTERNET connection to play games, check your
private (and non-class) E-mail or perform other non-class related
activities. If you have an off-campus Internet provider, you may use
that provider to log into the North Lake College machines to work on your
homework during non-class hours. It will be to your
advantage to be able to access the Unix servers from home.
If you are working from home, the same rules of proper usage apply. Do not
download files across the Internet that are not directly related to your
course work in Unix II. You must also read and follow the DCCCD AUP.
ADDENDUM B:
CISC 2490 Advanced Unix
Tentative Course Schedule
Listed below is a tentative schedule of the topics
for lectures for the Unix Operating System II course. Please note: the
student is expected to read the material in the text, and in other references
if available, before the class session in which the topic is discussed.
| Week |
Topic(s) |
| 1 |
Intro/Overview/history general comments/ The Unix Philosophy |
|
Leveling/Review/Refresh
|
| 2 |
Leveling/Review/Refresh |
|
Leveling/Review/Refresh
|
| 3 |
Leveling/Review/Refresh |
|
Leveling/Review/Refresh
|
| 4 |
Leveling/Review/Refresh |
|
Introduction to the Korn shell
|
| 5 |
Unix Architecture/user commands |
|
Advanced ed and ex
|
| 6 |
More ed and ex Smart (lazy) user interfacing |
|
Advanced vi
|
| 7 |
Advanced vi |
|
File Processing (theory)
|
| 8 |
File Handling Standard Files and redirection
Presentation 1 by:________________ Topic: ________________________ |
|
Interesting commands and ideas sort/cut/paste/join etc.
MID TERM
|
| 9 |
Another shell, Tcsh
Presentation 2 by:________________ Topic: ________________________ |
|
Process creation and management
signals and semaphores
Presentation 3 by:________________ Topic: ________________________ |
| 10 |
Process creation and management cont. |
|
Pipes, unnamed and FIFO
Presentation 4 by:_________________ Topic: ________________________ |
| 11 |
remote control
Presentation 5 by:________________ Topic: ________________________ |
|
Text formatting with nroff
Presentation 6 by:________________ Topic: ________________________ |
| 12 |
Power tools (grep/sed/awk) |
|
Power tools (grep/sed/awk)
Presentation 7 by:________________ Topic: ________________________ |
| 13 |
OH NO!!! CGI
Necessary HTML, forms and CGI scripting |
|
Common Gateway Interface scripts
Presentation 8 by:________________ Topic: ________________________ |
| 14 |
Shell "stuff" and scripting |
|
Shell "stuff" and scripting
Presentation 9 by:________________ Topic: ________________________ |
| 15 |
Shell "stuff" and scripting |
| Shell "stuff" and scripting
Presentation 10 by:________________ Topic: ________________________ |
| Final Exam |
In class + Take Home |
NOTE The instructor reserves the right to modify this schedule
depending upon occurrences during the semester, the particular needs of
the class, or other unforeseen events which would necessitate schedule
modification to best meet the educational needs of the class.
|
College Resource and Instructor Support Program (CRISP)
: Syllabi
| Learning Resources
| Links
| Join Us
| Contact Us
|
|