/记录一下自己在学习操作系统时的知识点,如果有不对的地方,欢迎指正/
OS的一些基本概念:
1) .c文件—>可执行程序?
.c文件–预处理–编译–链接–可执行程序
2)os是什么??
*硬件之上的第一层软件 + 是一组程序 + 用来有效控制和管理计算机系统的各类资源 + 是用户和计算机之间的接口,以方便用户使用计算机。
OS功能:
*一个虚拟机---->用户观点
//用户与计算机之间的接口(命令接口、编程接口),使用户不涉及到计算机硬件
*一个资源管理器----->系统观点
//硬件资源:构成计算机系统所必须配置的所有硬件:CPU、内存、时钟、磁盘…
//软件资源:程序和数据(文件)
//4大功能:进程管理(程序调度;CPU的分配) + 内存管理(内存分配、释放、保护、扩充…) + 文件管理(文件存储空间管理、存取、访问控制) + I/O设备管理(设备分配、缓冲区管理)
3)作业
作业是从输入开始到输出结束,用户要求计算机所做的一次业务处理的全部工作。
作业 = 程序 + 数据 + 作业说明书
(作业概念源于批处理系统,在分时系统中一般不存在传统作业的概念)
4)批处理(batch)
一批作业构成一个作业队列,依次处理
提出目的:想要改进内存和I/O设备之间的吞吐量,可以多个作业一次一起处理
缺点:无交互能力:作业从提交到完成,用户不能与之交互,导致一旦发现作业错误不能及时改正; 延长了软件开发时间,所以一般只适用于成熟的程序或大型的计算程序。
5)单道程序与多道程序
单道:在内存中只能有一个用户程序(从进入到结束)–>CPU利用率低
多道:在内存中存放多个用户程序,同时处于可运行状态 --> 即当一个程序等待I/O时,另一程序可以使用CPU
6)多道批处理系统
批处理系统中引入多道程序技术:系统单位时间内完成的总工作量(吞吐量)大;资源利用率高;作业从进入系统到完成所经历的时间(即周转时间)长
7)分时系统
//*时间片:OS将CPU时间划分为若干片段//
多个用户(程序)共享一台计算机,按时间片轮流使用:(多路性、交互性、独占性、及时性)
8)并发(Concurrence)与并行(Parallel)
并行:两个或多个事件在同一时刻发生
并发:两个或多个事件在同一时间间隔内发生
9)实时OS、网络OS、分布式OS
实时OS:系统实时响应外部请求
网络OS:提供网络通信和网络服务功能(在计算机网络上)
//两种基本模式:客户/服务器(Client/Server)模式、对等(Peer-to-Peer)模式 对用户不透明,即用户需要指明所使用资源的位置
分布式OS:运行在不具有共享内存的多台机器上,可以将一个进程分散到各机器上执行,但在用户眼里却像一台计算机 对用户透明,即用户不了解所占用资源的位置
10)OS对运行环境的要求
*CPU
//特权指令(例如:启动外部设备,清内存,关中断…只能OS使用)
//CPU的2种工作状态:核心态(Kernel Mode)和用户态(User Mode)
----处理器处于核心态时,全部指令都可以执行,可使用所有资源 ; 用户态:只能执行非特权指令
//程序状态字PSW(Program Status Word)和程序计数器PC(Program Counter)
----PSW:指示程序执行的当前状态【主要包括:CPU的工作状态(核心态还是用户态)、条件标志、中断标志】
---- PC:指示下一条要执行的指令
*内存
//内存分块–>旨在简化对内存的分配和管理
//内存保护:界限寄存器(上界寄存器和下界寄存器)、存储保护键(Key)–>OS正常运行的基本条件
----存储保护键(Key):当一个程序进入内存时,OS为其分配一个唯一的Key,同时将分配给它的每个存储块都设置成该Key。
----PSW中的存储Key字段存放当前运行程序的Key;访问内存时,两个Key要匹配;存储块引入读保护位:0:Key不匹配也可读,1:Key不匹配不可读
*中断
CPU收到外部中断信号后,停止原来的工作,转去处理该中断事件,完毕后回到原来断点,继续工作。如果没有中断,OS将难以工作
中断类型:硬件中断、异常(Exception)、陷入(Trap,又称访管中断)
*时钟
OS必不可少的硬件设施:硬件时钟(绝对时钟、相对时钟-分时系统的基础)和软件时钟
*重定位
将程序中的相对地址转换为绝对地址。(原因:运行前不可能知道程序将放在内存的什么位置。)==
静态重定位: 程序装入内存时,由装入程序重定位
动态重定位: CPU每次访问内存时,由动态地址转换机构(硬件)自动进行