Operating Systems

Ahmad Yoosofan

University of Kashan

https://yoosofan.github.io/en/

Introduction

Course Review

  • Main Memory
    • Absolute Address
    • Relative Address
    • paging
    • Virtual Memory
    • segmentation
    • segmentation and paging combinations
    • Invert table

Making an imaginary computer step by step

Finding more about how hardware and software works

  1. It needs to go back to principles
  2. It provides clear path for what we already have
  3. Understanding that why computers works this way nowadays

The Abacus and Counting Board

Mechanical Calculator

Pascaline

Jacquard Machines

Mechanical Computer

Analog Computer

Analog vs Digital

$$\begin{align}i(t) = C \frac{dv(t)}{dt}\end{align}$$

Electro Mechanical

Digital Computer

Stored Program

Analog Chipsets for AI Applications

General Types of Computers

Imaginary Computer (YIC-10)

Different memory for code and data

Real Motherboard

Motherboard Circut

The Second Computer (YIC-10)

Uniform memory (John von Neumann)

Assembly Code and Machine Code

ADD A,B

A = A + B

; 0101011  00010101 0101010

OPcode    DATA_1    DATA_2
ADD          A               B
R1 = R2 + R3
ADD R1, R2, R3

; 010101001 0001 0010 0011

OP Code     R1    R2    R3

010101001000100100011

Main Type of Processors

Hardware vs Software

The common segment displays

Epson WideCarriage Line Printer

https://en.wikipedia.org/wiki/Dot_matrix_printing

Dot matrix example text

https://en.wikipedia.org/wiki/Dot_matrix_printing

Dot-matrix display

1969 Braille display

split flap display(I)

http://arduinomania.com/tag/split%20flap%20display

Split-flap display(II)

Enlarged inner workings of a split-flap clock

Airport Board with Split-Flip Display

Flip-Dot-Display

5x7 LED module

Tape

Xerox Roman PS Daisywheel

Royal Typewriter Company since 1906

https://en.wikipedia.org/wiki/Royal_Typewriter_Company

IBM Selectric Typewriter 1961(I)

IBM Selectric Typewriter 1961 (II)

Simple computer simulator

Simple Computer Simulator Instruction Set

YIC120 - Adding Keyboard & Disk

When a controller rapidly turns on LEDs in one row at a time

https://www.nutsvolts.com/magazine/article/create-an-led-sign-controller

GET THE DOTS, FORM A LETTER using ROM

https://www.nutsvolts.com/magazine/article/create-an-led-sign-controller

Showing Character D

https://www.deviceplus.com/arduino/display-characters-with-leds-how-to-use-a-matrix-led/

Showing Character D (real refresh)

https://www.deviceplus.com/arduino/display-characters-with-leds-how-to-use-a-matrix-led/

Card reader instead of Hex pad input

Display

IBM 3270 Display Terminal

Hollerith and IBM keypunches, 1890

IBM 011 Electric Key Punch(1923)

IBM Type 032 Printing Punch(1935)

A Key Punch Room in the 1960s

Card Mark sense format

Cartons of Punch cards(1959)

In a United States National Archives Records Service facility in 1959. Each carton could hold 2,000 cards

Punched Card Printing Plate

Example of a Punch Card

IBM1130 Binary Punched Card

A 5081 Card from a non-IBM Manufacturer

FORTRAN Port-A-Punch card. Compiler directive "SQUEEZE"

Punched card from a Fortran program

Z(1) = Y + W(1), plus sorting information in the last 8 columns

img/in/The_IBM_2501_Card_Reader2501.jpg https://www.columbia.edu/cu/computinghistory/2501.html

END

1