操作系统发展史

第一代计算机

1940-1955:  真空管和穿孔卡片
lowa州立大学的john Atanasoff教授和他的学生Clifford Berry建造了据认为是第一台可工作的数字计算机。该机器使用300个真空管。大约在同时,Konrad Zuse在柏林用继电器构建了Z3计算机,英格兰布莱切利园的一个小组在1944年构建了Colossus,Howard Aiken在哈佛大学建造了Mark 1,宾夕法尼亚大学的William Mauchley和他的学生J.Presper Eckert建造了ENIAC。这些机器有的是二进制的,有的使用真空管,有的是可编程的,但都非常原始。
'''
特点:
    没有操作系统的概念
    所有的程序设计都是直接操控硬件
工作过程:
    程序员在墙上的机时表预约一段时间,然后程序员拿着他的插件版到机房里,将自己的插件板街道计算机里,这几个小时内他独享整个计算机资源,后面的一批人都得等着(两万多个真空管经常会有被烧坏的情况出现)。
后来出现了穿孔卡片,可以将程序写在卡片上,然后读入机而不用插件板。
优点:
    程序员在这段时间内独享计算机资源
缺点:
    浪费了计算机资源
    串行(就是一个一个运行,运行完一个在运行另外一个)
'''

第二代计算机

1955-1965:   晶体管和批处理系统
'''
特点:
   有了操作系统的概念
   有了程序设计语言的概念,机器语言
优点:
    解决了第一代计算机的缺点,把一大推人的输入攒成一大波输入,然后按照顺序解决(本质上还是串行,这点并没有解决第一代计算机遗留的问题),把一大波攒成一大波输出。
    节省了计算机资源
缺点:
    整个过程需要人参与控制,将磁带搬来搬去
    计算机任然是顺序计算---串行
    程序员不能独享计算机资源
'''

第三代计算机

1965-1980:  集成电路芯片和多道程序设计
这个时代,IBM采用了小规模集成电路,这就是现代服务器的前身
"""
多道技术:
     一个cpu在同一时刻只能执行一个任务。
     cpu在这个程序这执行几秒,又跑去另外一个程序执行,然后又去其他程序,就这样来回快速切换,让人感觉就像是这些程序在同时运行(并行)。
     并发(单cpu加多道技术就可以实现并发):
        伪并行,让cpu来回快速切换,让人感觉就像是在同时运行,要速度快cpu就要从内存上读取数据,这个就叫进程,所以程序在运行的时候,把程序从磁盘读取到内存,就因为内存快,实现并发。
     并行(多个cpu才可以实现):
         是正正意义上的同时运行,一个核不能并发,但是可以并行。
     空间上的复用:
        将内存分为几部分,每个部分放入一个程序,每个程序都获得了cpu的一点资源
     时间上的复用:
        当一个程序在等待IO的时候,另一个程序可以使用cpu
"""
当然空间上的复用也伴随着问题:
   首先丧失的是安全性, 比如一个程序运行的时候可以访问操作系统的内存,这也就意味着你运行的这个程序可以拿到操作系统的所有权限
   其次是稳定性,比如某个程序崩溃的时候可能把别的程序的内存也给回收了

分时操作系统

因为第三代计算机依旧没有解决程序员可以独享计算机资源的优点,此时诞生了分时操作系统
多个联机终端+多道技术

现代操作系统

1.MULTICS
    MULTICS 其实是"MULTiplexed Information and Computing System"的缩写
    伟大的一步
    Bell(贝尔实验室), MIT(麻省理工学院人工智能实验室), GE(General Electric,通用电气)联合建立
    Multics操作系统
2.unix
    1970年称为unix元年
3.GNU
   1985年,Richard Stallman 愤怒的认为unix大家都有过添砖加瓦的建设,应该共享。随即,发起
GNU(GNU is not unix)自由操作系统,软件共享运动。
   GNU的GPL解释
        1>任何个人或公司可释放出自由软件(free software)
        2>任何释放出自由软件的个人或公司,均可由自己的服务来收取适当的费用
        3>该软件的原始码(source code)需要随软件附上,并且是可公开发表的
        4>任何人可透过任何正常渠道取得此自由软件,且均可取得此授权模式
4.linux
   1984谭宁邦教授的Minix教学操作系统,提供原始码以及软件
   这个时候诞生了很多开源软件:
        Emacs编辑器+GNU C(GCC)+GNU C Library (glibc)+Bash Shell
        FSF(free software foundation)自由软件基金会
        GPL(General Public License)通用公共许可证
        1988年 XFree86计划:X Window System+Free+X86
        其他的开源团队: sendmail团队 wu-ftp团队 apache团队
   1991年芬兰人开发了linux


**批处理系统-》分时操作系统-》multics-》unix-》linux-》各种linux发行版**
posted @ 2021-06-15 17:09  剧终cur  阅读(657)  评论(0)    收藏  举报