导论
导论分为四个部分
文章目录
文章是个人的学习笔记,参考大学《操作系统原理及应用》课本和B站Y4NGY的《操作系统原理》课程写的笔记
笔记按照Y4NGY的视频思路和PPT书写的
在这里感谢作者的视频讲解,这对我帮助很大
1.什么是操作系统
操作系统处于计算机的内核态,他是软件中最基础的部分,拥有对计算机的硬件的完全访问的权利,可以执行计算机能够运行的任何指令。用户接口程序和我们的日常使用的应用软件都是属于用户态,使用的是操作系统提供给上层的接口。
操作系统为应用程序提供了抽象的概念,我们与计算机之间进行交互的程序,都不是操作系统本身,如果是基于文本的(例如Linux的命令行)就是shell,如果是基于图形界面的(GUI)。
从自底向上的角度来看,操作系统是对硬件资源的管理。
操作系统是硬件的拓展,他“隐藏”了硬件,用户只需要与操作系统所提供的接口打交道。
操作系统是计算机资源的管理者,从自顶向下的角度来看,操作系统与硬件提供的接口打交道。
很多的设备都有操作系统,比如我们平时使用的路由器也是有操作系统的
计算机的层次结构
看计算机的层次结构,我们可以理解什么是接口的概念
操作系统提供了3类型的接口供用户使用:
- 命令级接口
根据作业的方式不同,命令接口又分为联机命令接口和脱机命令接口。
命令级接口是以命令行的形式的,操作系统的一条命令或者一个Shell文件都是命令接口
- 程序级接口
程序接口由一组系统调用命令组成,提供一组系统调用命令供用户程序使用
程序接口是操作系统内部提供的一些完成某些通用功能的子程序,允许用户在开发程序的时候调用
在大学课本的第四页里面有详细的介绍
- 图形界面
现在Linux和windos都有图形化界面,降低使用门槛,提高人机交互性
虚拟机
在这里在引入一个虚拟机的概念:操作系统向用户提供一个容易理解和使用的“计算机”(虚拟的),用户对这个“计算机”的操作都 将被操作系统转成对计算机硬件的操作。
我们在IO设备上的操作,其实只是对操作系统之上虚拟出来的“计算机”的操作,操作系统把我们的操作转换成对硬件的直接操控。
操作系统能做什么
操作系统向上提供对应用程序的虚拟接口,向下提供对硬件的虚拟接口
简单来说就是上面的情况,如果细说展开的话在大学课本的第五页有比较详细的说明
如何定义操作系统
这几句英文都不难理解:(加了一点个人理解)
- 操作系统是硬件和上层应用程序的媒介
- 操作系统的存在让程序的执行更加的方便和高效
- 操作系统是硬件的管理者
2. 操作系统的组成
操作系统是存放在硬盘中的,当我们开机的时候操作系统才会从硬盘中被CPU读取到内存中
在我们要了解一下,什么是适配器。
适配器:通俗一点说就是一种起中间连接作用的配件,使用这种配件的作用在于简化主机的硬件设计,增加主机的通用性和灵活性。
比如说显卡,我们也把这个成为显示适配器,了解这个概念对我们下面学习有帮助
关于硬盘,大概了解即可
在内核启动的时候,主引导扇区发挥了重要的作用
bootsect负责引导启动程序
我们来整理一下计算机启动的一个简略过程如何:
- 打开电源键
首先我们点开的电脑的开机键
- CPU控制权交给了BIOS
BIOS(基本输入/输出系统)是计算机系统的固件,它位于计算机主板上。它提供了开机自检(POST)和初始化硬件的功能,以及在操作系统加载之前进行基本的硬件和系统设置。
BIOS还负责启动计算机,并提供一些与硬件相关的低级别功能,如键盘、显示器和存储设备的操作。它是计算机系统中非常重要的组成部分。
BIOS存放在计算的CMOS里:而CMOS是主板上的一块可读写的并行或串行芯片,是用来保存BIOS的硬件配置和用户对某些参数的设定。
启动设备信息被设置在CMOS中(CMOS: (64B-128B)。用来存储实 时钟和硬件配置信息。)
- BIOS运行程序
上面解释了,BIOS会先通电测试自己的程序是否OK
- BIOS确认外部设备
BIOS检查计算机的外部设备是否正常,比如检查硬盘是否损坏之类的
我记得之前自己经常强制关机以前的电脑,然后时间久了电脑会经常开机失败,拿到店里面检查的时候,店员说我的这个硬盘已经完全损坏废了,想二手卖我一张机械硬盘350块钱,还好那个时候我没有买。
- BIOS找到磁盘的引导区
引导扇区就是启动设备的第一个扇区
因此,硬盘的第一个扇区上存放着开机后执行的第一段我们可以控制的程序
这个时候,BIOS把主引导程序Bootloader装入到内存中(这个主引导程序就是一段.s的汇编代码,不是机器码)
这个时候电脑会跳出来加载的界面,其实这个时候操作系统正在装入内存之中
- 引导操作系统结束,操作系统正式接管计算机
当开机之后,操作系统才正式的接管计算机,在开机之前BIOS是负责装载操作系统工作的
- 操作系统等待事件的发生
这个时候我们就可以使用IO设备对计算机进行操作了,点击鼠标或者敲击键盘
中断
中断是计算机中非常核心关键的一项技术,虽然现在我们不能理解这项技术的强大
但是在这里简单的了解中断
中断的作用: 中断使得计算机系统具备应对对处理突发事件的能力,提高了CPU的工作效率,如果没有中断系统,CPU就只能按照原来的程序编写的先后顺序,对各个外设进行查询和处理,即轮询工作方式,轮询方法貌似公平,但实际工作效率却很低,却不能及时响应紧急事件。
内存管理
只要是涉及到和内存有关系的东西,都让人感觉会很难比较害怕
在大学课本的第五页,对这部分的内容有讲解,可以看看
或者必应搜索一下操作系统内存管理的内容也可以深入了解
IO结构
我们上面了解的适配器内容,在这里就有作用啦
操作系统有专门的设备管理作为他的子系统,说明这部分比较重要
比如我们要输出一句话到显示屏上面:
我们打字通过IO设备将输入的内容先发送到内存中然后再到CPU内进行处理
CPU跟操作系统交互,“我最帅”这行字能不能显示到屏幕上啊
操作系统检查了一下设备驱动,发现刚好有显示器的驱动程序
然后通过显示器的驱动程序告诉显卡适配器,把我最帅这行字打印在屏幕上
最后显卡把”我最帅“这行字转换成了显示器能听懂的信号,在屏幕上显示出来了
IO管理的任务就是接受用户程序提出的IO请求,为用户程序分配IO设备。
这里重点了解一下设备驱动的内容:
设备驱动程序实现了CPU和设备控制器之间的通信,当CPU向设备控制器发出去了IO指令,由设备控制器驱动相对应的设备进行IO操作。当IO操作完成的时候,设备会想CPU发出中断信号,由对应的中断处理程序来处理。
为什么说中断在操作系统中是一个特别重要的内容呢,很多地方都要有中断,不然没有办法进行IO操作。
3. 计算机系统体系结构
单处理系统
多处理系统
集群系统
集群系统就是多台计算机通过网络连接在一起,然后每一台计算机都可以成为独立的节点
每个节点之间的链接不是特别的紧密,一台计算机宕机了之后不会造成整个系统的崩坏,其他的计算机照样可以正常运行
4. 操作系统结构
这部分的内容在大学课本的第九页上有比较详细的介绍
单道批处理系统
多道批处理系统
处理器和IO设备具备并行工作的能力是一个比较复杂的内容
为了获得CPU最高与外设的并行能力,引入了通道技术。通道技术又被称为I / O处理机。
作用是:通道技术实现了I/O系统的独立性和各个部件的并行性。(可以理解为不同的CPU主存可以通过不同的通道,执行不同的通道指令,控制控制器执行不同操作)
上面那一段也是Google复制粘贴的内容,其实自己对这方面的内容也不是特别的了解
分时系统
在早期的大学课堂里面,大家都只有一个屏幕,然后所有的同学都去使用一台主机
但是对于每个同学而言,大家都好像拥有一台独立的计算机
操作系统还有其他的特征:
当然这部分的内容不属于导论的具体讨论的范畴,先基本的了解一下即可