Unit 1.1
Introduction

Presenter Notes

本节幻灯片


What is the computer?

Ada Lovelace

John Von Neumann

Alan Turing

A modern computer consists of:

  • One or more processors
  • Main memory
  • Various input/output devices, eg. disks.

Presenter Notes

阿达·洛芙莱斯(Ada Lovelace),是著名英国诗人拜伦之女,数学家。计算机程序创始人,建立了循环和子程序概念。为计算程序拟定“算法”,写作的第一份“程序设计流程图”,被珍视为“第一位给计算机写程序的人” 冯.诺依曼被后人称为“计算机之父”和“博弈论之父(涯杰)”。 艾伦·麦席森·图灵(Alan Mathison Turing,1912年6月23日-1954年6月7日),英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父

现代计算机遵循冯·诺依曼的体系结构,分成运算器、控制器、内存、输入设备和输出设备五部分。


Where the operating system fits in ?

  • Managing all these components requires a layer of software – the operating system

Presenter Notes

自下而上的结构,沟通了硬件与软件 内核态: CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡. CPU也可以将自己从一个程序切换到另一个程序 用户态: 只能受限的访问内存, 且不允许访问外围设备. 占用CPU的能力被剥夺, CPU资源可以被其他程序获取 为什么要有用户态和内核态 由于需要限制不同的程序之间的访问能力, 防止他们获取别的程序的内存数据, 或者获取外围设备的数据, 并发送到网络, CPU划分出两个权限等级 -- 用户态 和 内核态


As a Resource Manager

  • Why we need an Operating System ?

    • As a Resource Manager
    • As an Extended Machine
  • The Operating System as a Resource Manager

    • Allow multiple programs to run at the same time
    • Manage and protect memory, I/O devices, and other resources
    • Includes multiplexing (sharing) resources in two different ways:
      • In time
      • In space

Presenter Notes

1、作为拓展机器的操作系统 2、作为资源管理者的操作系统:操作系统的任务是在相互竞争的程序之间有序的控制对处理器、存储器以及其它I/O接口设备的分配 多路复用(共享)资源: 资源在时间上的复用,不同程序轮流使用它。 空间复用,每个客户都得到资源的一部分。


As an Extended Machine

  • The Operating System as an Extended Machine

  • Operating systems turn ugly hardware into beautiful abstractions.

Presenter Notes

操作系统将丑陋转变为美丽 操作系统的一个主要任务是隐藏硬件,呈现给程序(以及程序员)良好、清晰、优雅、一致的抽象


History of Operating Systems

Generations:

  • (1945–1958) Vacuum Tubes
  • (1954–1964) Transistors
  • (1960–1970) ICs ( SSI, MSI )
  • (1970–Present) LSI, VLSI

    • IC: Integration Circuit
    • SSI: Small Scale Integration Circuit
    • MSI: Medium Scale Integration Circuit
    • LSI: Large Scale Integration Circuit
    • VLSI: Very Large Scale Integration Circuit

Presenter Notes

(1945-1958)真空管和穿孔卡片。eg:ENIAC。这些机器有的使用真空管,有的是可编程的,但是都非常原始,甚至需要花费数秒事件才能完成最简单的运算。 (1954–1964)晶体管和批处理系统。大型机的出现极大的改变了整个状况。计算机已经很可靠,厂商可以成批地生产并销售计算机给用户,用户可以指望计算机长时间运行,完成工艺鞋有用的工作。在该阶段,设计人员、生产人员、操作人员、程序人员和维护人员第一次有了明确的分工。 (1960–1970)集成电路芯片和多道程序设计。第三代操作系统适用于大型科学计算和繁忙的上午数据处理,但实质上依旧是批处理系统。 (1970–Present)大规模集成电路的发展,个人计算机随之出现。


Vacuum Tubes

  • ENIAC
  • UNIVAC
  • Operating Systems: None

Presenter Notes

机器都是二进制的,有的使用真空管,有的是可编程的,但是都非常原始,需要花费数秒时间才能完成最简单的计算。


Transistors

  • An early batch system. (a) Programmers bring cards to 1401 . (b) 1401 reads batch of jobs onto tape. (c) Operator carries input tape to 7094 . (d) 7094 does computing. (e) Operator carries output tape to 1401 . (f) 1401 prints output.
  • Operating Systems: Batch Systems
    • FMS(FORTRAN Monitor System)
    • IBMSYS(IBM 7094)

Presenter Notes

在输入室收集全部的作业,然后用一台相对偏移的计算机,如IBM 1401计算机,将他读到磁带上。IBM 1401计算机适用于度卡片、复制磁带和输出打印,但不实用于数值运算。另外用较昂贵的计算机,如IBM 7094来完成真正的计算。


SSI, MSI

IBM System/360

DEC PDP 7

  • Mainframes & Small Computers
  • Multiprogramming & SPOOLing
  • Operating Systems: Timesharing
    • CTSS (Compatible Time Sharing System)
    • MULTICS

Presenter Notes

第三代操作系统很适用于大型科学计算和繁忙的上午数据处理,但实际上人就是批处理系统。许多程序员很怀念第一代计算机的使用方式。因此,分时系统、兼容分时系统应运而生。 CTSS成功研制之后,MIT、贝尔实验室和通用电气公司决定开发一种“公用计算服务系统”,能够同事支持数百名分时用户的一种机器,该系统叫做MULTICS


LSI, VLSI

1975' First Micro Computer : MIPS Altair 8800 (Intel 8080)

  • Micro / Personal Computers : IBM/PC, Apple
  • Operating Systems: Timesharing, clustering, multi-processors/cores
    • UNIX family (UNIX/Linux/BSD/macOS)
    • DOS / Windows 9x / NT
  • Operating Systems for Mobile / Embedded
    • Symbian, Blackberry, Android, iOS, Embedded Linux

Presenter Notes

大规模集成电路和超大规模集成电路的发展,推动了个人计算机时代的到来。


History of UNIX

Dennis Ritchie

Ken Thompson

PDP 11

  • 1969' Bell Lab (AT&T), PDP 7, Game(space travel)
  • UNICS -> UNIX, Written in assembly language
  • UNIX epoch: 1970-01-01 00:00:00 UTC
  • 1970: PDP-11/20, rewrote the UNIX in assembly.
  • 1972: Richie, BCPL(Basic Combined Programming Language)->B->C, The C Programming Language
  • 1973: Thesis "The UNIX Time- Sharing System"
  • 1983: Turing Award

Presenter Notes

  • 1969' BELL的Ken Thompson为自己开发了Unics(这个是戏称的非正式的名称,因为思想源自Multics)
  • 1972-1973: Ken Thompson 与Dennis Ritchie感到用汇编语言做移植太过于头痛,他们想用高级语言来完成第三版,对于当时完全以汇编语言来开发程序的年代,他们的想法算是相当的疯狂。一开始他们想尝试用Fortran,可是失败了。后来他们用一个叫BCPL(Basic Combined Programming Language)的语言开发,他们整合了BCPL形成B语言,后来Dennis Ritchie觉得B语言还是不能满足要求,于是就改良了B语言,这就是今天的大名鼎鼎的C语言。于是,Ken Thompson 与Dennis Ritchie成功地用C语言重写了Unix的第三版内核。至此,Unix这个操作系统修改、移植相当便利,为Unix日后的普及打下了坚实的基础

UNIX Family

1997 Deep Blue (AIX) vs Kasparsov

  • AT&T: System V Release 4.2 (SysV)
  • Berkeley Software Distribution: 4.4BSD
  • Commercial distributions
    • IBM: AIX, HP: HP-UX, SGI: IRIX, SUN: Solaris
    • Apple: macOS
  • Linux, FreeBSD, NetBSD, OpenBSD

Presenter Notes

  • 1969' BELL的Ken Thompson为自己开发了Unics(这个是戏称的非正式的名称,因为思想源自Multics)
  • 1972-1973: Ken Thompson 与Dennis Ritchie感到用汇编语言做移植太过于头痛,他们想用高级语言来完成第三版,对于当时完全以汇编语言来开发程序的年代,他们的想法算是相当的疯狂。一开始他们想尝试用Fortran,可是失败了。后来他们用一个叫BCPL(Basic Combined Programming Language)的语言开发,他们整合了BCPL形成B语言,后来Dennis Ritchie觉得B语言还是不能满足要求,于是就改良了B语言,这就是今天的大名鼎鼎的C语言。于是,Ken Thompson 与Dennis Ritchie成功地用C语言重写了Unix的第三版内核。至此,Unix这个操作系统修改、移植相当便利,为Unix日后的普及打下了坚实的基础

Apple

1976: Apple I

1977: Apple II

Macintosh

Steve Jobs

  • 1977: Apple II: 1MHz, 4KB Memory
  • Processor. RISC: PowerPC vs CISC: Intel
    • 1984: Motorola 68000
    • 1998: PowerPC
    • 2006: Intel

IBM Personal Computer

IBM PC

Intel 80386

AMD X86_64

  • 1981: IBM Personal Computer
    • Intel 8088(4.77MHz) 16K, MS-DOS/PC-DOS
  • 1985: Intel 80386(i386, IA32, x86), 1986: Compaq 386
  • 1987: IBM PS/2 (386, MCA), IBM OS/2
  • 1993: Intel Pentium
  • 1999: AMD x86_64(AMD64, x64)
  • 2001: Intel IA64 (Itanium)

Micorsoft DOS/Windows

  • CP/M -- DOS -- 1985: Windows 1.0; 1987: 2.0; 1990: 3.0; 1992: 3.1
  • Windows 9x: Windows 95, Windows 98, Windows Me
  • Windows NT: NT3.1 (1993) NT4 WorkStation(1996), 2000 Professional, XP(NT5.1 2001), Vista(NT 6.0 2006), Windows 7 (NT 6.1 2009), Windows 8 (NT 6.2 2012), Windows 10 (NT 10.0 2015)
  • Windows Server: NT4 Server, 2000 Server, Server2003, Server2008, Server2008 r2, Server2012, Server2012 r2, Server2016 Windows Family

GNU Free Software – R. Stallman

Richard Stallman

GNU

GPL

Copy Left

  • 1984: Richard Stallman starts GNU project. (GNU = GNU's not UNIX)
  • Purpose: Free UNIX. ("Free as in Free Speech, not Free Beer")
    • First step: re-implementation of UNIX Utilities
    • C compiler, C library, emacs, bash
  • To fund the GNU project, the Free Software Foundation is founded

General Public License

  • Most software (including the Linux kernel) is GPL'ed (GNU General Public License)
  • Linux is called "copyleft" (instead of "copyright").
    • You can copy the software.
    • You get the source code.
    • You can alter the source code and recompile it.
    • You can distribute the altered source and binaries.
    • You can charge money for all this.
  • You cannot change the license.
    • So all your customers have the same rights as you.
    • So you really cannot make money from selling the software alone.
  • Other Open Source licenses (for example, BSD) are also used

Minix – AST


GNU/Linux – Linus Torvalds

Linus Torvalds

Mascot of Linux: Tux

  • 1991: Linus Torvalds writes 1st version of Linux kernel
    • Linus' UNIX -> Linux
    • Combined with the GNU and other tools forms a complete UNIX system -> GNU/Linux
  • Based on : UNIX, MINIX, Internet, GNU, POSIX

Linux Today

  • Linux Kernel vs. Distributions
    • RedHat: Fedora, RHEL, CentOS
    • Debian, Ubuntu
    • SuSE: OpenSuSE
  • Linux covers the whole spectrum of computing
    • Embedded devices
    • Laptops
    • Desktop systems
    • Development systems
    • Small and large servers
    • Megaclusters/supercomputers
  • Linux is used throughout the world and in space, by home users and by some of the largest companies in the world. eg. IBM, Boeing, NASA

The Operating System Zoo

  • Mainframe operating systems
  • Server operating systems
  • Multiprocessor operating systems
  • Personal computer operating systems
  • Handheld operating systems
  • Embedded operating systems
  • Sensor node operating systems
  • Real-time operating systems
  • Smart card operating systems

References

  • Chapter 1: Introduction, Modern Operating Systems . Forth Edition, Andrew S. Tanenbaum
  • Unit 1: Introduction to Linux, Linux Basic and Installation , ERC 7.2, IBM

备注汇总

现代计算机遵循冯·诺依曼的体系结构,分成运算器、控制器、内存、输入设备和输出设备五部分。使用了自下而上的结构,从应用程序、应用用户程序接口、操作系统一直到硬件设备,沟通硬件与软件。操作系统的职责是资源管理,在相互竞争的程序之间有序的控制对处理器、存储器以及其它I/O接口设备的分配。资源在时间上复用,不同程序轮流使用它;资源在空间上的复用,每个用户都得到资源的一部分。

操作系统的发展:

  • (1945-1958)真空管和穿孔卡片。eg:ENIAC。这些机器有的使用真空管,有的是可编程的,但是都非常原始,甚至需要花费数秒事件才能完成最简单的运算。
  • (1954–1964)晶体管和批处理系统。大型机的出现极大的改变了整个状况。计算机已经很可靠,厂商可以成批地生产并销售计算机给用户,用户可以指望计算机长时间运行,完成工艺鞋有用的工作。在该阶段,设计人员、生产人员、操作人员、程序人员和维护人员第一次有了明确的分工。
  • (1960–1970)集成电路芯片和多道程序设计。第三代操作系统适用于大型科学计算和繁忙的上午数据处理,但实质上依旧是批处理系统。
  • (1970–Present)大规模集成电路的发展,个人计算机随之出现。

results matching ""

    No results matching ""