文章目录
操作系统概述
操作系统是什么
- 操作系统是一个系统软件(计算机系统之必不可少的软件)
2. 操作系统是系统资源的管理者
操作系统是系统资源管理程序,他用于控制和管理计算机系统的硬件和软件资源
3. 操作系统是扩充裸机的第一层系统软件
4. 提供与计算机硬件之间的接口
- 命令级接口:它提供一组键盘或鼠标命令
- 程序级接口:它提供一组系统调用,即OS中功能,供用户程序和其他程序调用
- 内核kernel—the one program running at all times on the computer(all else being application programs),是一个始终在运行的程序
操作系统的定义
中文教材上的定义:操作系统是一组有效控制和管理计算机软硬件资源,合理组织计算机工作流程和方便用户的程序集合
英文教材上的定义:一个全时运行的程序
- 有效性:提高系统资源的利用率;提高系统的吞吐量
- 方便性:提供良好的用户界面,编程接口
- 可扩充性:能够适应计算机硬件、体系结构以及计算机应用发展的要求
- 开放性:能遵循世界标准规范,特别是遵循开放系统互连OSI国际标准
中断
中断指CPU对系统中发生的异步时间的响应,异步事件指无一定时序关系的随即发生的事件
- 发生中断时正在执行的程序的暂停点成为中断断点
- 处理器暂停当前程序转而处理中断的过程成为中断响应
- 中断处理结束之后恢复原来程序的执行被成为中断返回
- 一个计算机系统提供的中断源的有序集合一般被成为中断字,这是一个逻辑结构,在不同的处理其有着不相同的实现方式
分类
-
硬件中断
- 硬件故障中断
- 输入输出中断
- 外部中断
-
软件中断(异常)
-
程序中断
例如定点操作数溢出、地址越界、虚拟管理中缺页等
-
访管中断(trap陷入)
用户程序在运行中请求操作系统为其提供服务而执行一条“访管指令”引起的中断,又称为软件中断、系统调用。访管中断是进程所期待的,他是主动发起的中断,其他几种中断不是运行进程期待,他属于强迫性中断事件
-
两组概念的区别
特权指令和非特权指令
特权指令:不允许用户程序直接使用的指令,如I/O指令,设置时钟等
非特权指令:用户程序中使用的指令。
用户态和内核态
用户态:运行用户程序时的状态
- 只能访问属于他的存储空间和普通存储器,只能执行非特权指令
- 用户程序以及操作系统核外服务程序运行在用户态下
- 使用用户栈
内核态:又称为管态、核心态、系统态、特权模式,执行操作系统时的状态
- 能访问所有资源,可执行特权指令,可直接操作和管理硬件设备
- 操作系统内核程序运行在内核态下
- 使用内核栈
操作系统的主要特征
并发性
- 并发:两个或多个事件在同一时间间隔内交替发生
- 并行:两个或多个事件在同一时刻发生
共享性
指系统中的资源可供内存中多个并发执行的进程共同使用。
互斥共享方式:在一段时间内只允许一个进程访问的资源称为临界资源或者独占资源。系统中大多数物理设备,以及栈、变量和表格都属于独占资源,只能被互斥共享。
同时访问方式:此处的同时不是现实意义中的同时,而是指一段时间,在这一段时间内,多个进程交替进行,共同使用资源。
并发和共享是多用户多任务OS的两个最基本的特征
虚拟性
把通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能称为“虚拟”
异步
在多道程序环境下,系统允许多个进程并发执行。单处理机环境下,一次只允许一个进程执行,其他进程只能等待。由于资源等因素的限制,进程的执行通常都不是一次执行完的,而是断断续续地执行完所有操作。
操作系统的主要功能
进程管理
又称为处理机管理,主要负责进程控制、进程同步、进程通信和调度。
进程控制
为作业创建进程和销毁进程
进程同步
在相互合作去完成共同任务的诸进程间,有同步机构对他们的的执行次序加以协调。最常用的机制是信号量控制机制
进程通信
实现相互合作进程之间的信息交换
调度
分为作业调度和进程调度
作业调度
从后备队列中按照一定算法取出若干个作业,为他们分配运行所需要的资源并创建进程,将之插入到就绪队列中
进程调度
从就绪队列中按照一定算法选出一个进程使之进入执行状态。
主存(内存)管理
内存管理的主要任务是进行内存分配、内存回收、内存保护、地址映射和和内存扩充等功能
文件管理
文件管理包括对文件存储空间管理、目录管理、文件的读写管理以及文件的共享与保护等功能。文件管理对每个文件分配必要的外村空间,并为之建立目录项,还对文件读写进行保护,防止系统中的文件被非法窃取和破坏。
I/O设备管理
设备管理具有缓冲管理、设备分配和设备处理以及虚拟设备等功能。它完成用户进程提出的I/O请求,并完成指定的I/O操作。提高了CPU和I/O设备的利用率,方便用户使用I/O设备。
什么是Linux
Linux指的是Linux内核
Linux操作系统指的是GNU/Linux系统(基于Linux的GNU系统)
- Linux系统由内核、c库、编译器、工具和系统的基本工具、各种硬件设备驱动程序
- Linux系统(发行版):GNU软件28%+Linux内核3%+其他部件
Linux是一种类UNIX系统,Linux克隆了Linux,但不是UNIX
Linux是遵守GNU的GPL协议的软件
虚拟机
虚拟机采用了分层的方法,它将物理硬件和OS内核同一看做硬件
虚拟机提供了与基本硬件相同的接口
通过利用CPU调度和虚拟内存技术,操作系统能创建一种幻觉,以至于进程认为有自己的处理其和自己的虚拟内存
物理计算机共享资源以创建虚拟机
- CPU调度能共享出CPU造成一种每个用户都有自己的处理器的感觉
- 假脱机和文件系统能提供虚拟机读卡机和虚拟行式打印机
- 一个普通用户分时中断提供虚拟机操作员中断的功能