CS3120 - Operating Systems
Final Version: July 13, 2003
Format:
Intro (group work)
Operating System 1 (individual work):
History
o When was this OS created?
o By whom?
o Did it replace an earlier version OS?
Motivation
o Why was it developed? To meet what needs?
o What was the advertising propaganda at the time?
o Do you think it met its purpose?
Processes
o What states do processes move through?
o How does the OS execute? (within the context of user processes.. as a separate process?)
o Creation
o How are new processes created? Who can create them?
o Scheduling of Processes
o What are the most important scheduling criteria for this OS?
o How does the short-term scheduler select the next process to place in the CPU? What's the selection function? What's the decision mode?
o Is there a single ready queue or multiple ready queues?
Concurrency
o What concurrency mechanisms does the operating system support to allow processes to synchronize their activities? (semaphores, etc)
o How can processes communicate?
o By what mechanisms can processes share data?
Deadlock
o Does the OS support deadlock avoidance, deadlock prevention, (mixture of the 2?), or ignore the issue of deadlocks completely?
o Describe in detail the algorithms/mechanisms in use by the OS with regard to the issue of deadlock.
o If the OS supports recovery from deadlock, what mechanisms/algorithms are used?
Threads
o Does the OS support threads? If so, discuss in detail the threading mechanisms available to applications.
Memory Management
o Describe in detail the memory management scheme of the OS (fixed or dynamic partitioning, paging (demand?), segmentation, combo?). Be sure to include in your discussions details such as the page replacement algorithm in use if the OS uses demand paging. Dig deep.
o What is the size of the virtual address space?
User Interface
o No discussions of OSs would be complete without a discussion of the user interface provided. Although not covered in the course, please include a 2-3 paragraph discussion about the interface provided, the targeted user group, etc. and give your opinion about the effectiveness of the design choices.
Operating System 2 (individual):
(Same sections as OS 1)
Operating System 3 (individual work):
(if 3+ group members - same sections as OS 1)
Operating System 4 (individual work):
(if 4 group members - Same sections as OS 1)
Analysis (group work) :
§ Of the OSs covered by group members, which OS do you think is most suited to the needs of a computer science/engineering student. Debate why, discussing the pros and cons of each OS.
§ Would your answer differ if the target user was a large company with many networked PC's? Why?
§ Would your answer differ if the target user was your grandmother? Why?
Reminder:
§ If 2 group members covered flavours of Linux, make sure that you also cover what is different between the two flavours - why are both available on the market? What features do they provide?
§ Suspicions of plagiarism will be sent straight to senate. You must reference all material that is not your original thought. Please review the guidelines on the website and clarify with me any questions you may have about those guidelines.