(Latest Revision: Wed Nov 1 21:04:31 PDT 2017 )
- DIRECTIONS FOR GETTING STARTED -
- GETTING COPIES OF THE FILES WHERE THEY NEED TO BE -
Login to a lab mac
Go to Finder (First Icon on the Left in the 'Dock')
Go to Finder preferences
In preferences, go to the top where it says "Sidebar" and click on that
Under Favorites, make sure there's a check mark next to the 'little house'
(This makes sure that an icon representing your home directory will be
displayed in the sidebar when you select files.)
Click on "General" and make sure to select your home directory (little house)
in the drop-down menu under "New Finder windows show:"
Click on "Advanced"
Make sure "show all filename extensions" is checked
Dismiss the preferences window by clicking on the red dot
Start up TextEdit (Blank paper and pen icon in the Dock,
or Finder Window -> Applications -> TextEdit.app)
Go to preferences.
Click on "NewDocument" at the top
Make sure "Plain Text" is selected under "Format"
Also make sure "correct spelling automatically is un-checked"
Click on "Open and Save" at the top
Make sure that 'Add ".txt" extension to plain text files' is NOT checked.
Dismiss the preferences window by clicking on the red dot
Start up Safari or Firefox
Create a new file with TextEdit (File -> New)
Navigate in the web browser to the assignment cover page
https://www.cs.csustan.edu/~john/Classes/CS3750/Prog01/
Select "Program Skeleton (Shell)" on the assignment cover page.
Follow the directions to select and copy the text to the clip board
(Edit -> Copy works, or command-c on keyboard)
Paste the clipboard contents into the new file window (Edit -> Paste, or command-v)
Enter the save command in TextEdit (File -> Save)
Click on the sidebar on the 'little house' icon for your home directory
Click on the bottom left where it says "NewFolder"
Type Prog01 or some such name for the name of the directory and click on the "Create" button
In the "Save As" panel at the top, type sequence.cpp for the name of the file.
Then click on bottom right where it says "Save"
Create three more files with TextEdit, and using procedures like you did for
sequence.cpp, make copies of files sem.cpp, sem.h and Makefile.
(Those are the exact names the files need to have.)
Save all the files to the same directory where you saved sequence.cpp
(Of course, you only need to create the directory once.)
- COMPILING AND RUNNING THE PROGRAM -
Start up Terminal (Click on the icon that looks like a computer screen in the Dock,
or Finder -> Applications -> Utilities -> Terminal.app)
'cd' to the directory where you put the files - you would enter
cd Prog01
if you named the directory Prog01
Enter the ls command
The shell should print the names of all the files - like this
john@lucifer: ls
./ Makefile sem.h
../ sem.cpp sequence.cpp
now enter the single command
make
You should see something like this
john@lucifer: make
g++ -c sequence.cpp
g++ -c sem.cpp
g++ -o sequence sequence.o sem.o
john@lucifer:
(except your shell prompt is something different from "john@lucifer")
Now do another ls
john@lucifer: ls
./ Makefile sem.h sequence sequence.o
../ sem.cpp sem.o sequence.cpp
john@lucifer:
The file called sequence is your compiled program. Enter its name to execute it
Something like this happens
john@lucifer: sequence
Welcome to The Child Thread Workplace!
Mother Begins Spawning Threads.
Child # 1 has completed its assignment.
Child # 5 has completed its assignment.
Child # 4 has completed its assignment.
Child # 2 has completed its assignment.
Child # 0 has completed its assignment.
Mother Finishes Spawning Threads.
All children have now reported that they finished.
The value of the thrds_finished counter is: 1.
BAD COUNTER VALUE!! - Critical Section Problem Failure!!
Mother exiting ...
Child # 3 has completed its assignment.
john@lucifer:
- EDITING THE PROGRAM -
You will want to edit the sequence.cpp file.
If you find sequence.cpp using the Finder and double click
on its icon, the Xcode application will probably open it.
You can use Xcode to edit sequence.cpp. (I don't particularly
like that idea.) Another option, which I personally like better,
is to use TextEdit or some other simple text editor to edit sequence.cpp.
If you have an editor you like, feel free to use it. To use TextEdit, just
go to the File menu in TextEdit, choose "Open", navigate to sequence.cpp in
the browser, and click on "Open" in the bottom right of the window.
Then you can make whatever changes you want.
Pico is an editor that you can use from a terminal window, either the Terminal app
or the terminal window you get when you do remote access from, say, your computer
at home.
(So pico is awesome because it allows you to edit the file on the remote
lab computer while you are at home.)
To run pico, cd to the directory containing sequence.cpp, and then enter
pico sequence.cpp
Pico will start up, and you can edit the file. There will be a little menu at the
bottom of the screen telling you what the editor commands are that you need to know.