操作系统基本基础概念
多任务是指用户可以在同一时间内运行多个应用程序,每个应用程序被称作一个任务。像Windows 、LINUX就是支持多任务的操作系统。每个任务使用由操作系统分配的短暂的时间片(Timeslice)轮流使用CPU,由于CPU对每个时间片的处理速度非常快,在用户看来好像这些任务在同时执行,这叫做时间片轮转调度法。还有更多的多任务调度方法。
实时系统
(REAL TIME system)是指系统能及时的响应外部时间的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行。分为硬实时任务和软实时任务,系统对任务的截止时间有要求否则会出现难以预测的结果,这就是硬实时任务,反之要求不是很严格则为软实时任务。
操作系统的基本特性
并发与并行:并发性是两个或多个事件在同一时刻发生。而并行性是两个或多个事件在同一时间间隔内发生。
进程:为了使多个程序能并发的执行,系统必须为每个程序建立进程(process)。简单说来~进程是指在操作系统中能独立运行并作为资源分配的基本单位。他是由一组机器指令数据、堆栈等组成的,是一个能独立运行的活动实体。多个进程之间可以并发的执行和交换信息。一个进程在运行时需要一定的资源,如CPU、内存空间、IO设备等。
我的注解:进程很重要。Linux的进程之间的关系可以这样描述:一个完整的main函数运行的时候,在linux里是以进程的形式存在的。系统启动之后运行的第一个进程的进程号是1,叫做init进程,一切进程都从它派生出来,一个父进程可以派生另一个进程,即为子进程,这俩进程为并行关系。子进程也可以创建子进程。
进程的创建在linux里边用fork()函数它有两个返回值,一个是在父进程中返回,返回的是子进程号,一个是在子进程中返回,如果子进程创建成功,则返回的是0。子进程是父进程的一个拷贝,现代的进程创建都用vfork()创建子进程之后,并不拷贝全部的进程空间,只有在用到时才拷贝,叫做写时复制技术(copy on write)。
Linux里边这样创建子进程:
pid_t pid=fork();//这里的pid_t是一种数据类型(如int),这里代表进程号(实质上也是个整形变量int)
If(pid==0){这里边就是子进程代码}
Else if(pid>0){这里边是父进程代码,pid的值是子进程的进程号PID}
线程:通常在一个进程中可以包含若干个线程,他们可以利用进程所拥有的资源。在引入线程的操作系统中,一般都把进程作为分配资源的基本单位。而把线程作为独立运行和独立调度的基本单位。优点:运行效率更高。
进程的状态:一般分为就绪状态。执行状态。阻塞状态。
操作系统产生死锁的原因:1.竞争资源。2.进程间推进顺序非法。比如说:一个进程占有一个资源A,当他运行到需要用到被另一个进程占用的资源B时,没有得到,于是进入等待退出运行,而这个占有资源B的进程还想得到资源A,但是占有A的进程此刻在休眠,也没得到,所以这个进程也进入等待退出运行。这样两两相互等待造成了死锁。解决方法:1.在进程运行开始时就把所有资源占好。2.按顺序加锁。比如要得到资源B首先要对A加锁,如果得不到就不能加锁。所有进程都按照这个方法进行。
第二篇:操作系统总结
说明:
下划线为重点知识点,*标记为综合题知识点
第1章 操作系统引论
1 概述 什么是操作系统
操作系统的作用:资源管理者,方便使用,虚拟机器
2 形成与发展 批处理系统:单道、多道(没有交互能力) 分时系统:分时,多道(有交互能力)
实时:响应能力更强,多道性弱
微机操作系统:Windows、Linux、手机操作系统;单用户/多用户,多道(多任务) 嵌入式操作系统,并行操作系统,分布式操作系统,网络操作系统
? ? 共享:另一基本特征
? 虚拟:
? 异步:
4进程管理,存储器管理,设备管理,文件管理(包括外存),用户接口管理(作业管理) 用户接口管理:操作系统为用户提供的使用计算机或调用操作系统程序的接口,包括操作接口和程序接口。其中操作接口又分为命令接口和图形接口,程序接口也称作“系统调用”。 第2,3章 进程管理
1进程的概念 什么是进程?
进程和程序的区别:进程是动态的、暂时的;程序是静态的、永久的;进程是程序的一次执行,程序是进程的一部分;进程间可以并发执行,程序内部只能顺序执行。
2进程的状态及转换 基本状态:就绪、阻塞、执行
其它状态:新建、结束(终止)
基本状态之间的4种转换关系:就绪-执行,执行-阻塞,执行-就绪,阻塞-就绪
其它关系:新建-就绪,执行-终止
3 PCB的组成和意义
PCB:为了能够让程序并发执行,OS在内存中建立的一组数据,用来记录控制进程的相关信息。
进程标识,进程控制信息,进程的状态,调度信息
意义:PCB是进程存在的唯一标志
4进程控制
原语:操作系统的一段代码,这些代码要么一次性全部执行,要么一点儿都不执行 进程控制时都用原语来完成,主要原语有:block,wakeup,suspend,activate
具体控制过程:新建变就绪,就绪变执行(执行进程到时、阻塞、终止,从而让出CPU),
执行变阻塞(执行进程调用了block原语),阻塞变就绪(其它进程调用wakeup),执行变结束(执行进程调用了exit)
5线程
什么是线程?
线程与进程的关系:调度/分配资源,线程阻塞/进程执行,多个线程/一个进程
分类:内核级、用户级
6 同步与互斥的基本概念、同步机制
临界资源,临界区,进入区,退出区
什么是同步机制:能够实现进程之间的同步或互斥功能的手段,即进入区和退出区的实现方式 同步机制遵守的准则:空闲让进,忙则等待,有限等待,让权等待
同步机制的实现手段:记录型信号量(信号量结构体,wait操作,signal操作)
7 信号量机制的应用:
利用记录型信号量解决简单的同步或互斥问题:进程互斥问题,哲学家问题,前趋图基础上的进程同步问题
8进程通信
分类:共享内存(共享数据结构,共享内存区),管道(有名管道,无名管道),消息传递(直接传递,间接传递)
9调度
调度的种类:进程调度,作业调度,置换
调度的模型:只有进程调度,进程调度和作业调度组合,三种调度组合,进程调度和置换组合
平均周转时间和平均带权周转时间)、多级反馈队列调度(Unix系统的调度方式)
10死锁
什么是死锁,产生的原因:竞争资源,执行顺序不当 必要条件:互斥,不剥夺,请求并保持,环路等待
解决办法:预防,避免,检测和解除
预防:摒弃请求和保持条件,摒弃不剥夺条件,摒弃环路等待条件
:要求在多个进程、多种资源环境下判断安全性以及提出资源请求时是否分配资源。
第4章 存储器管理
1 程序的链接和装入 逻辑地址的含义,为什么需要把逻辑地址转换成物理地址;装入的种类(绝对装入,可重定位装入,动态运行时装入)
2 连续分配(分区式分配) 动态分区分配
? 数据结构(空闲分区表)
?
? ? 产生碎片(内部碎片、外部碎片)
动态可重定位分区分配:紧凑,可以实现外部碎片的有效利用,但是程序装入方式必须是动态运行时装入方式,即程序执行时才进行地址转换
3分页式存储管理
基本原理:程序分页,装入内存不连续区域(块),页和块的对应关系记录在页表里,进程执行时进行动态地址转换
快表:页表在CPU中的子集,目的是提高地址转换速度
多级页表:过大的页表分解为多个内存块存储,并为这些内存块继续建立页表(即页表的页表)
4分段式存储管理
原理:程序分段,段大小不固定,段之间离散分配,段内连续分配(首次适应、循环首次适应、最佳适应、最坏适应);段所在位置以及长度记录在段表里,程序执行时进行动态地址转换
5虚拟存储器基础
含义:具有请求调入和置换功能,能够从逻辑上扩充内存容量的存储器管理系统 局部性原理:虚拟存储器的理论基础
实现方式:请求分页式、请求分段式、请求段页式
6请求分页式存储管理
页表扩展:增加了外存地址、修改位、访问字段、存在位
地址转换过程:转换过程中可能产生缺页中断
7请求分段式存储管理
第5章 设备管理
1 I/O系统的组成
I/O操作层次结构:应用程序、系统调用、设备驱动程序、通道、控制器、设备
设备分类:共享、独占、虚拟;块设备、字符设备
通道分类:字节多路,数组选择,数组多路
2 I/O控制方式
程序I/O、中断I/O、DMA方式、通道方式
中断方式和DMA方式工作原理
3缓冲管理
单、双、循环、缓冲池4种,缓解CPU和外部设备速度不匹配矛盾;
基本原理:提前读,延迟写 缓冲池的实现原理
4 设备分配
数据结构:SDT、DCT、COCT、CHCT
流程:独占设备的分配与回收流程
5 设备管理软件:
设备无关性(设备独立性):应用软件与具体的物理设备无关;利用逻辑设备表来实现 虚拟设备:将独占设备转换为共享设备;利用SPOOLING技术实现,应熟练掌握
设备驱动程序
6磁盘物理特性:
磁道、扇区、字节、位
数据读写基本单位:块
第6章 文件和磁盘管理
1 文件:
文件、记录、数据项和主键的定义 按逻辑结构划分:
? ; ? 第二种划分方式(有结构基础上根据记录之间的关系):顺序文件(记录位置为顺序
关系)、链接文件(记录位置为链接关系)、索引文件(将记录位置索引)、索引顺序文件、哈希文件(散列文件) 按物理结构划分(根据文件块之间的关系):连续文件,链接文件,索引文件
2 目录管理
实现按名存取(文件管理的基本功能)
目录结构:FCB和inode两种结构,用来记录文件名、大小、存取权限、磁盘地址、类型、时间等信息
组织方式:多个目录节点之间的组织形式,主要是树形目录结构
3 外存分配
目标(有效利用外存空间,提高存取速度),
方法:
? 连续分配
? 链接分配:显式链接-FAT(*计算新建文件的块号,或删除文件后的FAT表变化)、
隐式链接
? 索引分配:单级索引、多级索引(二级、三级)、*混合索引(计算最大文件大小) 4 空闲空间管理:
目的:为文件分配外存空间时找到空闲块
方式:
? 空闲表法:
? 空闲链表法:
? *