Operating System Design
Operating System Design
119
Analysis of required learning effort
Minimum ratio
Hours
teacher / learner
Effort while in contact with staff
Classroom and demonstrations 1:60 24
Monitoring and small-group teaching 1:25 12
Other (specify)
Independent Learning
Directed e-learning
Independent Learning 54
Other hours (worksheets and assignments) 35
Work-based learning – learning effort
Total Effort 125
Rationale for inclusion of the module in the programme and its contribution to the
overall MIPLOs
This module aims to introduce learners to Operating systems and provides them with
understanding of major concepts and techniques evolved over time which shaped and
influenced the development of Operating systems of today. Appendix 1 of the
120
programme document maps MIPLOs to the modules through which they are
delivered.
Processor management
• Definition of a process; process control block and process image; process
states and life cycle.
• I/O bound jobs and CPU bound jobs
• Turnaround time, waiting time, execution time.
• CPU Scheduling: basic concepts and scheduling criteria.
• Scheduling algorithms: FCFS, Shortest job first, Priority, Shortest remaining,
round robin
Process management
• Threads - overview and benefits; user and kernel threads.
• Processes: Process concept, operations on processes, cooperating processes,
inter-process communication;
• Deadlocks: deadlock characterization, detection, methods for handling
deadlocks, recovery from deadlock, deadlock prevention and avoidance.
• Synchronization: critical section problem, Two task solution, synchronization
in hardware, Semaphores, classical synchronization problems.
Memory management
• Memory management: fixed, dynamic and reloadable partitions memory
management systems. Contiguous memory allocation, paging and
segmentation. Memory fragmentation.
• Virtual memory: demand paging, page wrapping, allocation of frames,
thrashing.
121
• Contiguous Memory Allocation
• Page strategies: FIFO, Most recently used, least recently used. Optimal page
replacement
• Security aspect of memory management
File management
• File Systems: File concept, access methods, Directory structure, protection,
file system structure, allocation methods, free space management, Directory
implementation, efficiency and performance.
• Fixed and variable record files, contiguous files. Sequential, Direct and
indexed access files.
Device management
• Dedicated and shared devices.
• Sequential and Direct storage media devices. Inter record gap, Inter-block
gap, Platers, cylinders, tracks and sectors.
• Fragmentation, Addressing on a disk.
• Calculating capacity and speed.
• Blocking and buffering.
• Seek, search and transfer times.
• Seek policies and seek strategies, and their comparison
Assessment is divided into three elements. First there are a number of tutorials that
assess the learner’s competency in specific topics on a weekly basis. There is a mid-
semester class test. Finally, there is an end of semester exam that tests the learners
understanding of the theoretical material.
122
Timetabling, learner effort and credit
The module is timetabled as one 2-hour lectures and one 1-hour labs per week.
The number of 5 ECTS credits assigned to this module is our assessment of the amount
of learner effort required. Continuous assessment spreads the learner effort across
the content.
There are 36 contact hours made up of 12 lectures delivered over 12 weeks with
classes taking place in a classroom. There are also 12 lab sessions delivered over 12
weeks taking place in a fully equipped computer lab. The learner will need 49 hours
of independent effort to further develop the skills and knowledge gained through the
contact hours. An additional 40 hours are set aside for learners to work on worksheets
and assignments that must be completed for the module.
The team believes that 125 hours of learner effort are required by learners to achieve
the MIMLOs and justify the award of 5 ECTS credits at this stage of the programme.
E-learning
The college VLE is used to disseminate notes, advice, and online resources to support
the learners. The learners are also given access to Lynda.com as a resource for
reference.
Secondary reading
Tanenbaum, A. S. and Bos, H. (2015) Modern Operating Systems. Boston: Pearson.
Silberschatz, A., Galvin, P. B. and Gagne, G. (2010) Operating System Concepts with
Java. Hoboken: John Wiley & Sons.
Holcombe, J. and Holcombe, C. (2017) Survey of Operating Systems. New York:
McGraw-Hill Education.
123
Sobell, M. G. and Helmke, M. (2018) A Practical Guide to Linux Commands, Editors,
and Shell Programming. Upper Saddle River: Prentice Hall
Learners also benefit from the support of the programme Director, programme
administrator, learner representative and the Student Union and Counselling Service.
Note: All assignment briefs are subject to change in order to maintain current content.
124
Tutorial 1 – Introduction
Q2) What is the difference between main memory and auxiliary memory?
Q5) Describe micro computers and mini computers and outline the differences
between them.
Q7) With the aid of a diagram, describe the mechanism through which a user
process transitions from user mode to kernel mode. What is this mechanism
called?
Q8) Explain how to join two blocks in dynamic partitioning memory management
system. Suggest a table of free partitions and show how to combine two
partitions located in memory when deallocating memory in. give addresses
and sizes of partitions.
125
Tutorial 2 – Memory & Process Management
6. Discuss how the following pairs of scheduling criteria conflict in certain settings.
• CPU utilization and response time
• Average turnaround time and maximum waiting time
• I/O device utilization and CPU utilization
126
Tutorial 3 – Deadlocks
R1 R3 R5 R7
P1 P2 P3 P4
R4
R2 R6 R8
(4) Name and explain one method in which synchronisation can be achieved
between processes.
127
Tutorial 4 – Device & File management
Q1) Explain the differences between: access time and seek time.
Q2) A system has a disk with 200 tracks. The following I/O disk requests were
received and are to be serviced:
98, 183, 37, 122, 14, 124, 65, 67.
Q3 ) What are the advantages and disadvantages of a large block size for disk
storage systems?
Q6) With reference to tapes, what is the Inter record gap and what is its function?
Q7) In the case of sequential access contiguous file organisations, describe how
records are accessed from files in both fixed and variable size record.
128
Class Test
129
(1) a) Explain the differences between user mode and kernel mode.
(5 marks)
b) Describe batch processing operating systems and outline its
characteristics.
(5 marks)
(2) Identify and describe five events that would cause a process to lose its
allocation of the processor.
(10 marks)
(3) Describe, with the aid of a diagram, the demand paged memory allocation
scheme.
(10 marks)
(4) A program requests pages in the following order:
ADBBCABDECAE
Construct a page trace analysis indicating page faults with an asterisk (*)
using the Most Recently Used (MRU) policy where 3 page frames were
allocated to the program in main memory.
(15 marks)
(5) Describe the idea of a semaphore including the P & V operations.
(15 marks)
130
GRIFFITH COLLEGE DUBLIN
SAMPLE PAPER
Lecturer(s):
External Examiner(s):
131
SECTION A – Compulsory
QUESTION 1
(a) What is a process control block? What information can it hold?
(10 marks)
(b) There are three major methods of organising and storing files: sequential file
organisation, Direct file organisation and indexed file organisation. Discuss the
characteristics of each of the methods. Illustrate how records are sorted in
each method.
(10 marks)
(c) In demand paging, a process requests pages in the following order: a b c d b a
c a b d e a c.
Construct a page trace analysis indicating page faults with an asterisk (*) using
Least Recently Used (LRU) where memory is divided into three page frames.
(10 marks)
(d) In demand paging, explain how the memory manager will know which page
was the most recently used page.
(10 marks)
(e) What is the difference between a track and a cylinder in a hard disk storage
device?
(5 marks)
(f) With reference to tapes, what is the Inter record gap and what is its function?
(5 marks)
Total (50 marks)
132
(c) What values are kept in the bounds register and the relocation register in
memory allocation systems? Explain the purpose of each of these two
registers.
(10 marks)
Total (25 marks)
QUESTION 3
(a) With the aid of a diagram, explain the difference between a Page and a Page
Frame.
(4 marks)
(b) Describe the role of a Page Map Table (PMT) in Demand Paged Virtual Memory
allocation systems. Using a diagram, explain the key information it holds.
(8 marks)
(c) What is non-preemption in resource allocation? Explain how allocating a
resource in a non-preemptive way can lead to deadlock.
(5 marks)
(d) With reference to deadlocks:
(i) List four methods for recovering from a deadlock.
(4 marks)
(ii) Outline four factors that should be considered when selecting a victim
process in order to recover from a deadlock.
(4 marks)
Total (25 marks)
133
QUESTION 4
(a) Write five differences between Batch processing and Real Time processing
Systems.
(5 marks)
(b) What advantage and disadvantage does having larger page size have in paged
memory systems?
(5 marks)
(c) What is thrashing and how does it occur, explain how it affects the system.
(5 marks)
(d) Describe round robin process scheduling. What is the parameter associated
with the scheduler? What is the issue in choosing a value for the parameter?
(5 marks)
(e) What are the different objectives or principles which must be considered while
developing or selecting a scheduling algorithm?
(5 marks)
Total (25 marks)
134