Subject: Test message + Assn 1 (This message is being sent to all CPSC 422/622 students) This message is being sent to verify that the mailing list is complete. If you receive it and are in the class, do nothing!! If you receive it and have dropped the class let me know and I'll drop you from the list. If you don't receive it you should contact me ;-). ------------------ The assignment 1 specification is now available. See assn1.s03 mw Subject: Assignment 1 (This message is being sent to all CPSC 422/622 students) The specification for assignment 1 is now available in assn1.f02 It is due at 11:59 pm on 6 September. Note that 1) This is an INDIVIDUAL assignment for ALL students. 2) There are different requirements for CPSC 422 and CPSC 622 students. mw Subject: Assignment 1 (This message is being sent to all CPSC 422/622 students) There is a slight, but eminently surmountable obstacle, that you may perceive in working on assignment 1. Process 1 on a Sun system always exists, but if you do: ls /proc/1 you will get /proc/1: Permission denied Which simply means you are not allowed to read the directory. You ARE however allowed to read the unprotected files IN the directory. This can be demonstrated by running cat /proc/1/usage | od -X Recall that the file maps a binary structure and so od -X is used to convert it to hex dump format. You will get: 0000000 00000000 00000001 0005c44d 01ac8a91 0000020 00000011 35583248 00000000 00000000 0000040 0005c43b 07d63479 00000000 02625a00 0000060 00000000 07270e00 00000000 00000000 0000100 00000000 00000000 00000000 00000000 * 0000140 0005c43a 3a699d00 00000000 00000000 0000160 00000000 00000000 00000000 00000000 * 0000240 00000000 00000000 00000000 00000057 0000260 00000000 0000006a 00000001 00000000 0000300 00000000 000005d5 0000063d 0000000a 0000320 0000773e 002fda6f 00000000 00000000 0000340 00000000 00000000 00000000 00000000 * 0000400 Subject: C++ entusiasts (This message is being sent to all CPSC 422/622 students) Apparently the header files I specified do not include a proper header for g++ compilation of read(). The Solaris man pages suggest but that has been shown not to work with g++. It might or might not work with solaris CC. As an OS guy the number of lines of C that I have written literally exceeds 100,000. The number of lines of C++ exceeds 100. Hence you would be correct in assuming I might not be an excellent source for C++ advice! Nevertheless I have increased my C++ output from 108 to 115 lines tonight! This function does compile w/o complaint on a solaris platform with g++. The basic idea is to provide (a legit) prototype for "implicitly declared" functions. int read(int fd, char *buf, int len); int myfun(char *buf) { int fd = 0; int len = 100; read(fd, buf, len); } Note well: The above example is NOT INTENDED to be a useful element of the assignment. It just shows how to obtain a clean compile of a call to the "read" function. mw Subject: Time printing (This message is being sent to all CPSC 422/622 students) Note that the "time" elements of the usage structure (pr_utime and friends) ARE THEMSELVES STRUCTURES. printf() with the %d format code only works on ints. Therefore to get the time printing to work correctly you need to use the individual elements of timestruct_t. In anticipation of the next question: How do I find where timestruct_t is defined? The "grep" command is your friend. cd /usr/include or cd /usr/include/sys grep timestruc_t *.h | more Subject: Football Tix for Sale (This message is being sent to all CPSC 422/622 students) (Sorry about sending the previous message for a second time what I really meant to send was this advertising spam!) 4 Tickets for La Tech game at 1:00 pm this Saturday. 2 on front row of upper deck. 2 more on the 4th row (from front) of upper deck in same section. $18 each for front row $15 each for 4th row. Please see me if interested. mw Subject: Assignment 2 available (This message is being sent to all CPSC 422/622 students) See assn2.f02 in the usual directory Subject: Assignment 2 available (This message is being sent to all CPSC 422/622 students) There was a (now fixed) typo in assn2.f02. Where it said discard.3 it should have said discard.2 ---------------- Hi, could you forward the following to Professors, Graduate Students, and undergrads within the Computer Science and ECE Departments? I'm a member of CLUG [Clemson Linux Users Group] that is participating in this event. *** Wednesday, at 7pm, CLUG will feature an introduction session for students and faculty interested in learning more about linux. We will meet in Jordan G33 for the session and it should take no longer than an hour. ----------------- mw Subject: Assignment 2 graded (This message is being sent to all CPSC 422/622 students) I can't seem to type 3 digits correctly today -- what I meant to send was this: Assignment 2 grades will be sent out shortly. You will receive a report that contains the output generated by your program and a list of "itemized deductions". These were graded by me and so please DON"T bother the TA with questions and/or complaints on the grading procedure. If you don't get a report it means I don't think you turned in the assignment. Subject: Yes, I meant assignment ONE grades (This message is being sent to all CPSC 422/622 students) mw Subject: Assn 2 "Optimizations" and missed quizzes (This message is being sent to all CPSC 422/622 students) I have received a few questions regarding "improvements" or "optimizations" to the suggested strategy in assignment 2. I definitely don't reward them with extra points and I don't really encourage them. For example, from a CPU time perspective, <> the fastest approach would be a single process (no pipes and no forks) which consumed the data in 64KB chunks. That would approach would also earn a big time deduction since the
objective here is to demonstrate proficiency with cooperating processes communicating through pipes -- and not to build a world class fast e-mail filter. I am prone to deduct points for major "un"-optimizations though. An example of that would be reading a 20 byte line and then searching all 16384 bytes in the buffer for the word From. -------------------------------------------------------- A few students appear to be heading for trouble in the missed quiz category. If you have missed 3 or more, you fall into that category. There are approximately 40 classes/quizzes in the semester and if you miss 20% of them (that is 8) you WILL be dropped -- even if it is Nov 25 and you have been "unavoidably detained" by the Clemson PD for excessive celebration after the 75 - 13 defeat of the Gamecocks on the 23rd. Futhermore, forced drops after the last day to drop <> result in an "F" for the course. Thus if for whatever reason you feel like there is a reasonable possibility that you will not be able to make it to 8 quizzes -- please save yourself an "F" and DROP NOW!! Subject: Assn 2 Clarification (This message is being sent to all CPSC 422/622 students) If a single line has more than one "@ word" it is desirable to forward only the first one. However, since I didn't state that earlier, I will not deduct if you include all of them. Subject: Assn 2 evaluations (This message is being sent to all CPSC 422/622 students) I will be sending out assignment 2 evaluations shortly. As usual I will be glad to demo all failures if you wish to come by my office. If you can demo that the cause of some type of massive failure was my failure to run your program "correctly" I will be glad to reduce your functionality deduction and give you a failure to follow the specs deduction (which might be smaller). I will employ the "Malloy rule" here. All programs submitted for reevaluation will be subject to a <> reevaluation. If, in arguing for an improved grade, you cite the grade awarded to another team then both YOUR program and the program of the OTHER TEAM are subject to re-evaluation. A few people still seem to be relatively clueless when it comes to the meaning of: Your program is to read an e-mail file <<>> Since this was the second try at this, failure to do so earned a -10 in failure to follow specs. Future programs will also have to read from the standard input and so if you still don't understand how to do it PLEASE take the time to let me explain it to you. If you do understand but were just careless, hopefully the -10 this time will remind you to be more careful in the future! (Whereever I detected this failure and deducted for it, I also attempted to fix it before testing your program.) Subject: Assn 3 (This message is being sent to all CPSC 422/622 students) The pthread producer consumer assignment is now available in assn3.f02 Subject: Test reminder + program hints (This message is being sent to all CPSC 422/622 students) The first hour test will occur in class Wed, Oct. 9. Attendance is mandatory. No makeups will be given. ---- Be sure when building your pthread program to include the pthreads library as shown below. If you fail to do so you will see no error nor warning but your threads will just not work. gcc -g -o a.out program.c -lpthread For testing your buffer management logic without having to run in threaded mode I recommend: #ifdef TEST_MODE reader(); formatter(); writer(); #else pthread_create(.... : pthread_join( #endif The sequential version of your program should work correctly <<>> the number of characters in the input file is less than the size of your smallest buffer. Subject: Test reminder + this semester's quizzes (This message is being sent to all CPSC 422/622 students) The first hour test will occur in class Wed, Oct. 9. Attendance is mandatory. No makeups will be given. ---- Copies of this semesters quizzes are in all.f02 in the class directory Subject: Web sites discussed in class The Register is at: www.theregus.com The DMCA story "If I tell you I'll have to kill you" is at: http://theregus.com/content/4/26656.html The Red Hat Page is at: http://rhn.redhat.com/errata/RHSA-2002-158.html Scroll to the bottom and click on the references link to get to the page where you have to declare yourself to be neither a citizen <> of the US which is at: http://www.thefreeworld.net/non-US/ If you feel that being fined and imprisoned for SIMPLY READING ABOUT copy protection schemes is Un-American, tyrannical, and in many ways more frightening than Saddam Hussein you can reach your friendly neighborhood senator at: http://www.senate.gov But don't expect any action unless you accompany your complaint with a six figure campaign contribution to the (D/R)NC!! For additional information on our senator's newest creation: Imagine a world where all digital media technology is either mandatory or forbidden -- Senator Fritz Hollings and a cabal of Hollywood entertainment interests are cooking up a set of laws aimed at conjuring this apocalyptic world into existence. Today, Senator Hollings introduced the alarming Consumer Broadband and Digital Television Promotion Act (CBDTPA), which will give Hollywood plutocrats the power to stall new digital media technologies for a year, negotiating a phony "consensus" at lawyer-point with technologists. This "consensus" will receive the force of law, prescribing which user-hostile features are mandatory and which innovative features are forbidden. CBDTPA is derived from the draft SSSCA (Security Systems & Standards Certification Act), the subject of our last alert. Do a Google search on "Digital Media"+Hollings.. or go to http://www.freedom-to-tinker.com/archives/cat_fritzs_hit_list.html to see some devices that will/do fall under these laws: e.g. Musical toilet training "potties" that play a tune when a liquid is deposited therein. "Shop with me Barbie" musical cash register Intercom systems on airliners Remote controlled "fart" sound device All computers ad infinitum et nauseam Subject: Assn 4 (This message is being sent to all CPSC 422/622 students) See assn4.f02 Subject: Reminder + Assn 4 (This message is being sent to all CPSC 422/622 students) I will be out of town Wednesday and there will be no class. The quiz Friday will cover last Friday's material. For the memory management assignment you are permitted to use malloc (or new) <>. You are permitted to statically allocated your bitmap or your table of pde's. You may assume that the size passed to xm_init() will never exceed 16 * 1024 * 1024 (16MB). You may also assume you will not need more than 100 PDE's if you use that approach. If you use the bitmap approach, you will need someplace to hide and remember the size of each partition allocated. The easiest way to do this is to borrow from the tagged block approach and for each xm_alloc() request allocate 4 more bytes than are actually requested. Then save the size in the extra 4 bytes just below the start of the area returned to the requestor. Subject: Assn 4 (Individual and/or Team effort reminder) (This message is being sent to all CPSC 422/622 students) 622 students MUST work individually 422 students MAY work in two person teams but should use discretion in doing so. e.g. Don't diagram your solution on the whiteboard in a public lab Don't engage in vociferous discussions/arguments with your teammate in a public lab. Don't discard code listings in public labs DO make sure that your work lives in read protected directories! Thank you! mw Subject: Reminders.. (This message is being sent to all CPSC 422/622 students) 1 - The 2nd hour test will be given on Monday Nov 25. (Test coverage will start with the material on message passing and will go through this Friday's class.) 2 - The course evaluation will be done on Monday Dec 1 (so no quiz that day). Subject: test2 key bug (This message is being sent to all CPSC 422/622 students) There was a bug (now fixed) in test2key.f00. The answer to 19.b. should be 31, 44 (not 31, 33) Acks to Chris Harper for pointing this out. Subject: Old quizzes (This message is being sent to all CPSC 422/622 students) All of this semester's quizzes are now in all.f02 Subject: test2 key (This message is being sent to all CPSC 422/622 students) See test2key.f02 Subject: old quizzes (This message is being sent to all CPSC 422/622 students) All of this semester's quizzes are now in all.f02 I will be available in the G-33 at 11:00 on Tuesday to answer any questions that might arise.