操作系统的资源管理
1、资源复用:进程共享物力资源,空分复用或时分复用
2、资源虚化:虚拟地址?
3、资源抽象:利用软件封装硬件或软件设施(驱动?)。
12解决物理资源不够情况,3解决物理资源易用性问题。
操作系统运行程序成为进程的过程
#include <stdio.h>
int main(int arg ,char* argv[])
{
int a,b;
scanf("%d%d",&a,&b);
print("a+b=%d",a+b);
return 0;
}
程序经过预编译,编译,链接后存放于磁盘(外存)上。
1、当用户运行程序时,操作系统在磁盘上寻找改程序所在的扇区(操作系统文件管理)。
2、根据大小分配内存空间,将其加载到内存空间(存储管理功能)。
3、加载过程要装入程序的起始位置,操作系统将逻辑地址转换为内存中的物理地址。
4、为期创建一个内存控制块PCB,PCB与程序加载的代码和数据最终构成执行实体,就是进程!!!
进程创建后PCB就开始排队了(就绪太 之后再说吧)
scanf与printf对应键盘与屏幕,将复杂的外设物理特性封装。
所以这个程序的运行,从头到尾经历了
1-操作系统进程管理服务
2-存储管理服务
3-设备管理服务
4-文件管理服务
操作系统5大功能
1、处理器管理功能
- 1 进程控制与管理:进程创建、运行、阻塞、终止
- 2 进程同步于互斥
- 3 进程通讯与死锁
- 4 线程控制管理
- 5 处理调度:作业调度、中程调度、低级调度
- 完成批处理、分时处理、实时处理等策略。
2、存储管理功能
- 硬件对象是内存储器,包括存储分配、存储共享、地址转换、存储保护、存储扩充。
3、设备管理功能
- 硬件对象是输入输出设备,包括设备分配、缓冲管理、设备驱动、设备独立性、实现虚拟设备。
4、文件管理功能
- 对象是软件,包括提供文件逻辑组织方法、提供文件物理组织方法、提供文件存储方法、提供文件使用方法、实现文件目录管理、实现文件存取控制、实现文件存储空间管理。
5、网络与通讯功能
- 对于单机的扩充,包含多台计算机的连接,网络与通讯管理对网络中的硬件及软件的管理,包括网上资源管理、数据通讯管理、网络功能管理、鼓掌管理、安全管理、性能管理、记账管理、配置管理,
操作系统特性
1 并发性
CPU(软件执行)或I/O(硬件执行)的交替,消除系统中部件的交替等待,提高系统资源利用率,改进吞吐量。
并发的本质是一个或多个CPU在若干道程序的之间的多路复用(进程或线程切换)。
2 共享性
操作系统中的资源可以被多个并发执行的线程共同使用而非独占,分为互斥与同时。
同一时间只有一个进程可以访问资源叫做互斥,资源称为临界资源。(临界区)
同一时间多道程序交替访问称为共享
异步性
并发性的表现特征。
虚拟性
如虚拟内存,虚拟并发。一种转换思想。
系统调用
软中断注意一下
https://blog.csdn.net/qq_43646576/article/details/102841078
过程函数在编译成程序后,代码的逻辑地址是固定不变的。
系统调用在程序中并不会产生函数代码,所以也没有入口点一说。
1、硬件接收到中断信号,立刻保存现场,并查找中断向量表,将CPU控制权转交给系统调用总入口程序。
2、对于系统调用总入口程序,也要先保存现场,将参数保存在内核的堆栈中。然后查找系统调用表,将CPU控制权转交给对应的系统调用处理程序或者是内核函数。
3、执行系统调用处理程序
4、恢复现场,返回用户程序。
~~> ~~———————————————— 版权声明:本文为CSDN博主「_吟游诗人」的原创文章,遵循 CC 4.0 BY-SA
版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_32623363/article/details/87858888