[现代操作系统]操作系统引论

操作系统引论

位置

os

功能

向应用程序提供抽象--自顶向下

抽象是管理复杂性的一个关键, 好的抽象可以把一个几乎不可能管理的任务划分为两个可管理的部分:

  • 有关抽象的定义和实现
  • 用这些抽象解决问题


资源管理--自底向上

在相互竞争的程序之间有序地控制对处理器, 存储器以及其他 I/O 接口设备的分配

发展历史

第一代(1945-1955)--真空管和穿孔卡片

ENIAC , 程序设计是用纯粹的机器语言,

使用: 程序员在墙上的机时表上预约一段时间,,然后到机房中将他的插件板接到计算机中,在接下来的几小时等待(计算的都是简单的数字运算, 如制作对数表)

第二代(1955-1965)--晶体管和批处理系统

批处理系统(batch system), 在输入室中手机全部的作业 ,然后用一台相对便宜的计算机,读到磁带上. 磁带被送到机房里并装到磁带机上. 然后操作员装入一个特殊的程序(现代操作系统的前身), 它从磁带上读入第一个作业并运行. 如此反复

第三代(1965-1980)--集成电路芯片和多道程序设计

多道程序设计(multiprogramming): 若当前作业因等待磁带或其他 I/O 操作而暂停时, 为了不让 CPU 一直等待这一个作业, 将内存分几个部分, 每一部分存放不同的作业, 在一个作业等待 I/O 时, 可以让另一个作业使用 CPU.

在内存中防止多个作业需要特殊的硬件来保护, 以免作业的信息被窃取或受到攻击.

程序员希望得到更快响应, 由此出现分时系统(timesharing).

第四代(1980至今)--个人计算机

大规模集成电路(LSI)的发展, 晶体管个数在单位平方厘米面积的芯片上可达数千个.

逐步发展处 网络操作系统, 分布式操作系统

操作系统结构

单体结构

单体结构
  • 主程序: 处理服务过程请求
  • 服务过程: 执行系统调用
  • 实用过程: 辅助服务过程

层次式系统

by Dijkstra

微内核

传统上,所有的层都在内核中, 但是这样并没有必要. 尽可能减少内核态中功能的做法更好. 要知道, 代码量越大, bug 越多.

思想
为了实现高可靠性,将操作系统划分成更小的, 良好定义的模块. 只有其中一个模块--微内核 运行在内核态上.

Client-Server模式

将进程划分为两类,

  • 服务器: 提供服务
  • 客户端: 使用服务
    通常在系统最底层是微内核

虚拟机

优点

  • 节省硬件成本, 如不同服务器(web, ftp, mail...)可以在一台宿主机上
  • 同时运行多个 OS 的需求(如软件开发过程, 运行在某些 OS 不支持的程序)
  • 检查点, 虚拟机的迁移: 仅需移动内存映像

条件

  • 敏感指令( sensitive instruction ).:有内核态用户态的 CPU 的一组只能在内核态执行的指令集, 比如 I/O 指令, 改变 MMU 状态的指令等,
  • 特权指令( privileged insttruction): 在用户态下执行会引起陷入

当 敏感指令是 特权指令的子集时, 机器才是可虚拟化的

解决的基本思想: 创建容器使得虚拟机在其内运行

Ⅰ 型管理程序

在其上的 OS 称为客户操作系统

virtual machine

虚拟机在用户态以用户进程的身份运行, 因此不允许执行敏感指令,否则崩溃

在支持VT技术的 CPU 上, 客户操作系统执行敏感指令会发生陷入. 管理程序分析指令

  • 来自客户操作系统: 管理程序调度将要执行的指令
  • 来自虚拟机中用户程序: 仿真面对运行在用户态的敏感指令时真是硬件的行为

Ⅱ型管理程序

在其上的 OS 称为宿主操作系统,如上图 b

VMware就是采用的这种管理程序:
当运行一个二进制文件, VMware 先浏览代码段以寻找基本块(basic block).

所谓基本块就是以 jump, call, trap 等改变控制流的指令结束的可顺序执行的指令序列, 而基本块中就不含其他改变 程序计数器 的指令

如果基本块中含有敏感指令, VMware 将其替换为相应的 VMware 过程调用, 基本块的最后一条指令也被过程对用替换

这种 找出, 仿真敏感指令 的技术成为 二进制翻译(binary translation)

所以, 即使在不可虚拟化的硬件上, Ⅱ型 也能正常: 因为所有的敏感指令被仿真, 不会被真正的硬件执行,管理程序的调用可以代替.

准虚拟化(paravirtualized)

前面介绍的两种, 在其上的客户操作系统都是没有修改过的. 可以更改客户操作系统的源码, 将其中的敏感指令都转换为 管理程序调用. 这就要给管理 程序 定义 过程调用集合, 从而形成 API, 虽然这个接口是供客户 OS, 而不是 应用程序.

其实就将管理程序变成了一个微内核.

这种方法就是准虚拟化, 这样会使得虚拟机技术更容易被支持和使用


问题:

  • 如果所有敏感指令都被代替, 操作系统不能在物理机器上运行
  • 如果市场下有很多管理程序, 有不同的 API 接口

Amsden 的一个解决方案:
当内核需要执行一些敏感指令操作时会调用特殊的例程(称为 VMI 虚拟机接口), VMI 形成的底层与硬件或管理程序进行交互. 将 VMI 设计得通用化, 不依赖硬件或特定的管理程序

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,594评论 18 139
  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 11,888评论 3 34
  • 最近因为三色事件,幼童的安全问题刷爆了朋友圈,也刷爆了各大公号。 各大公号有的是借话题的热度转点击...
    4点半的恩赐阅读 186评论 0 0
  • 1、情人节 第一次情人节和除夕夜这么近,没有和最爱的她一起,稍微有些遗憾,但是有彼此的书信方式交流真的非常不错。很...
    钱程浩瀚阅读 84评论 0 0
  • 根据时代的流行,许多人已经养了蚕。我们家也养了蚕。 我们的蚕分别装在两个盒子里。一个大一些的盒子装了些大蚕,那些蚕...
    王思彤阅读 242评论 0 0