slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Week Six Agenda PowerPoint Presentation
Download Presentation
Week Six Agenda

Loading in 2 Seconds...

play fullscreen
1 / 40

Week Six Agenda - PowerPoint PPT Presentation

  • Uploaded on

Week Six Agenda. Announcements Link of the week Review week four lab assignment This week’s expected outcomes Next lab assignment Review midterm exam Break-out problems Upcoming deadlines Lab assistance, questions and answers. Link of the week.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Week Six Agenda' - wilona

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Week Six Agenda

  • Announcements
  • Link of the week
  • Review week four lab assignment
  • This week’s expected outcomes
  • Next lab assignment
  • Review midterm exam
  • Break-out problems
  • Upcoming deadlines
  • Lab assistance, questions and answers
link of the week
Link of the week

This Wed site provides useful information on how to secure your home computer, things you ought to know, and what should be done to secure a home computer.

Science and Technology Resources on the Internet

Computer Security

This article is written by Jane F. KinKus, who is a Mathematical Sciences Librarian.

link of the week1
Link of the week

Why do we love Perl?

The Perl Programming Language currently has 21,000 Comprehensive Perl Archive (CPAN) modules.

The CPAN has over 18,000 open source modules available for download.

Perl is a highly capable, feature-rich programming language with over 23 years of development.

Perl is currently being developed.

Perl has over 300 local community groups.

Perl 6 is a sister language, part of the Perl family.

link of the week2
Link of the week
  • Definition: Trusted System is one that is replied upon to a specific extent to enforce a specific security policy.
  • Definition: Trusted Computing means that a computer will consistently behave in specific ways, and those behaviors will be enforced by hardware and software.
  • Where are trusted systems utilized?

Homeland security, law enforcement, and social control

review week five lab assignment
Review week five lab assignment


Bob D'Andrea 222-40-1234 03/19/1947 male

Bo Happy 444-20-2222 01/01/1945 male

Jane Smith 324-78-9990 04/23/1978 female

Razi Jake 564-54-9879 05/26/2005 male

The file named “names” contains the above information.

There are tabs in two places in the above data. One tab is after the name and after the birth date.

review week five lab assignment1
Review week five lab assignment

Without options, print the desired fields in any order.

awk ‘{ print $1, $2, $3, $4, $5 }’ names

The –F option changes the field separator on the command line. The \t is an Escape Sequence for a horizontal tab.

awk –F”\t” ‘{ print $1 }’ names

review week five lab assignment2
Review week five lab assignment


An integer used by the UNIX kernel to uniquely identify a process. Just as the US government passes out Social Security Numbers to uniquely identify each individual, Linux assigns each process a unique number as an identifier. This number is called the process ID or PID.

When a process is started, it is given the next available PID, and when it terminates, its PID is released for eventual re-use. To determine the PID of any process belonging to you, enter the ps command at the prompt.

review week five lab assignment3
Review week five lab assignment

Keys & Values

%colormap = (“12”, “gray”, “19”, “black”, “30”, “red”);

@codes = keys %colormap; # codes array contains just codes

@colors = values %colormap; # colors array contains the colors

# Printing things out (

while (($key, $value) = each(%colormap)) {

print $key, “, “, $value, “\n";


Executing the loop prints:

30, red

19, black

12, grey

review week five lab assignment4
Review week five lab assignment


Signals are a form of process communication. Because they can come from another process, the kernel or the process itself, they might be better thought of as events that occur as a program runs. A crude example might be the bell most of us remember from our early days in school; when the bell rang, we reacted by switching from playful children to industrious students.

review week five lab assignment5
Review week five lab assignment


The kill –l command will display the signals available on your system.







review week five lab assignment6
Review week five lab assignment


For each signal there is a default action, almost all of which terminate the process. For most signals, a program may specify another action—this is called catching or handling the signal—or may specify that no action occurs, which is called ignoring the signal. The signal SIGKILL cannot be caught or ignored; it always terminates processes.

review week five lab assignment7
Review week five lab assignment

kill command

Used to send a signal to another process.

The kill command is used on Linux and other UNIX-like operating systems to terminate processes without having to log out or reboot (i.e., restart) the computer.

Format: kill [signal or option] PID(s)

kill -l

kill –l TERM

kill –l KILL

review week five lab assignment8
Review week five lab assignment

kill command

To determine the PID of any process belonging to you, enter the ps command at the prompt.

The ps command will print, for each of your processes, a line containing the process's PID, the amount of time the process has used and the command with which the process was started

This script is used to execute the make command which in turn will call the makefile. -> make -> makefile

review week five lab assignment10
Review week five lab assignment

Define make command:

The make utility is a software engineering tool for managing and maintaining computer programs. Make provides most help when the program consists of many component files. As the number of files increase in a project, so to does the compile time, complexity of compilation. The likelihood of an error occurring with human(s) manageability is high.

review week five lab assignment11
Review week five lab assignment

Define the makefile:

Make goes through the makefile (descriptor) file first starting with the target it is going to create. Make looks at each of the target’s dependencies to see if they are listed as targets. It follows the chain of dependencies until it reaches the end of the chain and then begins backing out and executing the commands found in each target's rule. Actually every file in the chain may not need to be compiled. Make looks at the time stamp for each file in the chain and compiles from the point that is required to bring every file in the chain up to date. If any file is missing it is updated if possible.

review week five lab assignment12
Review week five lab assignment

Makefile Components

  • Comments within a makefile (#)
  • makefile continuation lines (\)
  • Rule tells make both when and how to make a file
  • Dependency Line is a line with a colon (:) contains the make command which calls the makefile. The script is located in the /tmp directory.

  • Demonstrate makefile script under ~dandrear/temp (
review week five lab assignment13
Review week five lab assignment

Key Points about the makefile

  • Makefile recompiles all source files for an entire project.
  • Makefile recompiles only those files that have different time stamps.
  • Bottom up control flow.
  • Rules are shell commands.
review week five lab assignment14
Review week five lab assignment

Key Points about the makefile

The file names used in this example have been abbreviated for simplicity.

C++ compilations end in .cpp suffix.

The .c suffix extension causes the C compiler to be invoked.

The .o suffix represents a object file.

The .h suffix represents a header file.

The g++ is a compiler, and not a preprocessor.

The G++ builds object code from your C++ program source.

The –c option, compiles source to object code.

The –o option, compiles object code.

review week five lab assignment15
Review week five lab assignment

Other software products that perform similar bundling operations

- ANT developed by Apache Jakarta

- ANT2 supplied from the Free Software Foundation which is part of Red Hat.

What is a dependency between source files?

main.cpp  employee.cpp  address.cpp

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 are the differences between a makefile and a shell script?

The rules in a makefile are executed based on dependency, and not sequential order. Scripts execute in sequential order.

review week five lab assignment16
Review week five lab assignment

Target : Dependencies (prerequisites)

<tab> Rule

prog: a.o b.o c.o

g++ -o a.o b.o c.o

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

g++ -c c.y

mv y_table.c c.y

review week five lab assignment19
Review week five lab assignment

Key Points About Perl

  • Dynamic typing
  • Dynamic allocation of memory for arrays and hash tables
  • Both procedural and object oriented programming capabilities
  • Rich third party software and use of modules
review week five lab assignment20
Review week five lab assignment
  • Regular expression (a.k.a. regex or regexp)

Is a pattern that describes a certain amount of text. A basic regular expression could be the single character, e.g.: a

Jane is a women.

It will match the first occurrence in the string. If succeeding matches are desired, the regex engine must be instructed to do so.

review week five lab assignment21
Review week five lab assignment

Regular Expression Special Characters

* Open square bracket [

* Backslash \

* Caret ^

* Dollar sign $

* Dot .

Pipe symbol |

Question mark ?

Asterisk *

* Plus sign +

Opening and closing round brackets ( )

review week five lab assignment22
Review week five lab assignment

Awk Script

# Author: Bob D'Andrea

# Script name: awksrc

# Command line awk -f awksrc test.txt

# Command line: awk -f awksrc

/^$/ { print "This is a blank line." }

/[0-9]+/ { print "That is an integer." }

/[A-Za-z]+/ { print "This is a string." }

review week five lab assignment23
Review week five lab assignment
  • Perl Hash table is an unordered set of scalars, accessed by some string value that is associated with each scalar.

Keys are 12, 19, and 30.

Values are gray, black, and red.


“12” => “gray”,

“19” => “black”,

“30” => “red”,);

%colormap = (“12”, “gray”, “19”, “black”, “30”, “red”);

%members = (John => "father", Paul => "son", Marie => "daughter");

review week five lab assignment24
Review week five lab assignment

Define Comma – arrow:

The comma-arrow (=>) operator is used to initialize the %members hash variable in the previous slide lines of code. The left side of the comma-arrow operator is expected to be a simple string and therefore it is not necessary to be quoted.

week six expected outcomes
Week six expected outcomes

Upon successful completion of this module, the student will be able to:

  • Create makefile 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
Next lab assignment

Installing software under UNIX is not always straightforward and easy. System administrators must be familiar with the layout of the file system. During a software installation, the possibility exists that the system could panic and/or have a hard disk failure.

next lab assignment1
Next lab assignment

Installation Software Package Methods

Package manager

- What are the tasks of a package manager? - The version of UNIX dictates which package manager will be used.

- Many Linux versions utilize the Debian Package Manager.


- The utilization of makefiles or shell scripts to automate the install as much as possible. - On occasion, the installation of software is done by sending the source code to the site.

- What steps are required to install a new software version?

- How is a “configure” script utilized?

next lab assignment2
Next lab assignment

Installation Software Package Methods

Package manager

- Linux uses yum and rpm as there package manager.

- Software has to be set or identified to use rpm. Otherwise, the software is configured manually.

next lab assignment3
Next Lab Assignment






next lab assignment4
Next Lab Assignment

Midterm Exam Outline has been email to all students.

Midterm Exam will be October 15 through 20. If there are any problems taking the exam, call me at 614.519.5853.

Thank you,

break out problems
Break-out problems
  • touch command
  • dot command
  • dot dot command
  • What function does the makefile provide a project?
  • What are the two parts of a dependency rule?
  • What language is used for writing makefile rules?
  • What two methods are used for installing software packages?
  • What is a regular expression
  • American National Standard Institute (ANSI)
upcoming deadlines
Upcoming deadlines

Lab Assignment 6-2 is due October 21, 2012

Lab Assignment 6-1 is dueOctober 28, 2012

Lab Assignment 7-1 (midterm) has to be completed by October 21, 2012.

questions and answers
Questions and answers
  • Questions
  • Comments
  • Concerns
  • Are there questions regarding the mid-term outline?
  • After class I will help students with their scripts.