操作系统原理及应用

操作系统的目的:
1.方便用户使用计算机系统
2.提高计算机系统资源利用率

操作系统的功能:
1.提供人机接口:1.命令级接口 2.程序级接口 3.图形界面
2.管理计算机系统资源:1.处理机管理 2.存储器管理 3.设备管理 4.文件管理 5.作业管理

推动操作系统发展的主要动力:
1.不断提高计算机资源利用率的需要
2.方便用户
3.器件的不断更新换代
4.计算机体系结构的不断发展

操作系统的类型
1.批处理系统:(1.单道批处理系统 :特征:1.自动性 2.顺序性 3.单道性)(2.多道批处理系统:特征:1.多道性 2.调度性 3.宏观上并行,微观上串行 4.异步性
2.分时系统:(特征:1.多个用户同时联机操作 2.各个用户独立 3.交互性)
3.实时系统:(1.实时控制 2.实时信息处理)
4.微机操作系统:(1.单用户单任务操作系统 2.单用户多任务操作系统 3.多用户多操作系统)
5.网络操作系统:(功能:1.数据通信功能 2.资源共享功能)
6.分布式操作系统
7.嵌入式操作系统

操作系统的特征:
1.并发 2.共享 3.异步 4.虚拟

操作系统的体系结构:
1.层次结构(用户态和核心态)
2.微内核结构(1.简化内核代码维护工作 2.构建灵活 3.安全性高 4.方便移植)

进程管理
程序的顺序执行(特征:1.顺序性 2.封闭性 3.可再现性)
程序的并发执行(特征:1.间断性 2.失去封闭性 3.不可再现性)

进程的特征
1.动态性 2.并发性 3.独立性(进程是一个能独立执行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位) 4.异步性 5.结构特征(进程实体是由程序段、数据段和进程控制块三部分组成) 
在操作系统中引入进程,是为了降低操作系统设计和实现的复杂性,方便描述操作系统的并发性。!!!!!!!

进程的三个基本状态:
1.就绪状态 2.执行状态 3.阻塞状态 4.挂起状态

PCB(进程控制块):
1.进程标识符 2.处理机状态 3.进程调度信息 4.进程控制信息 
linux的PCB
1.进程标识号 2.用户和组标识 3.连接信息


进程控制块的组织方式
1.线性方式 2.链接方式 3.索引方式

进程控制原语
1.创建原语 2.撤销原语 3.阻塞原语 4.唤醒原语

进程的创建与终止
进程的创建(导致进程创建的事件有:用户登录、作业调度、为用户提供服务等)
进程的终止过程
1.查该进程PCB,读出其是否执行!
2.如果正在执行,立刻终止该进程执行!
3.查看有无子孙进程,将其全部终止
4.释放该进程占用的所有资源
5.从PCB中移出

LINUX系统调用
fork()系统调用
pid=0;创建子进程成功,表示从子进程返回
pid>0;创建子进程成功,表示从父进程返回,pid的值为新创建的子进程标志号
pid=-1;创建失败

进程的同步与互斥
同步机制应遵循的规则
1.空闲让进 2.忙则等待 3.有限等待 4.让权等待
关中断的缺点:
1.滥用权力 2.使用时间过长 3.不适合CPU系统

信号量机制
信号量
1.整型信号量(S>0,表示系统中空闲的该类临界资源的个数;S=0,表示系统中该类临界资源刚好全部被占用,而且没有进程在等待该临界资源;S<0,S的绝对值表示该系统在等待该类临界资源的进程的个数)
2.记录型信号量
3.AND型信号量
4.信号量集

信号量的申请与释放(S表示临界资源)
P操作:wait(S);V操作:signal(S)
①P操作一次,信号量S-1
①V操作一次,信号量S+1

管程
1.共享性 2.安全性 3.互斥性
利用管程实现进程同步与互斥
1.条件变量  2.x.wait()原语  3.x.signal()原语
管程应用
1.put(x)过程 2.get(x)过程

进程的高级通信
1.共享存储器系统(类型:1.基于共享数据结构的通信方式 2.基于共享存储区的通信方式) linux实现共享存储区的通信方式(1.共享存储区的建立 2.共享存储区的操纵 3.共享存储区的附接与断开)
2.消息传递系统(1.直接通信方式 2.间接通信方式 3.消息缓冲队列通信机制)
3.管道通信系统

信号通信机制
1.软中断与硬中断
2.信号与中断的相似之处(1.异步通信 2.当有中断请求或检测出有信号时,都暂停正在执行的程序而转去执行相应的处理程序 3.都在处理完毕后返回到原来的断点 4.对信号或中断都可进行屏蔽)
3.信号与中断的区别(1.中断有优先级,而信号没有优先级,所有信号都是平等的 2.信号处理程序是在用户态下运行的,而中断处理程序是在核心态下运行的 3.中断响应是及时的,而信号响应通常都有较大的时间延迟)

信号的发送
进程用kill()向一个进程或一组进程发送一个信号

信号的处理方式(1)如果进程收到软中断是一个已决定要忽略的信号(function=1),进程不做任何处理便立即返回(2)进程收到软中断后便退出(function=0)(3)执行用户设置的软中断处理程序

线程
线程状态
1.派生 2.调度 3.阻塞 4.激活 5.结束
引入线程的好处
1.易于调度
2.提高了系统的效率
3.创建一个线程比创建一个进程花费的开销少,创建速度快
4.有利于发挥多处理器的功能,提高进程的并行性

多线程的实现
1.用户级线程(优点:1.应用程序中线程开关的时空开销远小于内核级线程的开销 2.线程的调度算法与操作系统的调度算法无关 3.用户级线程方法适用于任何操作系统,因为它与内核无关)
2.内核级线程(优点:1.内核可调度一个进程中的多个线程,使其同时在多个处理机上并行执行,从而提高系统的效率 2.当进程中的一个线程被阻塞时,进程中的其他线程仍可运行 3.内核本身可以以线程方式实现)
3.用户级线程与内核级线程相结合的模式

第三章
处理机调度与死锁
作业的概念
它是由程序、数据和作业说明书组成

作业的分类
1.脱机作业(也叫批处理型作业)
2.联机作业(也叫交互型作业)

作业的状态
1.提交状态 2.后备状态 3.执行状态 4.完成状态
作业管理的功能
1.作业调度 2.作业控制
为每一个作业建立一个作业控制块(JCB)

JCB的组织方式
1.作业表 2.作业队列
作业是用户向计算机提交任务的任务实体

分级调度
1.作业调度 2.对换 3.进程调度

作业调度的功能
1.确定数据结构 2.确定调度算法 3.分配资源 4.善后处理

调度算法的目标
1.面向系统的目标(1.处理机及各类资源的利用率 2.平衡性 3.优先权准则 4.公平性)
2.批处理系统目标(1.周转时间短 2.系统的吞吐量高 3.处理机利用率高,各类资源的平衡利用)
3.分时系统的目标(1.响应时间快 2.均衡性)
4.实时系统的目标(1.截止时间的保证 2.可预测性)

进程调度
进程调度的功能
1.记录系统中所有进程的执行情况
2.从就绪状态队列中选择一个进程
3.进行进程上下文的切换

进程调度的时机
1.完成任务 2.等待资源 3.运行时间已到 4.进入睡眠状态 5.发现标志

进程上下文的切换
1.决定是否要做以及是否允许做上下文切换
2.保存当前执行进程的上下文
3.选择一个处于就绪状态的进程
4.使被选中的进程执行

调度算法
1.先来先服务调度算法
2.短作业(进程)优先调度算法
3.高响应比优先调度算法
4.优先级调度算法(
1.优先级的类型(1.静态优先级 (1.进程类型 2.进程对资源的需求 3.用户要求)2.动态优先级)
2.优先级调度算法的类型(1.非抢占式优先级调度算法 2.抢占式优先级调度算法)

5.时间片轮转调度算法(1.系统响应的时间 2.就绪队列中进程的数目 3.进程的转换时间 4.CPU运行指令速度)
6.多级队列调度算法
7.多级反馈队列调度算法(有利于短作业和长作业)

死锁问题
解决死锁问题的基本方法
1.死锁的预防
2.死锁的避免
3.死锁的检测
4.死锁的解除

产生死锁的原因及必要条件
1.产生死锁的原因:(1)各进程竞争有限的资源 (2)进程推进顺序不当

2.死锁产生的必要条件:(1)互斥条件 (2)占有且申请条件 (3)非抢占式条件(也称不剥夺条件) (4)环路条件

死锁的检测
1.资源分配图的简化 2.死锁检测中的算法

死锁的解除
1.终止进程 (及释放资源) 2.抢占资源

第四章
存储层次结构部分
1.寄存器 2.高速缓冲存储器 3.内存 4.磁盘缓存

用户程序的处理过程
1.系统对用户程序的处理过程:(1)编译 (2)链接 (3)装入
2.目标程序装入内存的方式:(1)绝对装入方式 (2)可重定位装入方式(内存地址的=逻辑地址(作业地址空间的)+起始地址) (3)动态进行时装入方式(内存地址=逻辑地址+寄存器地址)
3.目标程序链接:(1)静态链接(2)装入时动态链接(3)运行时动态链接

分存储区管理
1.单道程序的连续分配(只能用于单用户单任务操作系统 ,将内存分为两块分别为系统区和用户区)
2.固定分区分配方式(提前设定好作业运行的内存区,当作业过大时无法装入,称为内存的外碎片;当作业过小时,它所剩的空间不能使用,称为内存的内碎片)
3.动态分区分配方式:(1)分区分配中的数据结构(其中有空闲分区表结构用来显示可用空间 、还有空闲分区链表实现空闲分区的分配和链接)
(2)分区分配算法(1.首次适应算法从低端开始找 2.循环首次适应法从上一个找到的空闲分区开始 3.最佳适应算法内存从小到达排序 (从小到大查)4.最坏适应算法(从大到小查))
(3)分区分配和回收
4.可重定位分区
1.紧凑 2.动态重定位 3.动态重定位分区分配的实现

页式存储管理(程序的地址空间被分成一些逻辑页面,逻辑页与物理块的大小相同)
页式存储管理的数据结构 
1.页面和页块
在分页存储管理中,将一个进程的逻辑地址空间分成若干相等的逻辑页,称为页面或页
由于进程的最后一页经常装不满一块,而形成不可利用的碎片称为页内碎片
每个作业最多能够形成一个页内碎片,它的长度小于一个页面大小
2.页表
由于页面装入页块,页块是可以不连续的,为了保证进程能够正确执行,要在内存中有一个页表来标明各逻辑页对应的物理块号,它是连续的
3.虚地址结构(P=逻辑页号 W=页内偏移量 A=逻辑地址空间中的地址)
P=(int)A/L取整,结果为第几页
W=A%L取余,结果为该页的第几行

页式存储管理的重定位
物理地址=逻辑页号P查页表所得的物理页号*块的大小+页内地址W

快表(原本页表访问1次,执行程序访问一次,快表可以减少访问内存的次数)
存放在快速存储器的部分页表称为快表

两级和多级表
用一个外部页表来存储多个分散相等页表的物理块号

段式存储管理
1.分段(段号s+段内偏移量w)
2.段表(段号、段长、内存起始地址、存取控制)
3.地址变换机构
开始知道段号s和段内偏移量w,先判断段号s是否大于段表的长度TL,是,则段号超长,系统产生越界中断信号;否则未越界,然后判断段内偏移量w是否超过段长SL,是,则发出越界中断信号;否则未越界,将该段的内存起始地址与段内偏移量相加,即可得到想要访问的内存物理地址

  • 19
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值