Dr. Mark Humphrys

School of Computing. Dublin City University.

Home      Blog      Teaching      Research      Contact

My big idea: Ancient Brain


CA216      CA249      CA318

CA400      CA651      CA668

CA216 - Operating Systems

Quickest way to find this web page:
Google ca216 dcu
Think about it: All other ways (starting at the CA site, Googling my name, etc.) will take much longer to get here.
Just Google module code and DCU and it is the first hit.


Repeat lab 2017

Repeat lab: Fri 4 Aug 2017. 2 pm. L125.
Lab will be revealed on the day.

  1. Find overloaded pages



How to contact me

See How to contact me.

About the notes

My notes contain many hyperlinks to background material. Some students get confused about what is the core course. The core course is anything that is linked to directly on this front page. All other links are just background material.


There will not be any talks in the labs.
In the labs, I will set you tasks to do, either for marks or for practice.
Tutors and I will be available to help.





Week 1

Linux (and UNIX-like systems)
  1. How to login to Linux at DCU

  2. How to find your Linux/Unix version

  3. Introduction to UNIX

Week 2

  1. Linux Quiz 1

Week 2

  1. Lab - Intro to UNIX / Linux

  2. UNIX / Linux tutorials [REFERENCE]
  3. UNIX / Linux reference [REFERENCE]

Week 3

  1. Linux Quiz 2

Week 3

  1. Introduction to UNIX (More)

  2. More UNIX

Week 4

  1. Linux Quiz 3

Week 4

  1. UNIX file protections
  2. UNIX directory protections


  1. Introduction to Shell

  2. Lab - Shell

Week 5

  1. Linux Quiz 4

Week 5

  1. Sample Shell programs

  2. Sample script - filterbaks

  3. How to set up an active desktop in 6 lines of Shell
  4. How to debug a program

Week 6

ASSESSMENT - 5 percent of module
- write in lab, marked in lab
  1. Lab - cweb

Week 6

  1. More on Shell

  2. Shell utilities

Week 7

ASSESSMENT - 5 percent of module
- write in lab, marked in lab
  1. Command-line image processing

Week 7

  1. How to write a search engine in 9 lines of Shell

Week 8

ASSESSMENT - 5 percent of module
- write in lab, marked in lab
  1. Get stock prices

Week 8

OS theory
  1. What is an Operating System?

  2. OS and hardware

  3. OS structure

Week 9

ASSESSMENT - 5 percent of module
- write in lab, marked in lab
  1. Search engine

Week 9


  1. Processes

Week 10

Week 10

  1. Memory


  1. Files

Week 11

ASSESSMENT - 10 percent of module
- write in lab, marked in lab
  1. Get Flickr data

Week 11

  1. Using files

Machine readable v. human readable data

  1. Binary v. Text

  2. XML and HTML

Windows command line

  1. Windows command line
  2. Windows batch files

Week 12

No lab.

Week 12


Exam questions.



Extra notes - on the course if we have time

  1. Shell script to download YouTube videos


Extra notes - Not on course this year

  1. Linux/Unix configuration files


  1. What is wrong with these Shell scripts?

  2. Further Shell

  3. Arithmetic in Shell
    • bc (command-line calculator)

  4. Shell functions

OS theory

  1. Processes and Scheduling
  2. Process Synchronisation and Deadlocks

  3. Memory Implementation
  4. Files Implementation

Other scripting

  1. Writing short utilities in other languages


Library categories


Sometimes I link to Wikipedia. I need to write something in defence of this.

On the one hand, Wikipedia is deeply flawed, so you should use all links to Wikipedia with extreme caution. Many people refuse to link to it.

On the other hand, it is often clearly the best thing to link to on a topic. I say: Link to it, but use with caution and scepticism.

Mark calculator

Exam (70): Practical (30):

Total mark:      

Feeds      w2mind.org      ancientbrain.com

On the Internet since 1987.