目录
- 第一章 操作系统概述
-
- 01-概念功能和目标
-
- **①操作系统是系统资源的管理者**
- **②向上层提供易用的服务**
- 接口
- **③最接近硬件的软件**
- 02-操作系统的特征
-
- 2.1 并发
- 2.2 共享
-
- 互斥共享方式
- 同时共享方式
- 2.3 虚拟
- 2.4 异步
- 03-操作系统的发展与分类
-
- 3.1 手工操作阶段
- 3.2 批处理阶段——单道批处理系统
- 3.2 批处理阶段——多道批处理系统
- 3.3 分时操作系统
- 3.4 实时操作系统
- 04-操作系统运行机制
-
- 4-1 预备知识
- 4-2 内核程序VS应用程序
- 05-中断和异常
-
-
- 5.1 内中断(异常)
- 5.2外中断
- 5.3中断机制基本原理
-
- 06-系统调用
-
- 6-1什么是系统调用
- 6-2系统调用和库函数的区别
- 6-3小例子:系统调用存在的必要性
-
- 6-4系统调用按功能分类
- 6-5系统调用的过程
- 07-操作系统体系结构
-
- 操作系统的内核
- 两种内核设计方法
第一章 操作系统概述
01-概念功能和目标
裸机->操作系统->应用软件->用户
①操作系统是系统资源的管理者
举例
使用qq的过程
-
文件夹中找到求的位置————————文件管理
-
打开qq(分配内存)—————————内存管理
-
运行qq(分配处理机)————————处理机管理
-
视频聊天(摄像头调用)———————设备管理
- 处理机管理
- 储存器管理
- 文件管理
- 设备管理
②向上层提供易用的服务
接口
-
GUI
-
联机命令接口
命令行 用户说一句系统做一句
-
脱机命令接口(批处理)
.bat文件
-
程序接口(系统调用)
可以在程序中系统调用来使用程序接口。程序代码间接使用
③最接近硬件的软件
操作系统让各个硬件组织起来,扩展
02-操作系统的特征
并发和共享是两个最基本特征,互为存在条件
2.1 并发
并发是两个事件同一时间间隔发生(宏观同时微观交替)
并行是同一时刻两个事件同时发生
注意
单核CPU同一时刻只能执行一个所以单核CPU各个程序只能并发的执行
多核(比如四核)同一时刻可以同时执行四个程序,四个程序并行
2.2 共享
指的就是资源被多个并发执行的进程共同使用
互斥共享方式
一个时间段内只允许一个进程访问
摄像头同一时间段只能给一个程序用
同时共享方式
允许一个时间段多个进程对她进行访问
同时访问文件宏观上是同时,微观上还是交替
2.3 虚拟
物理内存和实际运行的内容不符
虚拟技术中的空分复用技术 (4个G的内存玩8个G的游戏)(第三章重点)
时分复用技术,在一个时间段看似同时运行多个程序,实际上微观上在各个微小的时间段内交替着为各个进程服务
2.4 异步
并发运行时因为资源有限,并发的程序会互相等待,以不可预知的速度向前进行
03-操作系统的发展与分类
3.1 手工操作阶段
纸带机——超级慢
人机矛盾爆炸
3.2 批处理阶段——单道批处理系统
脱机输入/输出技术(用外围机+磁带)完成,有监督程序负责控制IO
缺点:程序串行运行,输入输出时间长。浪费CPU计算
3.2 批处理阶段——多道批处理系统
输入输出分离,一直CPU计算
缺点:不提供人机交互功能
3.3 分时操作系统
时间片为单位轮流服务
缺点:不能为紧急任务提供服务
3.4 实时操作系统
及时性可靠性
硬实时系统
软实时系统
04-操作系统运行机制
4-1 预备知识
c语——>机器指令
指令不是命令,指令是二进制的机器指令
4-2 内核程序VS应用程序
内核程序就是操作系统内核程序
普通程序员写的是应用程序
内核程序有特权指令
CPU生产时可以区分特权指令和非特权指令
CPU两种状态内核态,用户态
CPU有个寄存器叫程序状态寄存器(PSW)1为内核态(管态) 0为用户态(目态)
内核态可以执行特权指令修改PSW变成用户态
用户态执行了黑客的内核态的代码就会中断,硬件自动变态
操作系统将强行夺回CPU的使用权处理完之后在还回来
05-中断和异常
中断是操作系统内核夺回CPU使用权的唯一途径用户态——>内核态
有中断技术才能实施并发
内核态到用户态可以用特权指令自动修改PSW变态过去
用户态到内核态只能通过中断方式
5.1 内中断(异常)
与当前执行指令有关
-
例如:有特权指令被执行(终止)
-
例如:除以0,指令本身非法(终止)
-
例如:需要操作系统的内核服务,就执行陷入指令内部中断信 (陷入)
-
还有一种故障,例如缺页故障
5.2外中断
与当前执行指令无关
- 例如:时钟部件每隔一个时间片,发送一个时钟中断信 (并发)
- 例如:IO设备例如打印机输入输出任务完成通知CPU
CPU会在每个指令结束后看看有没有外中断
5.3中断机制基本原理
不同中断信 类型有不同的中断处理程序
通过“中断向量表”
06-系统调用
6-1什么是系统调用
底层接口,可供应用请求操作系统服务
6-2系统调用和库函数的区别
系统调用是比高级语言的库函数更接近底层
系统调用是操作系统提供的
高级语言是隐藏了系统调用细节
不是所有库函数都会使用系统调用。比如取绝对值,不涉及系统服务
6-3小例子:系统调用存在的必要性
两个人用打印机,。。
并发进程对共享资源的互斥访问时,内核通过合理调用系统调用就可以避免奇葩问题
6-4系统调用按功能分类
- 设备管理 请求释放启动
- 文件管理 读写创建删除
- 进程控制 进程的创建撤销阻塞唤醒
- 进程通信 进程之间的消息//信 传递
- 内存管理 完成内存分配/回收
6-5系统调用的过程
用户程序是用户态,提供完想要服务的参数发出一个陷入指令,CPU内中断变成内核态
调用陷入指令引发的中断程序,通过寄存器传的刚才给的参数判断要做到系统调用有哪些
07-操作系统体系结构
操作系统的内核
操作系统内部分为内核和非内核
原语:具有原子性,必须运行完才考虑产生的中断之类的
Ubuntu CentOS开发团队开发的都是非内核部分,用的都是Linux内核
两种内核设计方法
-
微内核:内核中只保留和硬件关系特别近的,无各种管理
优点:内核功能少,结构清晰,方便维护
缺点:管理那些东西都运行在用户态了,调用 各个管理都会变态,频繁的变态会让CPU变慢
-
大内核:把各个管理也加进来的大内核
优点:高性能
缺点:内核代码大,结构乱,难以维护
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24720 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!