操作系统笔记(一)

计算机的启动(boot)过程

第一阶段:BIOS(Basic Input / Output System)

硬件自检(Power-On Self-Test,缩写为POST):首先检查计算机硬件能否满足运行的基本条件

启动顺序(Boot Sequence):硬件自检完成后,BIOS将控制权转交给下一阶段的启动程序。这时,BIOS需要知道“下一阶段的启动程序“具体在哪一个设备。BIOS需要一个外部存储设备的排序,排在前面的设备就是优先转交控制权的设备

第二阶段:主引导记录

BIOS按照用户指定的引导顺序,从硬盘、软盘或可移动设备中读取启动设备的MBR(Master Root Record,主引导记录)并放入指定位置(0x7c000)的内存中。

计算机读取该设备的第一个扇区,也就是读取最前面的 512 个字节。它的主要作用是告诉计算机到硬盘的哪一个位置去找操作系统

如果这512个字节的最后两个字节是0x55和0xAA,表明这个设备可以用于启动;如果不是,表明设备不能用于启动,控制权被转交给启动顺序中的下一个设备。

第三阶段:硬盘启动

计算机的控制权要交给硬盘的某个分区了。

计算机会读取激活分区的第一个扇区,叫做“卷引导记录”(Volume Boot Record,缩写为VBR)。

VBR的主要作用是告诉计算机操作系统在这个分区里的位置,这样计算机就会加载操作系统了。

启动管理器

在这种情况下,计算机读取主引导记录前面446字节的机器码之后,不再把控制权转交给某一个分区,而是运行事先安装的启动管理器(boot loader ),由用户选择启动哪一个操作系统。

第四阶段:操作系统

控制权转交给操作系统后,操作系统的内核首先被载入内存。

操作系统的目标

提高系统的资源利用率提高系统效率方便性可扩充性开放性

Simple Batch Systems 单道批处理系统

为解决人机速度不匹配问题。

实现

通过一种称为监控程序的软件,使用户不必直接接触机器,而是先通过卡片机和纸带机向监控程序提交(同类)作业 ,由监控程序将作业组织在一起构成一批作业 ,然后将整批作业放入由监控程序管理的输入设备上,每当一个作业执行完毕返回监控程序时,监控程序自动装入下一个作业 。

60年代初期,硬件获得了两方面的发展,即通道和中断技术,导致了OS进入执行系统阶段

用监督程序(或管理程序monitor)来实现作业的自动转换处理。

原来的Monitor不仅负责作业运行的自动调度,而且还要提供 I/0 控制功能,常驻内存,称为执行系统( Executive System)。

特点

解决了人工干预过长的问题,但仍然是单道顺序的处理作业,资源容易造成空闲,即利用率不高。

为解决该问题,OS进入了多道程序阶段。

Multiprogramming Batch Systems 多道程序批处理系统

集成电路——现代意义上的操作系统出现

主存中可同时有若干个作业,CPU在其中切换。

优点

资源利用率高:

标准MBR结构

地址 描述 长度(字节)
Hex Oct Dec
0000 0000 0 代码区 440(最大446)
01B8 0670 440 选用磁盘标志 4
01BC 0674 444 一般为空值;0x0000 2
01BE 0676 446 64
01FE 0776 510 55h MBR有效标志: 2
01FF 0777 511 AAh 0x55AA
MBR, 总大小: 446 + 64 + 2 = 512

Windows任务管理器

Dave Plummer是最初的任务管理器开发者,他解释说,他所创建的一些功能目前仍然存在,只是很少有人真正了解这些功能。

CTRL + Shift + Esc

大多数人启动任务管理器的方法是右击任务栏选择任务管理器,或者按CTRL + Alt + Del,然后选择任务管理器。但实际上,按CTRL + Shift + Esc就可以直接启动任务管理器,这要简单得多,并且可以在不使用shell的情况下打开任务管理器。

为什么说这比其他方法更有用呢?因为在不涉及shell的情况下,这个快捷键可以让你在shell本身崩溃的情况下也能启动任务管理器,有时候任务栏消失就不能右键启动任务管理器。

Plummer说,即使在任务管理器本身崩溃时,也可以使用同样的快捷方式启动该应用,而这一切都是因为这个快捷键从一开始设计就专门考虑到了这个问题。

“如果任务管理器曾经卡死或崩溃,按ctrl-shift-esc启动另一个任务管理器。Winlogon会寻找一个现有的实例,并尝试重启它,最多10秒。如果旧的任务管理器没有在这段时间内以秘密代码响应,那么另一个任务管理器将被启动。”他说:“这样一来,只要有一些资源可用,你永远不会打不开任务管理器。”

任务管理器精简模式

很多用户都已经知道,APP死机、系统资源耗尽,可能会导致各种问题,包括电脑一开始就无法启动任务管理器。

这是因为没有资源来加载任务管理器,所以开发者在创建这个APP的时候,也准备了一个精简模式来处理资源不足的问题。

换句话说,这是一个特殊的“安全”模式,你可以启动,然后直接点开进程选项卡,看看是什么原因导致资源占用,然后手动杀死进程,让系统恢复到正常工作状态。同样,你可以使用上述的快捷方式来完成,因为当系统资源耗尽时,任务管理器会自动进入精简模式。

“任务管理器会在资源不足的情况下以精简模式加载,比如只加载进程页面。它是极少数不会在出现问题时直接‘失败和退出’的应用程序之一。”Plummer说。

重置任务管理器

在某些情况下,即使任务管理器也难以处理系统上的所有崩溃,因此任务管理器本身有时也可能会崩溃。

不过不用担心,因为Plummer表示,你只需要用一个非常小的技巧就可以轻松地将其重置,并将其恢复到正常状态。

“如果任务管理器一旦内部损坏,请杀死/关闭它。然后重启它的同时按住CTRL、ALT和SHIFT键,任务管理器在启动时如果检测到了这个组合键,就会将所有内部设置重置为出厂时的状态。”他还解释说:“我写的每一个应用都有这个小技巧!”。

总而言之,Windows任务管理器是一个比大多数人想象的要复杂得多的应用,而这一切都是因为它在开发之初就考虑到了用户在需要该应用时可能遇到的大部分场景。幸运的是,微软在这么多年的时间里并没有改变任务管理器的根基,所以上述技巧不仅在老版本的Windows中可以使用,在Windows 10中也可以正常使用。

(注:仅为学习记录,摘自网络)