操作系统
文章目录
一、操作系统是什么?
操作系统(operating system,简称OS)是计算机系统中的一个系统软件,是一些程序模块的集合——它们能以尽量有效 、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效地运行。OS的主要作用就是协调,协调的主体就是任务(进程),我们的程序最终是以进程的角度去操作系统那里申请不同的硬件资源(CPU,内存,IO设备)来使用。
- 操作系统的实体:程序模块的集合;
- 管理对象:*计算机的软硬件资源;
- 管理目标:使得用户能够灵活、方便、有效的使用计算机,* 使整个计算机系统能高效地运行。
- 管理手段:直接控制和管理
- 操作系统的位置:紧靠硬件的第一层软件
1、有效
指的是系统效率,资源利用率(如:CPU利用的充足与否,内存、外部设备是否忙碌)。
2、合理
公平与否。如果不公平则会产生“死锁”或“饥饿”
3、方便
用户界面是否友好,编程接口(API)的设计是否合理。
二、程序&&进程(重要)
1、什么是程序
程序就是指令或语句序列,体现了某种算法,简单来说,程序=指令+数据,是一套静态的步骤。
2、什么是进程(重要)
进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。进程又称为任务,为了描述程序在并发执行时对系统资源的共享,所需的一个描述程序执行时动态特征的概念。
一个程序,可以进行多次执行(表现为多个进程),甚至可以“同时”执行(表现为多个进程同时存在)。所以,进程是程序在“运行阶段”的视角主体。
3、进程详述
站在OS实现的角度看,什么是进程?
进程是OS进行资源分配和调度的基本单位。
所以,在这一块需要明确的是:
- OS的职责:协调者/管理者;
- 资源:被OS管理的资源(包括硬件资源和软件资源);
- 分配的单位:分配的时候,只考虑这一层级;
- 基本:允许有更高层级的分配单位,但最低到进程;
因为进程是OS进行资源分配的基本单位,所以同一个进程间的资源是共享的(如果存在比进程更小的单位,如线程,也是共享的),不同进程之间的资源是相互隔离的。A进程只能访问OS分配给A进程的资源,别的进程不能访A进程的资源,A进程也不能访问别的进程的资源,更不能访问OS直接管理的资源。
4、总结
理解什么是进程是非常绯苍重要的,面试可能会问的哦!所以,简单做个总结:
①进程是一个动态过程;
②一个进程至少绑定着一个程序;
③进程允许同时存在;
④进程是操作系统进行资源分配的基本单位;
三、操作系统的职责
1、进程管理(处理机管理)
目标:完成处理机资源的分配调度等功能(处理机调度的单位可为进程或线程)
- 进程控制:创建、撤销、挂起、改变运行优先级等——主动改变进程的状态
- 进程同步:协调并发进程之间的推进步骤,以协调资源共享——交换信息能力弱
- 进程通信:进程之间传送数据,以协调进程间的协作——交换信息能力强,也可以用来协调进程之间的推进
- 进程调度:从进程的就绪队列中按照一定的算法挑选出一个进程到处理机上去执行。作业和进程的运行切换,以充分利用处理机资源和提高系统性能;
2、存储管理(内存管理)
目标:提高利用率、方便用户使用、提供足够的存储空
间、方便进程并发运行
- 存储分配与回收
- 存储保护:保证进程间互不干扰、相互保密;如:访问合法性检查
- 地址映射(变换):进程逻辑地址到内存物理地址的转换
- 内存扩充(覆盖、交换和虚拟存储):提高内存利用率、扩大进程的内存空间
3、文件(信息)管理
目标:解决软件资源的存储、共享、保密和保护
- 文件存储空间管理:解决如何存放信息,以提高空间利用率和读写性能。
- 目录管理:解决信息检索问题,给出组织文件的方法,实现文件的按名存取。
- 文件的读写管理和存取控制:解决信息安全问题。系统设口令、用户分类、文件权限
- 软件管理:软件的版本、相互依赖关系、安装和拆除等
4、设备管理
目标:方便的设备使用、提高CPU与I/O设备利用率
任务:负责外部设备的分配、启动和故障处理
- 设备操作:利用设备驱动程序(通常在内核中)完成对设备的操作。
- 设备独立性:提供统一的I/O设备接口,使应用程序独立于物理设备,提高可适应性;在同样的接口和操作下完成不同的内容
- 设备分配与回收:在多用户间共享I/O设备资源
- 虚拟设备:设备由多个进程共享,每个进程如同独占
- 缓冲区管理:匹配CPU和外设的速度,提高两者的利用率(单缓冲区、双缓冲区和公用缓冲区)
5、作业管理(用户接口)
目标:提供一个友好的用户访问操作系统的接口
- 用户界面(系统命令):供用户用于组织和控制自己
的作业运行。命令行、菜单式或GUI(联机);命令
脚本(脱机) - 系统调用(编程接口):供用户程序和系统程序调用操作系统功能。系统调用和高级语言库函数
总结
操作系统是非常重要的一门学科,考研的朋友得掌握操作系统相关知识,找工作的朋友也得重视操作系统,面试的时候也会被经常问到。以上只是简单描述了进程和操作系统的五大功能,下一篇会详细描述者五大功能的,期待一下吧😘