Processes and Threads

• Multiprogramming versus multiprocessing • Kernel data structure: process control block (PCB) • Each process has an address space – Contains code, global and local variables..

[1]  Maurice J. Bach The Design of the UNIX Operating System , 1986 .

[2]  Scott Oaks,et al.  Java Threads , 1997 .

[3]  Jason Maassen,et al.  Adaptive Load Balancing for Divide-and-Conquer Grid Applications , 2006 .

[4]  Dan Tsafrir,et al.  Effects of clock resolution on the scheduling of interactive and soft real-time processes , 2003, SIGMETRICS '03.

[5]  Devang Shah,et al.  Programming with threads , 1996 .

[6]  Renaud C. Regis,et al.  Multiserver Queueing Models of Multiprocessing Systems , 1973, IEEE Transactions on Computers.

[7]  Mor Harchol-Balter,et al.  Analysis of SRPT scheduling: investigating unfairness , 2001, SIGMETRICS '01.

[8]  David Holmes,et al.  Java Concurrency in Practice , 2006 .

[9]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[10]  Edsger W. Dijkstra,et al.  Cooperating sequential processes , 2002 .

[11]  Gudula Rünger,et al.  Task Pool Teams: a hybrid programming environment for irregular algorithms on SMP clusters , 2006, Concurr. Comput. Pract. Exp..

[12]  S. Tucker Taft,et al.  Consolidated Ada Reference Manual Language and Standard Libraries , 2002, Lecture Notes in Computer Science.

[13]  Jason Nieh,et al.  Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler , 2001, USENIX Annual Technical Conference, General Track.

[14]  John G. P. Barnes,et al.  Programming in Ada 95 , 1995 .

[15]  Matteo Frigo,et al.  The implementation of the Cilk-5 multithreaded language , 1998, PLDI.

[16]  Robert B. Ross,et al.  Using MPI-2: Advanced Features of the Message Passing Interface , 2003, CLUSTER.

[17]  Andrew S. Tanenbaum,et al.  Modern Operating Systems , 1992 .

[18]  Michael Allen,et al.  Parallel programming: techniques and applications using networked workstations and parallel computers , 1998 .

[19]  Jan L. Guynes Impact of system response time on state anxiety , 1988, CACM.

[20]  David R. Butenhof Programming with POSIX threads , 1993 .

[21]  Edsger W. Dijkstra,et al.  Hierarchical ordering of sequential processes , 1971, Acta Informatica.

[22]  Teunis J. Ott,et al.  Load-balancing heuristics and process behavior , 1986, SIGMETRICS '86/PERFORMANCE '86.

[23]  Mor Harchol-Balter,et al.  SRPT Scheduling for Web Servers , 2001, JSSPP.

[24]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[25]  Claudia Fohry,et al.  Observations on MPI-2 Support for Hybrid Master/Slave Applications in Dynamic and Heterogeneous Environments , 2006, PVM/MPI.

[26]  Dick H. J. Epema,et al.  Decay-usage scheduling in multiprocessors , 1998, TOCS.

[27]  Per Brinch Hansen,et al.  The programming language Concurrent Pascal , 1975, IEEE Transactions on Software Engineering.

[28]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[29]  Samuel J. Leffler,et al.  The design and implementation of the 4.3 BSD Unix operating system , 1991, Addison-Wesley series in computer science.

[30]  Arie Shoshani,et al.  System Deadlocks , 1971, CSUR.

[31]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[32]  Alan Burns,et al.  Concurrency in ADA , 1995 .