CS111 Lecture 1 Scribe Notes (Spring 2012)

Andy Bax, Ramkrishna Goda, Kyle Newkirk, Timothy Woo

Table of Contents

  1. Class Information
    1. Professor and TAs
    2. Course Website
    3. Textbook
    4. Prerequisites
    5. Course Organization
    6. Course Load
    7. Assignments
    8. Grading/Due Dates
    9. Exam Information
    10. Late Policy
    11. Warning
    12. Machine Requirements
  2. Intro to Operating Systems Material
  3. Lab 1 Overview
  4. What is a System?
  5. Interface Technologies
    1. System Nest
    2. Major OS Aspects
    3. Problems in Computer Systems
In the same way that a good manager of a business needs to know everything there is to know about a business, a good operating system needs to know everything about a computer. ~Eggert 2012

Class Information

Professor and TAs

Course Website

http://cs.ucla.edu/classes/spring12/cs111/

Textbook

Jerome H. Saltzer and M. Frans Kaashoek, Principles of Computer System Design: An Introduction, Morgan Kaufmann (2009)

Prerequisites

Official:

Recommended:

Course Organization

Course Load

Official Hrs/Week Realistic Hrs/Week
Lecture 4 3.6
Lab/Discussion 2 1.7
Outside Study 9 15 or 20

Assignments

Allowed to work on labs solo or in groups of two.

Grading/Due Dates

Fraction of Grade Due Date / Date
Labs(x4) 1/12 each 1A: 4/10 1B: 4/24 1:C 4/27
Midterm 1/9 5/3 normal class hours
Final 2/9 6/12 8-11am
Mini Labs 1/15 4/20
Design Problems 1/12 1 week after lab
Scribe Notes 1/12 1 week after lecture
Research Topic Paper 1/30 6/8

Exam Information

Exams are open book and open notes but closed computer. In the exam he will take some code, plop it in the test, and test you about it. This will be questions where the answer is not in the book. He will ask one question where he does not know the answer.

Late Policy

2n-1 points off where n=number of days off, rounded up to the nearest day. This is assuming the assignment is worth 100 points. Last day that you can turn in assignments is the last day of instruction, Friday June 8th.

Warning

You are encouraged to help each other in studying. You are encouraged to discuss general ideas and directions. You can't turn in any work that is not your own. If you submit code you have to had wrote it. It can't be anyone else's work.

Machine Requirements

You will need a computer to run your OS. Typically people will use a virtual machine instead. Most common is QEMU or virtual box or VMware. You can run it atop your own desktop or the Seasnet Linux servers. Ucla Linux user group is a good resource to help you get Linux on your computer. They can help you get up to speed for this. There used to be a room called the Linux lab.

Intro to Operating Systems Material

Lab 1 Overview

sort a c | cat b - | tr A-Za-z > c
sort -k2 d - < a | uniq -c > e
diff a c > f

date > x
date > y
cat x y

problem: date > x and date > y and cat x y: the first two can be run in parallel because the output of each command are independent but the third cannot. However the timestamp of x and y may be out of order due to running in parallel but for our purposes we don't worry about this since we assume our users care about performance more.


What is a System?

The text is about computer systems, but the course is about operating systems

Oxford English Dictionary Definitions:

Modern Definitions

Wikipedia

Book Definition

Figure 1

Interface Technologies

System nest

Major OS Aspects

  1. Virtualization - virtual memory, virtual machines
  2. Scheduling
    • limited amount of resources
    • too much demand for hardware resources - scheduling for when resources are stretched thinly, scheduling network access, schedule disk I/O
  3. Consistency - Rules for keeping applications the same
    e.g. synchronization
  4. File Systems - watered down, simple versions of databases
  5. Security
    • Very difficult to retrofit security (if you don't think about it till the very end, then it is too late)
      "You cannot build a bank THEN think about building a safe - build a safe and then build a bank around it"

Problems in Computer Systems