《操作系统原理》期末复习笔记

华科软院的操作系统原理期末复习的一些粗略的笔记

 

中断技术:CPU收到外部信号(中断信号)后,停止当前工作,转去处理该外部事件,处理完毕后回到原来工作的中断处(断点)继续原来的工作。

通道技术:专门处理外设与内存之间的数据传输的处理机。

 

Unix:第一个实用化的分时操作系统

Minix:微内核架构

Linux:层次式结构,单体内核、宏内核

 

层次式结构:把所有功能模块按照调用次序分别排成若干层,确保各层之间只能是单向依赖或单向调用

分层原则:

硬件相关——最底层

外部特性——最外层

中间层——调用次序或消息传递顺序

共性的服务——较低层

活跃功能——较低层

 

管态:介于核态和用户态之间

Intel CPU的态:Ring 0 ~ Ring 3(Ring 0最核心,Ring 3最外层)

用户态向核态转换的情形:用户请求OS提供服务、发生中断、用户进程产生错误(内部中断)、用户态企图执行特权指令

核态向用户态转换的情形:一般是中断返回IRET

 

引入中断的目的:实现并发活动、实现实时处理、故障自动处理

 

  1. 实模式(实地址模式)
    1. 程序按照8086寻址方法访问0h—FFFFFh(1MB)空间
    2. 寻址方式:物理地址(20位)=段地址:偏移地址。
    3. CPU单任务运行
  2. 保护模式(内存保护模式)
    1. 寻址方式:段(32位)和偏移量(32位),寻址4GB
      1. 段的属性:起始地址,存取属性,权限级别,…
        1. 段页式寻址机制(段,页)
        2. 新增32位寄存器:GDR,LDR,CR0,CR1,CR2,…
    2. 虚拟地址,进程,封闭空间
    3. 应用程序和操作系统的运行环境都被保护
    4. CPU支持多任务

 

  1. 实模式存取的1M空间
    1. 前面640K 【00000  --  9FFFF】 :基本内存
    2. 中间128K 【A0000 --  BFFFF】 :显卡显存
    3. 末尾256K 【C0000 --  FFFFF】 : BIOS
      1. C0000 -- C7FFF:显示卡BIOS
      2. C8000 -- CBFFF:IDE控制器BIOS
      3. F0000 – FFFFF:最后64KB,系统BIOS

 

BIOS使用的中断类型号为10H ~ 1FH

 

按下PowerOn或者Reset键:开始执行( FFFF0 )单元的指令JUMP POST;POST位于系统BIOS内部

 

MBR:512 BYTES,以AA55h结束

 

操作系统的用户界面:操作界面和系统调用

 

管道:特殊的重定向操作把一个程序的输出作为另一个程序的输入

 

DOS 09号调用:显示字符串

 

具体OS中系统调用的实现

DOS: INT 21H

LINUX:INT 80H

 

守护进程:即使控制终端关闭,它也不会结束,独立于控制终端

要使普通进程脱离控制终端的约束,必须把它变成一个守护进程

进程没有从阻塞到运行或从就绪到阻塞的状态转换

 

进程控制块(PCB):描述进程的状态、资源、和相关进程的关系的一种数据结构,PCB是进程的标志,创建进程时创建PCB;进程撤销后PCB同时撤销。

 

子进程是父进程的复制

关于fork 的返回值:pid,在子进程中,pid =0,在父进程中,pid > 0(子进程ID),出错:pid=-1

Linux的第一个进程是init进程

所有进程都是init子孙进程

调用exit后进程变为僵尸状态,放弃了几乎所有内存空间,不再被调度,但保留有pcb信息供wait收集

线程是CPU的调度单位

 

Windows:

CreateProcess 创建进程

CreateThread 创建线程

ExitProcess 撤销进程

 

Linux:

pthread_create 创建线程

 

S=0:上锁,S=1:开锁

 

  1. 空闲让进
    1. 当无进程处于临界区时,任何有权进程可进入临界区。
  2. 忙则等待
    1. 当临界区忙时,其他进程必须在临界区外等待。
  3. 有限等待
    1. 进程进入临界区的请求应在有限时间内得到满足
    2. 思考:临界区的设置大些好还是小些好?
  4. 让权等待
    1. 等待进程放弃CPU。(让其它进程有机会得到CPU)。

 

  1. P操作的原理(P(S,q) ,简记P(S))
    1. S值减1;
    2. 若差大于或等于零,该进程继续;
    3. 若差小于零,则该进程阻塞并加入到队列q中,并转调度函数。

 

  1. V操作的原理(V(S,q) ,简记V(S))
    1. s值加1a;
    2. 若和大于零,该进程继续;
    3. 若和小于或等于零,该进程继续同时从q中唤醒一个进程。

 

  1. 信号量的物理含义:
    1. S>0,表示有S个资源可用
    2. S=0,表示无资源可用
    3. S<0,则|S|表示S等待队列中的进程个数
    4. P(S):表示申请资源
    5. V(S)表示释放资源。信号量的初值应该大于等于0
  2. P-V操作必须成对出现,有一个P操作就一定有一个V操作
    1. 当为互斥操作时,它们同处于同一进程
    2. 当为同步操作时,则不在同一进程中出现
    3. 如果两个P操作在一起,顺序很重要。[同步P操作在互斥P操作前],两个V操作的顺序无关紧要。

 

  1. 关于死锁的一些结论
    1. 参与死锁的进程至少是2个
      1. 两个以上进程才会出现死锁
    2. 参与死锁的进程至少有2个已经占有资源
    3. 参与死锁的所有进程都在等待资源
    4. 参与死锁的进程是当前系统中所有进程的子集
    5. 死锁会浪费大量系统资源,甚至导致系统崩溃

 

预防死锁:破坏条件,较易实现,资源利用率和吞吐量降低

避免死锁:需要较弱的限制条件,可获得较高的资源利用率和系统吞吐量,实现较难

检测和恢复死锁:允许死锁发生,但可通过检测机制及时检测出死锁状态,并精确确定与死锁有关的进程和资源,然后采取适当措施,将系统中已发生的死锁清除,将进程从死锁状态解脱出来。实现难度大,但可获得较好的资源利用率和系统吞吐量。

 

有序资源分配法:破坏环路条件,使得环路无法构成。

 

schedule函数:实现进程调度

 

  1. 静态地址映射
    1. 逻辑地址:VA(Virtual Addr. Register )
    2. 装入基址:BA(Base Addr. Register)
    3. 物理地址:MA(Memory Addr. Register)
    4. MA = BA + VA

 

动态地址映射:在程序执行过程中把逻辑地址转换为物理地址

虚拟存储:把进程当前正在运行的部分装入内存(迁入),把当前不运行的部分暂时存放在辅存上(迁出),尽量腾出足够的内存供进程正常运行

内存分配

存储保护

 

单一区存储管理:DOS

 

页式存储管理:

    1. 把进程空间(虚拟)和内存空间都划分成等大小的小片
      1. 小片的典型大小:1K,2K或4K…
      2. 进程的小片——页(虚拟页或页面)
      3. 内存的小片——页框(物理页)
  1. 进程装入和使用内存的原则
    1. 内存以页框为单位分配使用。
    2. 进程以页为单位装入内存
      1. 只把程序部分页装入内存便可运行。
      2. 页在内存中占用的页框不必相邻。
      3. 需要新页时,按需从硬盘调入内存。
      4. 不再运行的页及时删除,腾出空间

 

页编号 = VA / 页大小

页内偏移 =  VA % 页大小

页面映射表:记录页与页框之间的对应关系。也叫页表。

 

  1. 实模式(Real Mode)
    1. 20位地址
      1. 20位:1M内存空间
      2. 段地址(16位):偏移地址(16位)
      3. 段地址16字节对齐
  2. 保护模式(Protect Mode)
    1. 32位地址空间:4G物理内存
    2. 支持多任务,能够快速地进行任务切换和保护任务环境
    3. 支持资源共享,能保证代码和数据的安全和任务隔离
    4. 支持分段机制和分页机制

 

文件的逻辑结构:流式文件(现代操作系统)和记录式文件

文件的存取方法:顺序存取和随机存取

你可能感兴趣的:(实验,考试与课设)