Module Details
Module Code: |
SOFT7006 |
Title: |
Operating Systems
|
Long Title:
|
Operating Systems
|
NFQ Level: |
Intermediate |
Valid From: |
Semester 1 - 2017/18 ( September 2017 ) |
Field of Study: |
4814 - Computer Software
|
Module Description: |
Operating system software has had to solve a number of fundamental problems in order to provide fair and efficient services to the applications that run on a computer system. This module examines the detail of and solutions to those problems as implemented in modern operating systems.
|
Learning Outcomes |
On successful completion of this module the learner will be able to: |
# |
Learning Outcome Description |
LO1 |
Explain the solutions used in the scheduling of processes. |
LO2 |
Discuss problems and solutions in virtual memory management schemes. |
LO3 |
Outline the structure and management of a variety of file system types and input/output mechanisms. |
LO4 |
Compare and contrast the solutions to process concurrency issues. |
LO5 |
Use programs to emulate and investigate algorithms and methods used in solutions to operating systems problems. |
Dependencies |
Module Recommendations
This is prior learning (or a practical skill) that is strongly recommended before enrolment in this module. You may enrol in this module if you have not acquired the recommended learning but you will have considerable difficulty in passing (i.e. achieving the learning outcomes of) the module. While the prior learning is expressed as named MTU module(s) it also allows for learning (in another module or modules) which is equivalent to the learning specified in the named module(s).
|
12705 |
COMP6042 |
Operating Systems in Practice |
12785 |
SOFT7006 |
Operating Systems |
Incompatible Modules
These are modules which have learning outcomes that are too similar to the learning outcomes of this module. You may not earn additional credit for the same learning and therefore you may not enrol in this module if you have successfully completed any modules in the incompatible list.
|
12785 |
SOFT7006 |
Operating Systems |
Co-requisite Modules
|
No Co-requisite modules listed |
Requirements
This is prior learning (or a practical skill) that is mandatory before enrolment in this module is allowed. You may not enrol on this module if you have not acquired the learning specified in this section.
|
No requirements listed |
Indicative Content |
Process Management
CPU Scheduling algorithms; Threads, multi-threading.
|
Memory Management
Review of Paging scheme (storage efficiency, address mapping); Virtual memory (paged). Issues in virtual memory (page fault handling, resident set management, page replacement).
|
Concurrency
Mutual exclusion: (semaphores). Mutual exclusion and synchronisation, producer/consumer problem, readers/writers problem.
|
File Systems
I/O devices, organisation of I/O function, file directories, Disk structure, Disk Scheduling algorithms, Linux inodes, security and Linux permissions, free space management, space allocation methods. Description of FAT and NTFS file systems and RAID.
|
Laboratory Work
Use of programming language library functions to investigate system service implementations (e.g. As available for Python - https://docs.python.org/2/library/index.html).
Use of short programs to emulate and investigate algorithms and methods discussed. For example: CPU scheduling algorithms, Paging address mapping, Page replacement, Producer/consumer problem, Readers/writers problem, Disk Scheduling, Disk space allocation.
|
Module Content & Assessment
|
Assessment Breakdown | % |
Coursework | 50.00% |
End of Module Formal Examination | 50.00% |
Assessments
End of Module Formal Examination |
|
Reassessment Requirement |
Repeat examination
Reassessment of this module will consist of a repeat examination. It is possible that there will also be a requirement to be reassessed in a coursework element.
|
The University reserves the right to alter the nature and timings of assessment
Module Workload
Workload: Full Time |
Workload Type |
Contact Type |
Workload Description |
Frequency |
Average Weekly Learner Workload |
Hours |
Lecture |
Contact |
Presentation of theory. |
Every Week |
2.00 |
2 |
Lab |
Contact |
Investigation of lecture material. |
Every Week |
2.00 |
2 |
Independent & Directed Learning (Non-contact) |
Non Contact |
Independent & directed learning. |
Every Week |
3.00 |
3 |
Total Hours |
7.00 |
Total Weekly Learner Workload |
7.00 |
Total Weekly Contact Hours |
4.00 |
Workload: Part Time |
Workload Type |
Contact Type |
Workload Description |
Frequency |
Average Weekly Learner Workload |
Hours |
Lecture |
Contact |
Presentation of theory. |
Every Week |
2.00 |
2 |
Lab |
Contact |
Investigation of lecture material. |
Every Week |
2.00 |
2 |
Independent & Directed Learning (Non-contact) |
Non Contact |
Independent & directed learning. |
Every Week |
3.00 |
3 |
Total Hours |
7.00 |
Total Weekly Learner Workload |
7.00 |
Total Weekly Contact Hours |
4.00 |
Module Resources
|
Recommended Book Resources |
---|
-
William Stallings. (2014), Operating Systems: Internals and Design Principles, 8th. Pearson, [ISBN: 9781292061351].
| Supplementary Book Resources |
---|
-
Abraham Silberschatz, Peter Baer Galvin, Greg Gagne. (2013), Operating system concepts, 9th. Wiley, [ISBN: 9781118093757].
-
A.S. Tanenbaum. (2014), Modern Operating Systems: International Version, 4th. Pearson Education, [ISBN: 9781292061429].
| This module does not have any article/paper resources |
---|
Other Resources |
---|
-
website, Stallings, William. (2014), Book Companion website,
-
Website, Python. The Python Standard Library, Python Software Foundation,
|
|