zoukankan      html  css  js  c++  java
  • 软件设计师02-操作系统原理

    操作系统

    OS的四个基本特征:井发性、共享性、虚拟性和异步性。最基本的特征是并发性和共享性。

    进程管理

    主要是对处理机进行管理。为了提高CPU的利用率而采用多道程序技术。通过进程管理来协调多道程序之间的关系,使CPU得到充分的利用。

    进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说CPU(寄存器),IO,内存,网络资源等。很多人在回答进程的概念的时候,往往只会说它是一个运行的实体,而会忽略掉进程所占据的资源。比如说,同样一个程序,同一时刻被两次运行了,那么他们就是两个独立的进程。

    存储管理

    存储器管理的对象是主存,也称内存。它的主要功能包括分配和回收主存空间、提高主存利用率、扩充主存、对主存信息实现有效保护。

    文件管理

    从系统角度来看,文件系统是对文件存储器的存储空间进行组织,分配和回收,负责文件的存储,检索,共享和保护。从用户角度来看,文件系统主要是实现"按名取存",文件系统的用户只要知道所需文件的文件名,就可存取文件中的信息,而无需知道这些文件究竟存放在什么地方。

    设备管理

    设备管理是指计算机系统中除了CPU和内存以外的所有输入输出设备的管理。

    作业管理

    每个用户请求计算机系统完成的一个独立的操作称为作业。作业管理包括作业的输入和输出,作业的调度与控制(根据用户的需要控制作业运行的步骤)。

    进程管理

    进程的状态

    三态模型进程的状态:运行、就绪(缺CPU)、等待(缺资源)

    由于进程的不断创建,系统资源特别是主存资源已不能满足所有进程运行的要求。这时,就必须将某些进程挂起,放到磁盘对换区,暂时不参加调度,以平衡系统负载;进程挂起的原因可能是系统故障,或者是用户调试程序,也可能是需要检查问题。

    五态模型进程的状态:静止就绪、活跃就绪、静止阻塞、活跃阻塞、运行

    前趋图

    完成一系列活动先后的约束关系

    PV操作

    同步与互斥

    PV操作首先要了解同步与互斥一个资源同时只能服务于一个进程

    P操作的动作是:
    (1)S减1;
    (2)若S减1后仍大于或等于零,则进程继续执行;
    (3)若S减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。
    V操作的动作是:
    (1)S加1;
    (2)若相加结果大于零,则进程继续执行;
    (3)若相加结果小于或等于零,则从该信号的等待队列中唤醒等待进程,然后再返回原进程继续执行或转进程调度。
    PV操作对于每一个进程来说,都只能进行一次,而且必须成对使用。在PV执行期间不允许有中断的发生。
    P操作不满足情况会阻塞进程,对应的V操作会唤醒阻塞的进程。

    PV操作与前趋图

    死锁问题

    ABC三个进程都需要五个资源,如果是12个,一人分配四个的情况下依然会死锁,如果是13个,则不会发生死锁。因为总有一个会获取全部资源进程执行完后会释放资源。 

    解决死锁问题 

    银行家算法

    存储管理

    分区存储组织

    页式存储组织

    当程序需要分配一个1G的内存时,内存足够,但是内存不连续时,就不能使用分区存储组织。页式弥补了这个缺点。

    基础概念:

    逻辑地址:是程序编译后,生成的目标模块进行编址时都是从0号单元开始编址,称之为目标模块的相对地址,即为逻辑地址(页号+页内地址)

    页:将进程划分的块,对应的大小就叫页面大小。

    页框:将内存划分的。页和页框二者一一对应,一个页放入一个页框,(理论上)页的大小和页框的大小相等。

    页表:就是一个页和页框一一对应的关系表(页号 - 页帧号)。【存放在内存中】 关系表只是起到一个索引的作用,说白了就是能根据关系表能查到某一个页面和哪一个页框(块号/页帧号)所对应。

    操作两步:

    第一次,访问内存中的页表,利用逻辑地址中的页号查找到页帧号(块号),与逻辑地址中的页内地址(偏移)拼接形成物理地址;

    第二次:得到物理地址后,再一次访问内存,存取指令或者数据。

    1.页面大小 * 2 ^(页表项大小) = 操作系统最大支持内存大小(虚拟内存), 4K * 2^(4B) = 16GB (4K为)
    2.页表占用内存 = 操作系统内存/页面大小 * 页表项大小,假设操作系统内存为2GB。 2GB/4KB*4B = 2MB
    3.页表占用的页数是=页表占用内存/页面大小,这题同上假设2MB/4K=512个页。

    答题的约定成俗

    访问内存,先查页表在查块,也就是说访问内存次数是指令+数据块数的二倍。

    缺页中断,访问指令时,即使指令占了多个页,也是一次读取完(只能是一次缺页中断),读取数据时占用几个页就是几次缺页中断。

    段式存储组织

    段式存储结构根据程序来分段(一个main方法一个段,有点类似于JVM的方法区,各个线程共享类信息和常量),每个段大小都不一样(页式存储根据物理空间分页,每页大小一样)。段式存储内存共享(页式存储程序独享内存)。

    段页式存储组织

    结合段式存储和页式存储先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。

    页面淘汰算法

    四种算法:

    1.最优算法

    2.随机算法

    3.先进先出(常考)

    4.最近最少使用(常考

    文件管理

    索引文件结构

    上图中有13个索引结点(考试时默认13个结点),假设盘块大小为4k,每个索引地址占4B,

    直接索引:索引结点直接对应物理盘块。上图中有十个是直接索引,存储的大小为4k*10=40k。

    一级间接索引:10号盘块有4k/4B=1024块(n的大小),所以一级索引的存储总和为4K * 1024。

    二级间接索引:1024 * 1024 * 4K

    三级间接索引:1024 * 1024 * 1024 * 4K

    树型目录结构

    主要考察绝对路径和相对路径

    空闲存储空间管理

    空闲区表法:用一个表记录空闲区域

    空闲链表法:将空闲区域链成一个表

    设备管理 

    内存和外设之间的数据的传输控制问题

    程序控制方式:又称程序查找方式,最低级,CPU介入最高。外设无反馈。

    程序中断方式:当外设完成数据传输等操作会发出一种中断。

    DMA方式:直接存储控制方式。专门的DMA控制器,又这个控制器去管控数据传输,CPU只在开头做一个操作,等完成之后再由CPU接管工作。

    通道

    输入输出处理机

    虚设备与SPOOLING技术

    spooling(Simultaneous Peripheral Operation On-Line,即外部设备联机并行操作)技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备。

    微内核操作系统


  • 相关阅读:
    python BeautifulSoup库的基本使用
    python操作RabbitMQ
    MySQL主从复制
    python字典与集合操作
    常见术语
    Mac下如何使用homebrew
    springboot整合freemarker
    Servlet与JSP概念理解
    slf4j-api、slf4j-log4j12以及log4j之间什么关系?
    使用nodeJs安装Vue-cli并用它快速构建Vue项目
  • 原文地址:https://www.cnblogs.com/aeolian/p/10979761.html
Copyright © 2011-2022 走看看