1 Operating Systems Prof. Dr. Marc H. Scholl DBIS U KN Summer Term IPC may often be used for both
Full text
(2) IPC: Overview. PL vs. OS Functionality. • Synchronization. ".
(3)
(4) # ■. • Semaphores, .... ■.
(5)
(6) #"!# # " !!$!" !""!"
(7) #"!# #!
(8) #%"!$!"! ! . • Signals. . • Communication. . • memory-based • shared memory.
(9) # . • message-based • synchronous vs. asynchronous • uni- vs. bidiretional. . #!
(10) #. • buffered vs. unbuffered Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 5. Mechanism for processes to communicate and to synchronize their. " !H. " #" Operating Systems • Prof. Dr. Marc Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. Can a link be associated with more than two processes?. resorting to shared variables. How many links can there be between every pair of communicating. IPC facility provides two operations:. processes?. . send(message) – message size fixed or variable. What is the capacity of a link?. . receive(message). Is the size of a message that the link can accommodate fixed or. If P and Q wish to communicate, they need to:. establish a communication link between them. . exchange messages via send/receive. 6. How are links established?. actions Message system – processes communicate with each other without. . . variable? Is a link unidirectional or bi-directional?. Implementation of communication link . physical (e.g., shared memory, hardware bus). . logical (e.g., logical properties). Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Silberschatz, Galvin and Gagne ©2005. 7. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Silberschatz, Galvin and Gagne ©2005. 8.
(11) indirect. direct Processes must name each other explicitly: . send (P, message) – send a message to process P. . receive(Q, message) – receive a message from process Q. Properties of communication link. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Silberschatz, Galvin and Gagne ©2005. 9. Messages are directed and received from mailboxes (also referred to. . Links are established automatically. . A link is associated with exactly one pair of communicating processes. . Between each pair there exists exactly one link. . The link may be unidirectional, but is usually bi-directional. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Silberschatz, Galvin and Gagne ©2005. Operations. as ports). . create a new mailbox. . Each mailbox has a unique id. . send and receive messages through mailbox. . Processes can communicate only if they share a mailbox. . destroy a mailbox. Properties of communication link. Primitives are defined as:. . Link established only if processes share a common mailbox. . send(A, message) – send a message to mailbox A. . A link may be associated with many processes. . receive(A, message) – receive a message from mailbox A. . Each pair of processes may share several communication links. . Link may be unidirectional or bi-directional. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 10. Silberschatz, Galvin and Gagne ©2005. 11. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Silberschatz, Galvin and Gagne ©2005. 12.
(12) Mailbox sharing . P1, P2, and P3 share mailbox A. . P1, sends; P2 and P3 receive. . Who gets the message?. Message passing may be either blocking or non-blocking Blocking is considered synchronous. Solutions. . Blocking send has the sender block until the message is received. . Blocking receive has the receiver block until a message is available. Non-blocking is considered asynchronous. . Allow a link to be associated with at most two processes. . Non-blocking send has the sender send the message and continue. . Allow only one process at a time to execute a receive operation. . . Allow the system to select arbitrarily the receiver. Sender is notified who the receiver was.. Non-blocking receive has the receiver receive a valid message or null. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Silberschatz, Galvin and Gagne ©2005. 13. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Silberschatz, Galvin and Gagne ©2005. 14. Queue of messages attached to the link; implemented in one of three. ways 1. Zero capacity – 0 messages Sender must wait for receiver (rendezvous). Message-Based Communication. 2. Bounded capacity – finite length of n messages Sender must wait if link full 3. Unbounded capacity – infinite length Sender never waits. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Silberschatz, Galvin and Gagne ©2005. 15. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 16.
(13) Unix Pipes. Command Chaining. • Two variants:. • Standard-In and -Out of a single process. • unnamed pipes.
(14)
(15)
(16)
(17)
(18)
(19) . • named pipes. • Unidirectional (exception: streams) • Synchronization via blocking.
(20)
(21)
(22)
(23)
(24)
(25)
(26) .
(27)
(28)
(29)
(30)
(31)
(32)
(33) . • Command chaining. • writer blocks when pipe is full. . • reader blocks when pipe is empty. • API: like files • Main use in Unix: Command chaining.
(34) . . . . Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 17. . Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Unnamed Pipes. 18. Pipes: Interface. • unidirectional link between two processes • pipe created by parent (or ancestor) process. #,%)# ($## )# ($#'#" %%. • file descriptors for write-(in) and read-(out) end of pipe inherited from parent process. !$' +&(. • Use: • whenever processes in a joint hierarchy need to communicate. &. • Advantage: no cleanup on process termination necessary. )%. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009.
(35) . 19. &"(& &"(& &#' &&-' &&0'' ""( ' &%($&#(#(-% #(1& ##&%) &"(& ' &%($&'.) '!''###' &"(& ' &%($&' #'&%#'(# '&#+&#'$!!# &"(& ' &%($&' #'&%*$#"! '#+&#'$!! &"(& ' &%($&#' #'&%'*&)## +&#'$!! &"(&
(36) !!'(#& )''&$.'''"( %*&)##+&#'$!!
(37) 1&(#&#. '&)# #%&.)#. ##&%'!''# (###%'&#. (#)'#&%)'!'#. (#&)'.+(#&#"( %*&##. +(&&"(&. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. 20.
(38) Example: Producer -- Consumer. Producer Child Process.
(39) .
(40) #include <stdio.h>. void main() { int fds[2]; pipe(fds);. #define BUFLEN 80 #define NSEKUNDEN 3. if (fork() == 0) { dup2(fds[1], 1); close(fds[0]); printf("Kind 1 bei execlp\n"); execlp("./erzeuger", "erzeuger", 0); } else if (fork() == 0) { dup2(fds[0], 0); close(fds[1]); printf("Kind 2 bei execlp\n"); execlp("./verbraucher", "verbraucher", 0); } else { close(fds[0]); close(fds[1]); wait(0); wait(0); }. void main (int argc, char* argv[]) { char* text; char buffer [BUFLEN]; int anzsaetze = 25; int satznr; int anz; /*printf("Kind 1 meldet sich"); funktioniert nicht! */ text = "Kind 1 meldet sich\n"; write(1,text,18); /*Text in Pipe schreiben*/ for (satznr = 1; satznr <= anzsaetze; satznr++) { anz=sprintf(buffer, "==> Erzeuger %d Satznr. %6d ##",getpid(),satznr); write(1, buffer, anz); } /*write(1,"ENDE\0",5); Wozu dient diese Zeile?*/ sleep(NSEKUNDEN);/* -> zur Beobachtung */ close(1); exit(0); }. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. 21. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Consumer Child Process. 22. Named Pipes (FIFOs) • Name appears as a special „file“ in the filesystem (yet, no data is ever stored on disk!).
(41)
(42) #define BUFLEN 30 #define EOF 0 #define NSEKUNDEN 5. • unidirectional link between two processes • created by arbitrary process. void main() { char buffer [BUFLEN+1];. • carries standard file permissions • every process knowing the name can connect (permissions allowing). buffer [BUFLEN] = 0; /*String abschliessen mit NULL */ printf("Kind 2 meldet sich\n"); while (read(0, buffer, BUFLEN) != EOF) { printf("Verbraucher %d : %s \n",getpid(),buffer); }. • Use:. sleep(NSEKUNDEN);/* -> zur Beobachtung */ printf("\nVerbraucher hat ganze Pipe geleert\n"); exit(0);. • whenever arbitrary processes need to exchange data. }. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. • disadvantage: cleanup upon process termination necessary Glatz ©2005. 23. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 24.
(43) Named Pipes: Interface. Example: Creator Process (Producer). %!-!'+%"*!&%%
(44)
(45) +%"*!&%)%$ $"!&. &'%. #&). ,(!* (. ($*( ($*(
(46) '!'%$ ($*(
(47) $&+)(,(!* +%*!( *!+%% 3"
(48) ##)&")&%)*. ($*(
(49) '!'%$ ($*(
(50) #0%+%)(* .%+(#)%) (!%#)% 3"
(51) *!)"(!'*&(., ! #( ($*(
(52) *!)"(!'*&(( .+) #!))%%!' 3"
(53) ##)&")&%)*. ($*(
(54) )"(!'*&((.+$ (!%2%*%!' ($*(
(55) )"(!'*&((.+$ )%2%*%!'.
(56)
(57) . ) (!+% !%%%%*!'(.+%. #include <stdio.h> #include <fcntl.h> int main (int argc, char* argv[]) { char * text = "Hallo da!\n"; int fd, wr;. !%%%%*!'3(!% +)2%%. if (mkfifo ("./pipe", 0700) == 0) printf("process 1: named pipe created successfully\n"); fd = open ("./pipe", O_WRONLY); wr = write(fd, text, strlen(text)); if (wr > 0) printf ("process 1: %d byte written to pipe.\n", wr); close(fd); printf ("process 1: all set - good bye!\n"); exit(0);. !') #!))%. *%!%!%!') (!% *%+)!%(!'+)#)%. }. . Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. 25. Example: Consumer Process. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. 26. Bi-directional Communication ... needs two pipes, one for each direction.
(58)
(59) #include <stdio.h> #include <fcntl.h> #define BUFLEN 80 int main (int argc, char* argv[]) { char* text; char buffer [BUFLEN]; int fd, cnt=0;.
(60) . fd = open ("./pipe", O_RDONLY); do { cnt = read(fd, buffer, BUFLEN); buffer[cnt]=0; if (cnt > 0) printf ("process 2: %d byte read from pipe, text is: %s", cnt, buffer); else printf("process 2: EOF read from pipe\n"); } while (cnt > 0); close (fd); unlink("./pipe"); printf ("process 2: all set - good bye\n"); exit(0);.
(61) .
(62) .
(63) . } Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. 27. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. 28.
(64) Client-Server Operation. Client-Server Messaging w/ Feedback.
(65) . ■. ■. ■. ■. $"+%%)$!
(66) !%&%&'!!%#$'&.
(67) . $"+%%)$!
(68) !%&%&'!$$!& +
(69) &($+!%$! '!-$ &&!&. . '!&"!%)% !&!%#$'&(" $($!
(70) !%&%&'!%!&'!!$($ $($$&!"&)! $&! $($$& &&%'!%%'&&+) !&)"$&!!!&%#$!! !&+'$-.
(71). . !)% $&!-$&$'!%%*%& ! &*#%$)% !! '%'%% -$ %!$ %!$!&&"! '%%!'!!#&)$!.
(72) . Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. 29. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. POSIX Message Queues (1) ■. ■. ■. ()*$)'()5)/)""(
(73)
(74) $ ') $*$ () '5'.()#*$!) %$$ '/*$%'1$$ $'((**
(75) ((**(" (($**- () '), )'
(76) ((**"4($ "*$ $((** $ $(' $ "*$*(((**'*("($ )/$'"%! $$%$"%! $ $() %#$)$ $()""*$$'$ . $' ) *$ "*$(#&$!) + '$ ""( $"'((**(' $, '. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 30. POSIX Message Queues (2).
(77)
(78) .
(79) $,$*$2')'*$()'$/)'"*$$$$(('"( &( ■. Glatz ©2005. Glatz ©2005. ■. ■. ■. 31. )1, ,& *'(+"'&& , )"*)!+&+*()!&)"+"$" %!%'.&) )',('+!)*+1) %/"%$$,& *&1!$ (,)+%/"%$ &1!$-'&$,& & %/"%$$,& * )4**"& &1!$ 0+.3!$) $,& *()"')"+3+ *+"%%+ "&)"!,& *('*"+"'&"&** ,, $"!)"')"+3+&&! )"&1"( "%!)"&"&** ,,.3!$) )"')"+3+&)"! . $'#")&*1.&"!+$'#")&**&!)"&#'&" ,)"))
(80) +"*0*+%",&#+"'&&,&#+"'&")& $"!)+" ."
(81) +"'()+')& *"&)*()+"%($%&+")+. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. 32.
(82) Unix Signals. Some Standard Signals (see <signal.h>). • ... can be considered a very basic communication primitive (... or as a synchronization primitive as well) • A process can send one of a few signals to another. • There are terminating and non-terminating signals • i.e., the process receiving the signal may be (abnormally) ended. • A process may install handlers (pointers to functions to be called) for certain signals. • Unix systems generate a couple of signals automatically • resume after stop, child process changes state, wants to generate output while in background, .... No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16. Name SIGHUP SIGINT SIGQUIT SIGILL SIGTRAP SIGABRT SIGEMT SIGFPE SIGKILL SIGBUS SIGSEGV SIGSYS SIGPIPE SIGALRM SIGTERM SIGURG. Default Action terminate process terminate process create core image create core image create core image create core image create core image create core image terminate process create core image create core image create core image terminate process terminate process terminate process discard signal. 17. SIGSTOP. stop process. 18. SIGTSTP. stop process. 19 20 21. SIGCONT SIGCHLD SIGTTIN. discard signal discard signal stop process. 22. SIGTTOU. stop process. 23. SIGIO. discard signal. Description terminal line hangup interrupt program quit program illegal instruction trace trap abort program (formerly SIGIOT) emulate instruction executed floating-point exception kill program bus error segmentation violation non-existent system call invoked write on a pipe with no reader real-time timer expired software termination signal urgent condition present on socket stop (cannot be caught or ignored) stop signal generated from keyboard continue after stop child status has changed background read attempted from control terminal background write attempted to control terminal I/O is possible on a descriptor (see fcntl(2)). [more on signals: see Assignment 5] Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 33. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 34. Shared Memory • OS offers functionality to allocate shared memory • part of the virtual memory of multiple processes. Memory-Based Communication. • extremely fast communication, since zero overhead involved • mutually exclusive access not guaranteed • extra mechanism, such as semaphore, needed (see last lecture). • Unix, Windows: typically realized via memory-mapped files • application example: see last lecture. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 35. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 36.
(83) POSIX Shared Memory. ■. ■. ■. Shared Memory & Virt. Address Space. ,1$/018151% **0
(84)
(85)
(86) #$%(,($/1(,2,(01#'
(87)
(88) #$%(,($/1(,2,(01#' 0-3($
(89)
(90) % **02&/(%%0/$"'1$0401$+!$,71(&1 $/%8&! /$401$+%2,)1(-,$,
(91) $+$(,0 +$,.$("'$/!$/$("' ,*$&$, /700$#$0&$+$(,0 +$,.$("'$/!$/$("'0%$01*$&$,
(92)
(93) $+$(,0 +$,.$("'$/!$/$("'(,/-5$00 #/$00/ 2+ $(,!*$,#$, $%$/$,5 2%&$+$(,0 +$,.$("'$/!$/$("' 2%*70$,
(94) $+$(,0 +$,.$("'$/!$/$("'*70"'$, ,1$/$00 ,1$.1(-,$, 2&/(%%0/$"'1$ 2%&$+$(,0 +$,.$("'$/!$/$("'0$15$, 1 /1 #/$00$(+/-5$00 #/$00/ 2+$/53(,&$,,("'1& / ,1($/1. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. .
(95) . . . . 37. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. 38. Example: POSIX Shared Memory #include <sys/mman.h> int shmd; void *shmp;. Process Communication Across Machines. // Shared Memory anlegen mit Schreib/Lesezugriffsrechten für Benutzer shmd = shm_open (“/shmem 1“, O_CREAT | O_RDWR,S_IRWXU); // Grösse festlegen auf 16384 Byte if (ftruncate(shmd, 16384) < 0) { /* Fehlerbehandlung */ }; // Ganzen Bereich in eigenen Prozessadressraum einblenden auf Adresse 0 shmp = mmap(0, 16384, PROT_READ|PROT_WRITE, MAP_SHARED, shmd, 0); if (shmp == MAP_FAILED) { /* Fehlerbehandlung */ }; // Erhaltene Startadresse zur Kontrolle ausgeben printf(„Startadresse = %x“, (unsigned long)shmp); // Shared Memory benutzen .. // Shared Memory Einblendung aufheben close(shmd); // Shared Memory Object vernichten shm_unlink(“/shmem 1“);. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. 39. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 40.
(96) Berkeley Sockets as Comm. Endpoints A socket is defined as an endpoint for communication Concatenation of IP address and port The socket 161.25.19.8:1625 refers to port 1625 on host 161.25.19.8 Communication consists between a pair of sockets. . . . . . . . . . . . . . . Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Silberschatz, Galvin and Gagne ©2005. 41. . . . . .
(97) . .
(98) . . . . . . Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. 42. Sockets: Principle of Operation. .
(99) .
(100)
(101) . . . socket(). socket(). bind() listen().
(102)
(103)
(104)
(105)
(106) . connect() accept().
(107)
(108)
(109)
(110)
(111) . read() write(). write() read(). close(). close(). ■. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. .
(112) . Socket Functions.
(113) . . Glatz ©2005. 43.
(114) .
(115)
(116)
(117). .
(118) "
(119) ! "
(120) "
(121) " . " . # . Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. 44.
(122) Socket Addresses ■ ■ ■. ■. ■. ,!(#0 ".#///0.1(01.
(123) &8+%'%2,+2#.3#+"#0#*.,0,(,)) .,0,(,))(#++6#'!&+1+%"1.!&#./0#0.1(01.(,*-,+#+0# #.(#)#5,!(#0/
(124) '+0#.+ +0#.+#0 #.,4 '+(!&'!&0 '+",3/,!(#0/
(125) ,2#)) +#0 +#01/$ #'/-'#)
(126) struct in_addr { u_long }. struct sockaddr_in { short u_short struct in_addr char }; ■. #'/-'#)
(127). s_addr;. /* 32 Bit Hostadresse */. sin_family; sin_port; sin_addr; sin_zero[8];. /* /* /* /*. More Communication Primitives. 16 Bit Adressfamilientyp: AF_INET(=2) */ 16 Bit Portnummer */ 32 Bit Hostadresse */ Unbenutzt */. . struct sockaddr_un { short char };. sun_family; /* 16 Bit Adressfamilientyp: AF_UNIX(=1) */ sun_path[108]; /* Pfad */. [Sockets-Programmbeispiel: siehe Glatz] Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. Glatz ©2005. 45. Remote Procedure Calls (RPC). Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 46. RPC Execution. • a.k.a. Remote Method Invocation (RMI) • allow a process an machine A (client) to „invoke“ a procedure/function/method on machine B (server) • also involves data communication (e.g., input parameters & return values) • depending on the type of that data, „marshalling“ and „unmarshalling“ may be necessary. • Depending on system and language environments, a lot of such mechanisms can be found • if those environments are even different on both ends, crossplatform rpc/rmi becomes a major challenge ... Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 47. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 48.
(128) Marshalling Parameters. Monitors, Rendezvous, etc. • We have come across those in the previous lecture, as highlevel means for synchronization. • They may also be considered (language-dependent) communication tools. • They need to be implemented using more low-level mechanisms, such as the ones we‘ve mentioned here.. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 49. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 50. Intended Schedule 0 1 2 3 4 5 6 7 8 9 10 11 12 13. . Date 20.04. 27.04. 04.05. 11.05. 18.05. 25.05. 01.06. 08.06. 15.06. 22.06. 29.06. 06.07. 13.07. 20.07. 27.07. 12.10.. Lecture Introduction to Operating Systems Systems Programming using C (File Subsystem) Systems Programming using C (Process Control) Process Scheduling Process Synchronization Inter Process Communication Pfingstmontag Input / Output Memory Management Filesystems. Hand out Submission Course reggistration 1. Assignment 2. Assignment 1. Assignment 3. Assignment 2. Assignment 4. Assignment 3. Assignment 5. Assignment 4. Assignment 6. Assignment 5. Assignment 7. Assignment 6. Assignment 8. Assignment 7. Assignment 9. Assignment 8. Assignment 10. Assignment 9. Assignment 10. Assignment. VI. Input/Output. Special subject: Transactional Memory Special subject: XQuery your Filesystem Wrap up session First examination daate Second examination date. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 51. Operating Systems • Prof. Dr. Marc H. Scholl • DBIS • U KN • Summer Term 2009. 52.
(129)
Related documents
The threaded terminal methyl group of the alkyl chain of the 1-octanamine guest is positioned outside the pillararene moiety where it engages in a weak inter- molecular C—H
Specifically, (1) to develop a system that monitors the temperature, humidity & the rear door status of the shipping truck vehicles; (2) to develop a GPS system
With respect to the second equilibrium scenario given in Section C.2.1, recall that it had the deviant policy withdrawn at stage 3, the equilibrium policy honored, and all agents
Councillor Riebeling, JP be appointed to act as second Deputy Member for Mayor Creevey and Councillors Blair, Brown, Jones, Knight, Pember and Williams on the Planning,
List the organization’s five current highest compensated employees (other than an officer, director, trustee, or key employee) who received reportable compensation (Box 5 of Form
A O God the Father, the fountain and source of all goodness, who in loving-kindness sent Your only-begotten Son into the flesh, we thank You that for His sake You have
Our aim was to combine EMA with dietary assessment using food diaries, to study the association between eating contexts and fruit and vegetable con- sumption at the eating
One-bit compressive sensing has extended the scope of sparse recovery by showing that sparse signals can be accurately reconstructed even when their linear measurements are subject