操作系统的定义
操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。- 操作系统的功能和目标
(1)作为系统资源的管理者 (2)作为用户和计算机硬件之间的接口
a.联机命令接口=交互式命令(说一句做一句)
b.脱机命令接口=批处理命令接口(说一堆做一堆)eg:.bat批处理文件
c.程序接口=系统调用=广义指令(通过程序调用间接使用的,右一组系统调用组成)eg: .dll文件
(3)作为最接近硬件的层次 - 操作系统的特征
a.并发和并行的区别 - 操作系统的运行机制和体系结构
a.两种指令:CPU能够识别、执行的最基本的命令;内存清零->特权指令;加减乘除->非特权指令;
b.处理器状态:
c.内核程序&应用程序
d.运行机制
e.操作系统的内核
大内核=(时钟+中断+原语)+(进程管理+存储器管理+设备管理)
小内核=(时钟+中断+原语) - 中断和异常
- 系统调用
(一)总览
(二)什么是系统调用?
是操作系统提供给应用程序使用的接口,可以理解成一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务
(三)系统调用的作用和分类?
系统调用需要在核心态进行执行;凡是和资源有关的操作,都会影响其他进程的操作,一定需要操作系统的接入,就会需要通过系统调用来进行实现。
系统调用背后的操作:(发起是从用户态+执行是在核心态) - 进程的定义、组成、组织方式、特征
(1)进程的定义
进程是具有独立功能的程序在数据集合上运行的过程。进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。进程实体是静态的,进程是动态的。
(2)进程的组成
程序段、数据段、PCB三部分组成了进程实体。创建进程=创建PCB;PCB是进程存在的唯一标志。
(3)进程的组织(多个进程间的管理)
(4)进程的特征 - 进程的状态和转换
(1) 进程的5种状态
(2)进程状态的转换
外界干预可能将就绪态、运行态、阻塞态--->终止态(eg:kill进程) - 进程的控制
(1)什么是进程控制?
实现进程间状态的转换就是进程的控制
(2) 原语实现进程控制。
原语的特点是不允许中断,即进行原子操作。原子采用关中断指令+开中断指令,保证原语不会被中断。
进程控制的原语有:进程的创建、终止、阻塞、唤醒、切换 - 进程间的通信
类型 说明 管道/匿名管道pipe
(1)管道是半双工的、单向的,双方通信需要两个管道;(2)只能用于父子或兄弟进程;(3)管道的实质是内核缓冲区;(4)管道传输的是无格式字节流;(5)管道是没有名字的;有名管道(FIFO) 匿名管道,由于没有名字,只能用于亲缘关系的进程间通信。为了克服这个缺点,提出了有名管道(FIFO)。
有名管道不同于匿名管道之处在于它提供了一个路径名与之关联,以有名管道的文件形式存在于文件系统中,这样,即使与有名管道的创建进程不存在亲缘关系的进程,只要可以访问该路径,就能够彼此通过有名管道相互通信,因此,通过有名管道不相关的进程也能交换数据。值的注意的是,有名管道严格遵循先进先出(first in first out),对匿名管道及有名管道的读总是从开始处返回数据,对它们的写则把数据添加到末尾。它们不支持诸如lseek()等文件定位操作。有名管道的名字存在于文件系统中,内容存放在内存中。共享内存