280 likes | 401 Vues
Week Seven Agenda. Link of the week Review week six lab assignment This week’s expected outcomes Next lab assignment Break-out problems Upcoming deadlines Questions and answers. Link of the week. http://www.kernel.org/ http://www.kernelnewbies.org/ Define: kernel
E N D
Week Seven Agenda • Link of the week • Review week six lab assignment • This week’s expected outcomes • Next lab assignment • Break-out problems • Upcoming deadlines • Questions and answers
Link of the week http://www.kernel.org/ http://www.kernelnewbies.org/ Define: kernel Legacy terms: nucleus or core Define: Kernel space Define: User space Define: monolithic kernel Define: microkernel
Link of the week • Configure Unix Kernel Parameters http://vista.intersystems.com/csp/docbook/DocBook.UI.Page.cls?KEY=GCI_unixparms#GCI_unixparms_notes_hpux Swap space Number of global/routine buffers Number of users Number of inodes Maximum database size Number of semaphores
Review week six lab assignment • makefile rule has the following format: target : prerequisites (dependencies) commands_1 commands_2 • Target is typically the name of the file to be generated. A target may also be an action to be performed. • Prerequisites are files that this target depends on. • command_n are the SHELL commands necessary to produce the target (one command per line). Each line MUST be prefixed with a TAB. Any other spacing will cause your script not to execute.
Review week six lab assignment prog : a.o b.o c.o g++ a.o b.o c.o -ly –o prog a.o : prog.h a.c g++ –c prog.h a.c b.o : prog.h b.c g++ –c prog.h b.c c.o : c.c g++ –c c.c c.c : c.y yacc c.y mv y.tab.c c.c
Review week six lab assignment • What is a dependency between source files? main.cpp employee.cpp address.cpp Some source files depend on other source files. • What are the two parts of a dependency rule? 1) What files a file is dependent on 2) Rule that tells how to recompile the file • What part of the dependency line is considered the target? • What is considered the action line? • We use the –c option on g++ to compile the source files to create object files. • We use the –o option to create the executable program from the object files.
Review week six lab assignment Linker combines a number of object and archive files, relocates their data and ties up symbol references. Usually the last step in compiling a program is to run linker. Link object files into an executable whose name is “myProgram” g++ -o myProgram a.o b.o c.o .cpp is C++ source code file format Compile source code main.cpp g++ -c main.cpp
Review week six lab assignment • Installing the software package Package manager Ant is extended using Java classes and written in XML. Manual makefile configure • Source(s) code compiler Object Module(s) linker Load Module loader • What are the differences between a makefile and a shell script? • The rules in the makefile are executed based upon dependency, and not sequential order. The “make” utility performs a recursive decent through the target tree building the lowest level targets first. • A target is rebuilt if any of its prerequisites have a newer timestamp than itself.
Review week six lab assignments prog a.o b.o c.o a.c prog.h b.c c.c c.y
Review week six lab assignment 1. touch everything - everything should build g++ -c main.cpp g++ -c employee.cpp g++ -c address.cpp g++ -o myProgram main.o employee.o address.o 2. touch nothing - nothing should build make: `myProgram' is up to date. 3. touch address.h - main and employee should build g++ -c employee.cpp g++ -o myProgram main.o employee.o address.o 4. touch main.cpp - only main.o should build g++ -c main.cpp g++ -o myProgram main.o employee.o address.o 5. touch employee.cpp - only employee.o should build g++ -c employee.cpp g++ -o myProgram main.o employee.o address.o 6. touch address.cpp - only address.o should build g++ -c address.cpp g++ -o myProgram main.o employee.o address.o Removing myProgram and all object files (.o)
Week seven expected outcomes Upon successful completion of this module, the student will be able to: • Create make file scripts for software programs. • Use pattern rules in make files. • Create an effective PowerPoint presentation. • Create make files with multiple targets. • Install software packages on a server.
Next lab assignment • Links can be viewed as entries in a directory that reference other files. • In Unix we can create two types of links: Physical (hard) links Symbolic (soft) links
Next lab assignment • A Physical Link references the exact same file (inode) as the file entry itself. • An inode is a unique number assigned to a file by the file system. • A file name in the directory can be viewed as a physical link and is no different than any other physical link. A directory is a list of physical links. ln test_file_1 test_file_hard_link ls –li (long listing with inodes) ls –i
Next lab assignment • A Symbolic Link references a “pointer file” which has its own inode • The pointer file points to the directory entry that references the target file (inode) • The inode for the symbolic link and the target are different.
Next lab assignment • Every file is associated with one inode • The inode contains the following information: file mode count of hard links owner id group id time of last file access time of last file modification file size file addresses
Next lab assignment • The directory maps file names to inodes. • Each file has one inode. • The number of inodes is a kernel parameter value. • Each file may have more than one directory entry. • Inodes contain a list of disk block addresses.
Next lab assignment • When there are multiple hard links, more directory entries point to the same inode (same file name) • An inode can only hold a fixed number of direct data block addresses (10 for Linux). Large files use indirect block addresses. • The inode keeps a count of the number of hard links that point to it. • Deleting a file deletes and entry from a directory. • If the number of hard links is 1, removing or deleting that file will also delete the inode.
Next lab assignment Inode 300 isn’t concerned about symbolic link 555 The symbolic link isn’t updated even if “your file” is deleted. ln –s test_file_1 test_file_symbolic_link
Next lab assignment Define: tar tar –cf newpack.tar /export/home/dandrear tar –xvf origpack.tar tar –tvf origpack.tar Define: gzip gzip filename.tar gzip –d filename.tar.gz gunzip filename.tar.gz Define: bzip2 / bunzip2 bzip2 filename.tar bunzip2 –d filename.tar.bz2
Break-out problems • awk • Algorithm • Semaphore • Tunable Unix parameters • Block (chunk of data) • Call by value • Call by reference • Interpreter • Pointer (Perl) • Shared memory
Upcoming deadlines • Review Lab Assignment 14-1 presentations. • makefile Exercise, 7-2 is due 6/15/08. • Programming Assignment 1, 6-1 is due 6/22/08. • Installation Exercise, 8-1 is due 6/29/08. • Startup/Shutdown Exercise, 10-1 is due 7/6/08.
Questions and answers • Questions • Comments • Concerns • I am available after this Franklin Live session to discuss any problems and/or concerns regarding the lab assignments