College Resource and Instructor Support Program


- CRISP Home
- Join Us
- Syllabi
- Learning Resources
- Links
- Contribute
- Contact Us
- Sun Network Academy Portal (SNAP)
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) : SyllabiLearning ResourcesLinksJoin UsContact Us