zoukankan      html  css  js  c++  java
  • 计算机操作系统学习笔记(1)

    操作系统内核特征

    • 并发:
      并发与并行区别
      并发:在一段时间内,有多个程序可以运行
      并行:在一个时间点上,有多个程序可以同时执行
    • 共享:分时访问,一个时间点某一个内存单元只有一个访问,互斥共享,操作系统带来共享特征
    1. 同时访问
    2. 互斥共享
    • 虚拟:运用多道程序设计技术,让每个用户都觉得有一个计算机专门为他法务。虚拟化硬件,比如,cpu虚拟化为进程,磁盘虚拟化为文件,内存虚拟化为地址空间
    • 异步:
      程序不是一直执行到底,而是走走停停,向前速度不可预知的异步的执行过程
      只要程序运行环境相同,程序最终运行结果也是相同的
      即使异步也要保证结果是正确的

    操作系统启动

    BIOS上电自检->bootloader->OS

    产生源头

    • 系统调用:应用程序主动向操作系统发出服务请求
    • 异常:是应用程序意想不到的行为,非法指令或者其他坏的处理状态,由操作系统完成
    • 中断:来源于外设,来自不同的硬件设备的计时器或网络的中断

    处理时间

    • 中断:异步
    • 异常:同步
    • 系统调用:异步或同步

    响应

    • 中断:持续,对用户应用程序是透明的,几乎察觉不到的
    • 异常:杀死或或重新执行
    • 系统调用:等待或持续

    处理中断:中断编号

    硬件处理:

    • 设置中断标记,将内、外部时间设置中断标记,中断事件的ID

    软件处理:

    1. 保存当前处理状态
    2. 中断服务程序处理
    3. 清除中断标记
    4. 恢复之前保存的处理状态

    处理异常:异常编号

    1. 保存现场
    2. 异常处理:
      -- 杀死产生异常的程序
      -- 重新执行异常指令对应用程序透明
    3. 恢复现场

    操作系统连续内存的分配

    内存碎片问题

    • 空闲内存不能被利用
    • 外部碎片:在分配单元间的未使用内存
    • 内部碎片:在分配单元中的未使用内存

    简单的内存管理方法

    • 当一个程序准许运行在内存中时,分配一个连续的区间
    • 分配一个连续的内存区间给运行的程序以访问数据

    分配策略:

    首次适配:

    当应用程序提出申请,请求n个byte,操作系统从低地址到高地址分配第一个可用的空间块

    • 简单实现

    • 需求:

    1. 按地址排序的空闲块列表
    2. 分配需要找到一个合适的分区
    3. 重分配需要检查,看自由分区能否合并于相邻的空闲分区
    • 优势:
    1. 简单
    2. 易于产生更大空闲块,向着地址空间的结尾
    • 劣势:
    1. 容易产生外部碎片
    2. 不确定性

    最优适配

    当应用程序提出申请,请求n个byte,操作系统从低地址到高地址分配最适合的空间块

    • 为了避免对大的空闲块拆分
    • 最小化外部碎片的尺寸
    • 需求:
    1. 按尺寸排列空闲块列表
    2. 寻找一个最合适的分区
    3. 重分配需要考虑相邻的空闲分区
    • 优势:
    1. 当大部分分配是小尺寸时非常有效
    2. 比较简单
    • 劣势:
    1. 对外部空间拆分的比较细,产生小的难以利用的外部碎片
    2. 重分配慢

    最差适配

    当应用程序提出申请,请求n个byte,操作系统从低地址到高地址分配最大的空间块,避免拆分小块

    • 为了避免产生大量微小的碎片
    • 需求
    1. 按尺寸排序空闲块列表
    2. 分配很快,获得最大分区
    3. 重分配需要合并相邻的空闲分区,调整空闲块列表
    • 优势:
    1. 分配中大型请求效果最好
    • 劣势:
    1. 一开始就分配大块,在以后需要大块时可能分配不到
    2. 重分配慢
    3. 外部碎片
  • 相关阅读:
    437. Path Sum III
    51. N-Queens
    dfs 感悟
    Topological Sorting
    138 Copy List with Random Pointer
    130. Surrounded Regions
    The sum problem
    A + B Again
    Rectangles
    An easy problem
  • 原文地址:https://www.cnblogs.com/zbqhc/p/7563399.html
Copyright © 2011-2022 走看看