comp
holder  


 
Programme  Information

 
.


DT249
BSc in Information Systems
and Information Technology

 

Now accepting applications for January 2009

TECH2001 (Stage 2)
Computer Technology 2 (10 ECTS)

 

 

Prerequisite Modules


Description

Building on Computer Technology 1 and the student's knowledge of programming from Programming and Algorithms, this module deals with general-purpose operating systems, such as Microsoft Windows and UNIX, in detail and the hardware platforms supporting these in outline.


Aims

The aim of this module is to enable the student to understand the basic operation and functions of modern operating systems, particularly general purpose operating systems, in order that the student can understand the abstraction layer between application and utility software and the hardware. The knowledge and understanding provided by this module underpins the expertise to, for example, troubleshoot, assess, and optimise the performance of a server, or to use the security features offered by a particular operating system in a manner appropriate to users' needs, regulatory requirements, or company policies.


Learning Outcomes

On successful completion of this module, the student will be able to:

  1. Enumerate, describe, and differentiate between a number of different computer operating systems

  2. Describe how a modern general-purpose operating system typically manages memory

  3. Describe how a modern general-purpose operating system typically manages processes and threads

  4. Explain the concepts of concurrency and parallelism

  5. Enumerate, explain, and differentiate between different mechanisms of inter-process communication

  6. Enumerate, explain, and differentiate between the problems that arise in multiprocessing systems

  7. Enumerate, explain, and differentiate between different synchronisation primitives

  8. Explain, and differentiate between, monolithic and microkernel architectures

  9. Enumerate, describe, and differentiate between different kinds of cache

  10. Enumerate, describe, and differentiate between different executable formats


Learning and Teaching Methods

Lectures, self-study, labs, tutorials, and any combination of discussion, case study, problem-solving exercises, readings, seminars, and computer-based learning.


Content

Overview

  • Operating system purpose
  • History and evolution of operating systems
  • Modern operating systems: embedded, RTOS's, Microsoft Windows 2000 (or later), POSIX/SUS, UNIX family, GNU/Linux

Processes

  • Process states, context, and control
  • Scheduling algorithms: Round-robin, priority queues

Memory Management and Virtual Memory

  • Evolution of virtual memory: overlays, swapping, paging, segmentation, internal and external fragmentation
  • Microprocessor support via page faults
  • Memory protection

File Management

  • Filesystem internal structures: inode-based, FAT, etc.
  • Filesystem features: ACLs, journals
  • Filesystem comparisons: UFS, NTFS, ext3, ISO-9660, FAT 

Interprocess Communication

  • Semaphores
  • Message Queues and Mailslots
  • Pipes
  • Sockets
  • Signals
  • Shared Memory and File Mapping
  • Clipboard, COM, and shared files
  • Distributed IPC: RPC, DCOM, network sockets

Concurrency

  • Deadlock and starvation: prevention, avoidance, detection, and Dining Philosophers
  • Tasks, threads and fibers: kernel, userland, and hybrid implementations
  • Synchronization primitives: mutexes, semaphores, and monitors

Kernel architecture

  • Monolithic kernel (e.g. Linux)
  • Microkernels (e.g. Mach)
  • Hybrid kernels (e.g. Microsoft Windows NT or later)

Caches

  • Microprocessor cache: cache level, on-chip, on-board, instruction cache, data cache
  • Disk and I/O cache: write-through, write-back
  • Replacement algorithms and costs: hit/miss, LRU, FIFO, LIFO.

Executable Formats

  • Compile-time vs. run-time linking
  • Static vs. dynamic linking
  • Types of executable (e.g. a.out, COFF, PE COFF, ELF)
  • Types of library (e.g. .a, .so, .dll) and library versioning

Assessment

The methods of assessment to be used to measure the learning objectives stated above are written examination and continuous assessment including one or more of assignment, essay, problem-solving exercise, oral presentation, and class or lab tests.

  • Continuous Assessment: 20%
  • Examination: 80%

Recommended Reading

  • William Stallings, Operating Systems, 4th ed.; Prentice Hall, Upper Saddle River, NJ, 2001; ISBN 0-13-031999-6
  • Andrew S. Tanenbaum, Modern Operating Systems, 2nd ed. Prentice Hall, Englewood Cliffs, NJ, 2001; ISBN 0-13-588187-0
     
  For more information contact
Ciarán O'Leary

 

Hit Counter