最近要打算开始学习操作系统啦,以后会陆陆续续更新其它章节笔记。(小白一枚,如有不足请多指教!!)
学习参考视频:操作系统—苏州大学慕课
第一章 导论
1.1 什么是操作系统
操作系统的英文是Operating System,简称OS。
-
操作系统目的
现在假如说没有操作系统,计算机能做什么?
答:我们将无法在计算机上运行任何程序。
在要明白操作系统的目的之前,我们先来了解计算机系统的4个部分:
如上图,操作系统作为计算机最底层的软件,是应用程序运行的基本支撑环境,不可或缺。
那现在来看操作系统的目标,是不是更容易理解了!
-
核心目标——运行用户程序
-
面向系统——更高效使用计算机
-
面向用户——更方便使用计算机
-
-
操作系统定义
目前为止很难给出一个确切的范围,但有两种极端的观点:
观点一:(极大化)
“当你预定一个操作系统的零售商所装的所有东西”就是操作系统。
观点二:(极小化)
内核(kernel)才是操作系统。内核是一直运行在计算机上的程序,内核不运行则计算机无法工作。
-
计算机硬件结构
操作系统建立在硬件上,为此,复习硬件知识也是有必要的,更方便之后的学习。
现代计算机系统一般有以下几个部分组成:
-
一个或多个CPU(或核)和内存
-
若干通过总线相连的设备控制器和I/O设备
-
总线
CPU可以从内存读取指令和数据,并执行指令,也就是运行程序。而各个I/O设备,则由各自的控制器控制。
每个控制器实际上是一个小型化专用的处理器,负责控制特定设备运行。
所以,CPU和设备控制器可并行工作,并竞争内存。
CPU通过设备控制器控制设备运行的过程
-
首先要说明的是:
每个控制器都有一个本地缓冲;
CPU可以在内存和控制器的本地缓冲之间传输数据;
而控制器是可以在设备和设备的本地缓冲之间传输数据;
-
从磁盘读入数据的过程:
由上也可以看出,控制器在读取磁盘数据时,CPU可以并行工作!
中断是指当出现需要时,CPU暂时停止当前进程的执行转而处理新情况的中断处理程序。当执行完该中断处理程序后,则重新从刚才停下的位置继续当前进程的运行。
-
-
操作系统启动
1.2 多道程序设计和分时
-
多道程序系统
在管理程序控制下相互穿插运行,使CPU和I/O操作可以并行。
-
目的
使得CPU和设备在所有时间内尽可能忙碌,从而提高CPU和设备的利用率,充分发挥计算机系统部件的并行性。
多道程序设计技术是现在操作系统的基础,绝大多数的现代操作系统都采用该技术,可以大大提高计算机的性能。
由不同控制器控制的设备可以并行操作,而由相同的控制器控制的设备一般不可以并行操作。
这里需要明白并行和并发的区别
-
并行是指两个或者多个作业在同一时刻运行
-
并发是指两个或者多个作业同一时间间隔内一次运行
如下图,上面的咖啡机为两个队伍交替服务,而下面的咖啡机分别为两个队伍服务
-
-
分时系统
随着主机的出现,从而延伸出了交互作业,也就是希望运行的响应时间要短,最好少于1秒。
下面先举一个例子,来了解分时系统:
- 有10个作业,他们交替运行每个各运行10毫秒(分时),直到作业完成
- 假如说第一个作业总共要运行10s,而后面作业运行时间都很短,这样分时就避免了要等待第一个作业完成后面作业才能运行。
分时系统是多道程序的延伸:
时间片:把一段CPU时间按照固定单位进行分割,每个分割得到的时间段称为一个时间片。
1.3 操作系统类型
由于应用场合的不同,要求的偏重点不同,所以有多种操作系统类型。
桌面系统
-
个人计算机
每个人拥有一台计算机。
设计目标:用户方便性,响应速度
所以有了图形化界面GUI
-
例子
WIndows、Linux、Mac OS
手持(移动)系统
-
手持设备,如平板、手机
资源有限
扩展功能:GPS导航、移动支付、位置服务
-
例子
Apple iOS、Google Android
嵌入式系统
完全嵌入受控器件内部,为特定应用而设计的专用计算机系统
-
特点
内核较小、专用性强、系统精简、高实时性质
-
应用场合
工业控制、交通管理、信息家电、家庭智能管理
分布式系统
支持分布式处理的软件系统,又称松耦合系统。
-
通信方式
TCP/IP
-
实现
-
客户机—服务器系统
把客户端和服务器区分开来,每个客户端软件都可以向服务器请求服务
-
P2P系统
每个点即使服务器又是客户机,目前计算的P2P还很难实现,主要实现的是实现的是数据共享的P2P,比如腾讯会议等。
-
多处理器系统
- 特点
多处理器系统由共享公用物理内存的多个处理器组成。 多处理器系统提供了更高的计算能力和速度。
在多处理器系统中,所有处理器都在单个操作系统下运行。 处理器的多样性以及它们如何共同发挥作用对其他厂商都是透明的。 - 优势
- 增强性能
- 通过不同的处理器同时执行多个任务,可以提高系统的吞吐量,而不会加快单个任务的执行速度。
- 如果可能,系统将任务划分为许多子任务,然后可以在不同的处理器中并行执行这些子任务。 从而加快了单个任务的执行速度。
集群系统
通过专用网络连接一群计算机,把这些计算机虚拟化为一台有超强计算能力的计算机给用户使用。
- 优点
高性能、低成本、高可扩展性、高可靠性。 - 例如
1.4 操作系统操作和功能
-
双模式
程序运行中可能会出现软件错误、特定请求异常或陷阱(如除数为0)或者其他进程问题,如果不加以处理就会导致操作系统的异常乃至操作系统的崩溃。
所以,必须要保证操作系统的运行,不受其他程序的影响,因此采用了双重模式。用户模式:所有的用户应用程序只能在用户模式下运行。
内核模式:只能运行操作系统的程序。这样的优点是允许OS保护自身和其他系统部件。其中,一个实现机制就是特权指令:可能引起系统崩溃的指令,只能运行在内核模式。
-
I/O和内存保护
-
定时器