CS4411 Reading List: Week 4

Course Material
Slides used in class is available in the common directory with filenames 04-Concurrency.pdf.

Programming Material
None

Homework Assignment
Answer the following questions: Answers to these questions can be found in the above mentioned slides.
  • What is a process? What is a thread?
  • Understand kernel threads and user-level threads? How the stacks are used in the kernel and in the user address space?
  • Know that higher-level language statements are no atomic and the impact n program execution.
  • What is thread life-cycle?
  • Understand how to implement threads, in particular stack allocation and uses.

Required Reading
Start reading and playing OS/161, System/161 and the toolchain:
While OS/161 and System/161 are for pedagogical purpose, the Hercules system is at a completely different level.
  • Hercules is an open source software implementation of the mainframe System/370 and ESA/390 architectures, in addition to the new 64-bit z/Architecture. Hercules runs under Linux, Windows (98, NT, 2000, and XP), Solaris, FreeBSD, and Mac OS X (10.3 and later). See here for more details and downloads. At the end of this page, you could even find links to various useful sites.
  • Hercules is also available on github
  • Here is a page of Hercules FAQ
  • The original developer of Hercules is Roger Bowler. Jay Moseley's page has a bit more information on software. Follow the links there to get IBM's MVS operating system, compilers, and other software.
  • You may also find a copy of VM/370 (Virtual Machine Facilities/370) here. Then, you have a IBM System 370, its operating systems, virtual machines and compilers on your desktop machine. Enjoy these legacy monsters.
We do not collect your practice work; but, similar problems will appear in quizzes and exams in the future. Note that I will not make any announcement in class for these short quizzes. In other word, short quizzes may take place at any time as long as I see it is appropriate.