操作系统原理复习

      1. 操作系统地位

1.硬件抽象层之上

2.所有其他软件层之下

应用软件层

其他系统软件层

OS

硬件(HAL)

1.3.1 操作系统特性

    1、程序并发性(Concurrent)

       体现:多个用户程序并发;OS程序与用户程序并发。

        并发:多个程序在宏观上同时向前推进,但是在微观上是交替进行的

       并行:多个事件在同一时刻发生

    2、资源共享性

    3、虚拟性

    4、进程异步性

      

1.3.2 操作系统应具备的基本功能 (4管+1接)

处理机管理

    进程控制

    进程同步

    进程通信

    进程调度

存储管理

    内存分配

    内存保护

    内存扩展:虚拟存储

设备管理

设备分配

设备传输控制

设备独立性

信息管理(文件管理)

文件存储空间管理

目录管理

文件操作管理

文件保护

用户接口:命令和程序

管理计算机资源和提供接口

1.5.1定时装置(Timer)

绝对时钟:记载实际时间,不发中断

间隔时钟:定时发生中断,一般间隔单位为“毫秒”

1.5.3特权指令与非特权指令

    特权指令

       只有在管态才能执行的指令(影响系统状态)

           关中断,置程序状态字,停机,IO

    非特权指令

       所有程序可用(不影响系统状态)

           取数,四则运算

1.5.4处理机状态及状态转换

    处理机状态:在程序状态字中标识

       系统态 :管态,核态

       用户态 :目态,常态

关于进程的定义

  1. 进程是程序的一次执行
  2. 进程是可以和别的计算并发执行的计算
  3. 进程可定义为一个数据结构及能在其上进行操作的一个程序
  4. 进程是一个程序及其数据在处理机上顺序执行时发生的活动
  5. 进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位

2.2.2进程状态及状态转换

    进程状态(基本状态)

  1. 运行态:占有CPU正在向前推进
  2. 就绪态:可以运行,但未得到CPU
  3. 等待态:等待某一事件发生

状态转换

  1. 就绪——>运行:获得处理机
  2. 运行——>就绪:剥夺处理机
  3. 运行——>等待:申请资源未得到,启动IO
  4. 等待——>就绪:得到资源,IO中断

 

2.2.3进程控制块(PCB)

进程标识(pid)

进程状态

现场信息

调度参数

所属用户(uid)

操作系统通过PCB感知进程的存在

2.2.4 进程的组成与上下文

进程的组成:PCB结构程序和数据的组合

    进程的控制块(PCB)

       建立进程=>建立PCB

       撤销PCB=>撤销进程

       存放在系统空间:OS对其访问,用户程序不能访问

    程序和数据

       代码:

       数据

       堆栈

2.3.4 线程的实现

    2.3.1用户级别线程(用户态)

    2.3.2 核心级别线程(系统态)

作业

       进程

           线程

fork函数

    例:3个fork();

                   fork();

                   fork(); 总共有2^3=8个进程

如果创建进程出现错误,则会返回-1,不会创建子进程。

fork 中的pid==0为子进程

父进程的返回值为子进程的pid

3.1.1 中断的概念:

    中断系统:

       中断装置(硬件)

           IO中断

           外部中断:时钟中断,控制台中断

       中断处理装置(软件)

           软件异常、程序中断

           访管中断(自愿中断)

3.1.2中断装置

    1、识别中断源,当有多个中断源时,按紧迫程度排队(优先级别)

    2、保存现场

    3、引出中断处理程序

处理机调度

等待时间:周转时间与处理时间之差

平均等待时间:所有进程等待时间与进程个数之比值

周转时间:完成时刻-进入时刻

平均周转时间:

   

 

带权周转时间:周转时间/运行时间

 

   

处理机调度算法:

  1. 先到先服务算法    FCFS   非剥夺式

FCFS算法比较有利于长作业(进程),而不利于短作业(进程)

 

 

 

 

2、短作业优先算法  SJF   非剥夺式

该算法对长作业不利

不能保证紧迫性作业(进程)会被及时处理

 

 

  1. 最短剩余时间算法  SRTN

可剥夺SJF(可抢占SJF):当新进程/线程到达时,比较所需的剩余时间,运行剩余时间最短的进程/线程。

 

Process ID

到达时间

服务时间

完成时间

周转时间

等待时间

P1

0

8

13

13

5

P2

1

2

3

2

0

P3

4

3

7

3

0

平均等待时间:(2+13+3)/3=6 (ms)

  1. 最高响应比作业优先算法  HRN  

 

R=【(上一个的完成时刻-进入时刻)+运行时间】/ 运行时间

 

P1>P3>P2>P4

4、高优先级算法   (选择题)

5、时间片轮转调度算法   (选择题)

          

作业最早截止期优先调度   EDF

  

 

处理时间Ci

发生周期Ti                                                                                                                       

 

速率单调调度  RMS

 

3.3.1交换与中级调度

交换

中级调度

并发度(同时运行进程的个数)

4.2.1 共享变量与临界区域

共享变量

    多个进程或线程都需要访问的变量

临界资源:一次只允许一个进程或线程使用

4.2.2 临界区域与进程互斥

定义:多个进程不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,称为进程互斥

4.2.3 进程互斥的实现

空忙有权

 

4.3.1 进程同步

定义:一组进程,为协调其推进速度,在某些关键点处需要相互等待与相互唤醒,进程之间这种相互制约的关系称为进程同步

 

Linux系统中的semaphore机制

sem_wait():信号量的P操作

sem_post():信号量的V操作

5.3 死锁的条件

资源独占(mutual exclusion)  互斥条件

不可抢占(non preemption)    不剥夺条件

保持申请(hold-while-applying) 请求和等待

循环等待(circular wait)  环路等待条件

破坏任一条件即可消除死锁

预先分配法  静态资源分配法

破坏请求和等待条件

有序分配法

    破坏环路等待

死锁处理

预防

死锁避免——银行家算法

例题:3个进程,5R

           (5-1)+(5-1)+(5-1)=12

           sum=12+1=13

绝对装入方式(ALM)

在编译时,已经知道程序 要驻留在内存的位置

重定位装入(RLM)

    在程序装入时,把目标程序中的指令和数据的相对地址(逻辑地址)修改成装入位置处的物理地址

分页式:

    最先适应算法(FF)

       按照作业顺序一个一个在空闲区分配资源

    最佳适应算法(BF)

       先把空闲区排序,然后作业按照从小到大分配资源

虚拟存储:

    进程部分装入内存,部分(或全部)装入外存,运行时访问在外存部分动态调入,内存不够淘汰

    作用:1.提高系统效率  2.解决内存不足

淘汰算法:

  1. 最佳置换(往后看,淘汰最长时间后才用到的)
  2. 先进先出(FIFO)Belady算法
  3. 最近最少使用(LRU)
  4. 改进型的时钟淘汰算法(Clock)

硬链接

文件有相同的 inode

    只能对已存在的文件进行创建

   

软链接

文件的 inode不同

删除源文件

硬链接:只是链接数减一,但链接文件的访问不受影响

软链接:链接文件将无法访问

 

 

 

(1)

13B7的二进制为:0001 0011 1011 0111

1KB=2^10  所以页内地址为后10位

所以逻辑页号为000100=4

因为页号4没有页框且采用先进先出置换法所以置换页号5——页架号=3

3二进制:000011

所以物理地址为 0000 1111 1011 0111

转化成16进制为:0fb7

(2)

280时刻,指针应该在页号3处,因为访问标志都为1,所以按3,5,1,2的顺序访问,都置为0,所以应替换页号3

页号3——页架号8

8二进制为001000

所以物理地址为:0010 0011 1011 0111

转化成16进制为:23B7

影响缺页中断的因素

1.页面大小

2.程序本身的编制方法

3.分配给进程的物理页面数

4.页面的淘汰算法的选择

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值