The goal of the following assigned work is for the student to become familiar with some of the UNIX functions that could be used in real-time computing.
The assigned work should be submitted in terms of a fully documented piece of C source code. Other explanatory documentation should not be needed, ie. all documentation should be enclosed in /* */ comment delimiters. Also, submit the output that would result from running your program. You may be asked to show your code running on your favourite computer.
Topic: Signals Due: November 27 before 15:30
Write programs to catch a signal from each of the following categories:
Topic: Interprocess Communication Due: November 20 before 15:30
Based on your previous process control program, have the child(ern) and parent communicate with each other (bi-directional communication).
Topic: Process Control Due: November 13 before 15:30
Write a program that will create one or more child processes from within a parent process. I do not care what the processes do but they should run for a time long enough to be observed on the system. The children do not need to communicate between themselves or the parent process. All children should terminate normally before the parent. Once the parent has determined that all the children have terminated, the parent must terminate normally. The print messages should not be garbled and nothing should be assumed. It would be nice if the program could show me all the relevant process identifiers and process status without me having to type anything in a seperete window.
The goal of the following assigned work is for the student to read up on some areas related to the course and write a clear explanation of the topic. Avoid nitty gritty details. You can learn those later if you ever need them.
Most assigned work should be submitted in the form of a couple of pages of written text (exclusive of figures and tables). I prefer a paper copy but if necessary a UNIX path, email or web page are acceptable. In these later cases I would prefer LaTeX, although postscript would be acceptable.
Topic: Individual Topics on Computer Processors Due: November 6 before 15:30
Trevor - Pentium/Pentium Pro Anthony - Intel 486 Rob - PARISC Kalen - Alpha Chip Bryan - IBM RS6000 Phil - MIPS Processor (RS4000, etc.) Norm - Sparc Processor
Topic: Individual Topics on Microprocessors Due: October 30 before 15:30
Trevor - Motorola DSP (5600/9600?) Anthony - Transputer Rob - PowerPC Kalen - Some old processor (eg. Z80, 8080, etc.) Bryan - Analog Devices (ADSP) Phil - Motorola 68000 Series (eg. MC68030) Norm - Texas Instruments DSP (TMS320C)
Topic: Individual Topics in Readout Electronics and Triggering Due: October 23 before 15:30
Trevor - Charged Coupled Devices (CCD) Anthony - Time-to-Amplitude Converters (TAC) Rob - LUTs, CAMs, PALs, FPALs Kalen - Switched Capacitor Arrays (SCA) Bryan - Constant Fraction Triggering (CFD) Phil - Analog-to-Digital Converters (ADC) Norm - Field Programmable Gate Arrays (FPGA)
Topic: Questions on Readout Electronics and Triggering Due: October 11 before noon
The Questions.
Topic: Individual Topics in Readout Electronics Due: September 30 before 15:30
Trevor - Logic Families: TTL, ECL, CMOS, etc. Anthony - Signal Transmission in Cables Rob - The Transfer Function of a Bipolar Shaper Kalen - Fiber channel Bryan - High-Performance Parallel Interface - HIPPI Phil - Scalable Coherent Interface - SCI Norm - Asynchronous Transfer Mode - ATM
Topic: Some Common "Buses" used in Experiment Data Acquisition Due: September 18 before 15:30
Please read up on the following bus system and write down the general ideas in the format of an introduction for a beginner whom would want to know what the system is all about.
Since there are more students than "common" systems I suggest the following allocation.
NIM (Kalen/Qing) CAMAC (Rob/Bryan) FASTBUS (Phil/Anthony) VME (Norm/Trevor)
If you want a different allocation or system please attempt to work it out amongst yourselves. Talk to your partner and divide up the work; all good practice for being a HEPist. You might want to ask me for reading material since these systems are not what textbooks are made of.
Bryan - (done) Talk on Trigger and Data Acquisition at LHC Rob - (done) Talk on Distributed Operating Systems Rob - Dead-time study with random arrival and constant processing times Kalen - Write your own version of the popen/pclose UNIX system functions
Douglas M. Gingrich (gingrich@phys.ualberta.ca)