2019-08-18 15:56:51 weixin_42815609 阅读数 289
  • 马哥Linux教程-Linux操作系统基础由浅入深全面讲解1

    本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    20338 人正在学习 去看看 马永亮

本次笔记内容:
1.4 如何学习操作系统
1.5 操作系统的实例
1.6 操作系统的历史
1.7 操作系统结构
1.8 小结

操作系统的大概分支

UNIX家族: UNIX BSD是由伯克利在UNIX之上开发的开源操作系统。UNIX和C语言由一个团队开发,UNIX由C开发。

Linux家族: 类UNIX的操作系统。安卓的内核也为Linux Kernel。

Windows家族: 最初为DOS系统。桌面占统治地位,移动端与服务器较为弱势。Windows操作系统让不懂计算机的开始使用计算机。

还有很多面向不同的对象的操作系统。

操作系统的历史和演变过程

  • 早期计算机使用纸带传输程序和数据,操作系统只起到加载作用。
  • CPU等硬件快速发展,计算机速度得到提升(批处理阶段/离线处理)。操作系统初步形成,初步体现操作系统并发特征。
  • 内存容量越来越大、CPU执行多个程序(多道程序设计)。在程序1等待I/O操作时,操作系统去执行程序2,而不是等待程序1。
  • 但是多道程序设计交互性不够好。为了更好地利用计算机资源,并且更好地和用户交互,出现了分时交互系统。两个程序轮流占用资源,比如程序A占用千分之一秒,程序B接上,运行千分之一秒后,又交给A。外设(时钟)定期产生中断,帮助操作系统完成相应的分时调度。
  • 个人电脑操作系统,Windows的GUI更加用户友善。
  • 多核多处理普遍存在。
  • 网络快速发展,出现了分布式操作系统。松耦合、紧耦合系统由分布式操作性管理。
  • 未来,生活中存在大量嵌入设备。

在这里插入图片描述

操作系统结构

简单的操作系统:MS-DOS(1981~1994)
不分模块的单体内核,用汇编语言设计。

Unix操作系统是1972由贝尔实验室设计,用C语言设计(有可移植性)。

微内核

为了将内核尽量小巧,提出微内核的设计,尽可能把内核功能移植到用户空间。功能作为进程,其之间通过内核的消息传递机制进行协调。微内核为松耦合结构。

在这里插入图片描述

微内核设计代价:程序间交互要通过内核,进行多次拷贝,开销较大。因此微内核在产业界应用较少。

外内核

速度快,主要在学术界有进一步研究。

ExoKernel(读作XO Kernel),与硬件打交道,完成硬件的

LibOS与软件打交道,程序可以面向自己的LibOS,再统一面向ExoKernel。

在这里插入图片描述

LibOS与应用紧耦合。ExoKernel完成硬件的隔离。

虚拟机 VMs

在传统OS之下,虚拟出多个计算机系统。在计算机系统上虚拟出一台完整的计算机,包含全部物理环境。多操作系统共享硬件资源。

2012-09-17 12:04:54 iteye_10652 阅读数 43
  • 马哥Linux教程-Linux操作系统基础由浅入深全面讲解1

    本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    20338 人正在学习 去看看 马永亮
计算机操作系统的历史:
前言:
刚开始,肯定没有操作系统,只有硬件,称为裸机。随着科技的进步,让裸机成为电子产品的东西才是操作系统。
手工操作系统阶段:
这个阶段也可以称为手工操作阶段,没有操作系统的概念。
首先,那个时候没有永久存储电子设备,只有卡片和纸带来存储。
其次,那个时候已经出现了汇编语言,用来代替很难理解的二进制0101。当然也可以出现其他编程语言,只要有二进制的编译系统就行。
再者,你想运行你的程序,需要提供源代码的汇编程序或者二进制执行程序卡片或纸带
最后,你的程序执行时,所有的输入输出都是卡片或纸带。
单道批处理阶段:
手工操作阶段,裸机内只能存在一个程序,要想运行第二个,必须重新装卡片或纸带,重新输入程序。
在单道批处理阶段,可以开发一个监督程序,用于处理多个程序的执行,这个监督程序就有了操作系统的味了,还是解决IO的问题吧。
此时硬件有两大重大进步:
IO中断:IO设备能够主动通知主机
通道:就是控制器,控制处理机和IO设备
此时,监督程序进一步升级,称为执行系统,控制程序执行和IO
多道批处理阶段:
单道批处理阶段,程序的执行时顺序的,前面的程序无论执行多久,必须执行完后才能之后后面的。
在多道批处理阶段,执行系统切换多个程序的执行,当前面的程序遇到IO处理时,就切换到后面的程序执行,以提高效率,使处理机忙碌。
多道延长了一个程序的执行时间,但是整体时间是减少的,系统运行效率是提高的。
操作系统的进一步发展:
以后的操作系统,都以多道批处理为基础,何时切换多个程序的执行,根据自己的需求都有了自己的发展。
多道批处理系统不提供人机交互,感觉此时真的操作系统出现了,提供人机交互的多道批处理系统就是现代意义的操作系统。
分时系统:固定程序单次执行时间,过了时间后,切换程序。
实时系统:自定义程序执行时间,减少单个程序的执行时间,提高响应效率。
嵌入式操作系统:特定设备完成特定功能的操作系统。
个人计算机操作系统:
网络操作系统:装配大量网络操作软件的操作系统。
分布式操作系统:网络操作系统的升级版。
2017-10-13 11:19:38 apocalypse_tank 阅读数 485
  • 马哥Linux教程-Linux操作系统基础由浅入深全面讲解1

    本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    20338 人正在学习 去看看 马永亮

MISCELLANEOUS

Junit

注解 解释
@Before 在每个测试方法运行前执行的方法
@After 在每个测试方法运行后执行的方法
@BeforeClass 在类中所有测试运行之前运行的方法
@AfterClass 在类中所有测试运行完毕后运行的方法
@Test 测试方法
@Ignore 忽略掉本测试方法

操作系统历史 (Operate System History)

assets/dot/os_history.svg

2017-01-13 12:05:42 jieqiong1 阅读数 444
  • 马哥Linux教程-Linux操作系统基础由浅入深全面讲解1

    本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    20338 人正在学习 去看看 马永亮

1. 1955-1965

计算机非常昂贵,上古神机IBM7094,造价250万美元以上
- 计算机使用原则:只专注于计算
- 批处理系统:完成第一个任务,做第二个任务……如果当前任务出错,输出到磁带上,修改下PC,跳转到下一个任务。
批处理系统 处理不了 多种任务:比如有2个任务,一个是IO任务(银行账户余额发生变化时,将存款写入磁带),一个是计算任务。执行磁带写入时,CPU需要等待,写入结束 再执行下一个任务。
希望是 计算机执行IO任务 耗时 时,CPU切换到 其他任务执行。当IO执行完,再切回IO任务 继续执行该任务的 剩余部分

2. 1965-1980

计算机开始进入多个行业:科学计算(IBM 7094),银行(IBM 1401)
多进程结构 和 进程管理概念 萌芽
- 需要让一台计算机干多种事
- 多程序(multiprogramming)
- 作业之间的 切换和调度 成为核心:需要让CPU忙碌,既有IO任务,又有计算任务

2.1 IBM OS/360

多任务切换很复杂,IBM的 OS/360,实现了 多任务,但是很复杂,bug太多,未取得成功,但是 多进程思想已经萌芽

2.2 MULTICS

计算机进入多个行业,使用人数增加
- 如果每个人 启动一个作业,作业之间来回切换
- 分时系统(timesharing)
- 代表:MIT MULTICS(MULTiplexed Information and Computer Service)
- 核心仍然是 任务切换,资源复用的思想 对操作系统应用很大,虚拟内存 就是一种复用

这里写图片描述
这里写图片描述

多个任务等待执行,可能会有任务一直没有 执行。
分时系统:会使每个任务得到执行,一个任务执行一段,就 切换到 其他任务。与多进程 没有本质区别,都是任务切换。

2.3 Unix

1969年:贝尔实验室的Ken Thompson、Dennis Ritchi等在一台没人使用的PDP-7上开发一个简化的MULTICS,就是后来的UNIX
UNIX是一个简化的MULTICS,核心概念差不多,但更灵活和成功

3. 1980-1990

小型化计算机出现,PDP-1每台售价120,000美元,不足7094的5%
越来越多的人可以使用计算机
1981年,IBM推出 IBM PC,个人计算机开始普及,很多人可以用计算机,并接触 UNIX
1987年,Andrew Tanenbaum 发布了 MINIX用于教学

4. 1990-2000

1991年,Linus Torvalds在386sx兼容危机上学习minix,做出小Linux,于1991年发布
1994年,Linux 1.0 发布 并采用 GPL协议
1998年以后,互联网世界里 展开了 一场历史性的 Linux产业化运动

5.总结历史

多进程结构是操作系统基本图谱

IBSYS -> OS/360 -> MULTICS -> UNIX -> Linux

核心思想、技术:
- 用户通过执行程序 使用计算机
- 进程管理:操作系统让多个程序合理推进
- 多进程(用户)推进时 需要内存复用等

对于操作系统,实现概念 远比 理解概念 更重要
软件实现:
- OS/360 -> UNIX
- UNIX -> Linux ,提现了 群体智慧

任务:掌握操作系统的多进程图谱 并实现它!

6.历史是多线条的 : PC 与 DOS

6.1 QDOS

IBM推出PC,自然要给机器配一个操作系统
1975年Digital Research为 Altair 8800 开发了操作系统 CP/M
CP/M:用户写命令,操作系统 执行 命令对应的程序,单任务执行
1980年 出现的 8086 16位芯片,在CP/M 基础上 开发了 QDOS(Quick and Dirty OS)
QDOS没有继续开发,比尔盖茨 抓住了这个机会

6.2 MS-DOS

1975年,22岁的Paul Allen 和 20岁的 Bill Gates 为 Altair 8800 开发了 BASIC解释器,据此开创了微软
1977年,Bill Gates 开发FAT管理磁盘,QDOS的成功在于 以 CP/M 为基础 将 BASIC 和 FAT 包含了进来(用户关心 文件管理 和变成环境)
1980年,IBM 想和 Digital Research 协议授权使用 CP/M,但没有达成,转向和 微软合作
1981年,微软买下QDOS,改名为 MS-DOS(Disk OS),和 IBM PC 打包 一起出售

6.3 Windows

1989年,MS-DOS 4.0 出现,支持了 鼠标 和 键盘,此时 微软已经决定 放弃 MS-DOS
MS-DOS的磁盘、文件、命令 让用户使用更方便,但是 Windows会 更方便
不久后,Windows 3.0 大获成功,后来推出了 95,XP,Vista,Win 7,Win 8……
体现了 文件、开发环境、图形界面 对于OS的重要性

6.4 Mac OS 与 IOS

1984年,苹果推出PC,简称 Mac机,处理器使用 IBM、Intel 或 AMD等,核心在于 屏幕、能耗等
Mac机使用的System x系统,直接使用的GUI,System 7 之后改名为 Mac OS 8
Mac OS 核心是 UNIX,专注于 界面、文件、媒体等 和用户有关的内容
2007年发布IOS,核心是 Mac OS,专为移动设备服务

7. 总结历史:读史使人明智

CM/M -> QDOS -> MS-DOS -> Windows
Unix -> System -> Mac OS -> IOS

核心思想、技术
- 仍然是 程序执行、多进程、程序执行 带动 其他设备使用 的基本结构
- 倍加重视 用户的使用感觉“文件、编程环境、图形界面

软件实现
- 如何 通过文件 存储代码、执行代码、操作屏幕……
- 如何 让文件 和 操作 变成图标、点击 或触碰……

任务
1.掌握、实现 操作系统的 多进程图谱:主要讲 CPU、内存
2.掌握、实现 操作系统的 文件操作视图:主要讲 IO、磁盘、文件

2016-08-28 13:02:19 u013103846 阅读数 388
  • 马哥Linux教程-Linux操作系统基础由浅入深全面讲解1

    本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令和基本用法,课程由浅入深,讲授方法受到98%学员一致好评!

    20338 人正在学习 去看看 马永亮

1、操作系统历史

也许给我介绍其他事物的黑历史我是不想听的,但是了解一下操作系统的历史我很有兴趣。

操作系统的发展主要由两个因素驱动:

  • 硬件成本的不断下降。
  • 计算机的功能和复杂性的不断变化。

2、操作系统的各个阶段

  • ?- 1940 年,状态机操作系统,只是根据特定输入和现在的特定状态进行状态转换而已,不应成为计算机,而应该叫做自动机,不能存储程序。
  • 20 世纪 40 年代,单一操作员、单一控制端操作系统,这已经是当时的天才们能想到的最直观的控制计算机的方式了。通过提供一些标准命令给用户使用,而这些操作命令的集合就构成了原始操作系统 SOSC,已经可以提供人工交互。但任何时候只能做一件事,不支持并发和多道程序运行。操作系统并不自我运行,而是等待操作员输入命令再运行。
  • 20 世纪 50 年代,批处理操作系统, SOSC 之所以效率低下,是因为计算机总在等待人的下一步动作,而人的动作总是很慢。所以,事先将命令集合打印在纸带上,然后交给一个工作人员一批一批地处理,很多个用户的纸带命令会加载到计算机的磁带(磁带是外存)上。批处理操作系统对应的是第二代通用计算机。批处理操作系统由批处理监视器和库函数构成。由于磁带上存在多个用户的程序,所以出现了文件的概念。批处理操作系统仍然同一时间只能执行一个程序。
  • 20 世纪 60 年代,多道批处理系统,由于之前 CPU 和 I/O 设备是串行的,这种让高速设备等待低速设备的状况令人担忧,能否设计成 CPU 和 I/O 并发呢?即在一个程序输入输出时,让另一个程序继续执行、由此出现多道批处理系统。可以在宏观上实现同一时间运行多个程序,因此出现了保护一个进程不受另一个进程干扰。
  • 20 世纪 70 年代,
    • 分时操作系统,剔剔除统一计算机管理员,由用户自己管自己的程序,分给每个人有限的时间,只要时间到了,就换一个进程。把每一个用户看做一个 I/O 设备。相继出现池化、互斥、进程通信等技术。
    • 实时操作系统 ,为满足对计算机响应时间有要求的应用,如流水装备线。实时操作系统是指必须在规定时间内完成的操作系统,即必须满足时序可预测性。
  • 20 世纪 80 年代后,现代操作系统,一个特征时网络出现了,人们不满足于一直玩单机,网络促进了网络操作系统和分布式操作系统的出现。传统的网络操作系统是在现有的操作系统的基础上增加网络功能,而分布式操作系统从一开始就把对多计算机的支持考虑进来。

3、操作系统的历史演变

这里写图片描述

4、小结

总结:发展的过程,前期一直在提高计算机的利用率,改善效率,后期也会考虑用户的需求,比如友好的交互界面。

操作系统发展史

阅读数 1029

操作系统简介

阅读数 4600

没有更多推荐了,返回首页