zoukankan      html  css  js  c++  java
  • 操作系统基础知识总结(连载)

    -------------------------------------------------------第一章------------------------------------------------------------------

    • 操作系统的定义:控制和管理计算机软硬件资源、合理组织计算机工作流程,以方便用户使用计算机的程序的集合。
    • 操作系统的目标:方便性、有效性、可扩充性、开放性
    • 操作系统的五个基本功能:存储管理、处理机管理、设备管理、文件管理、用户接口
    • 操作系统的发展过程:

        未配置操作系统的计算机系统:人工操作方式、脱机输入输出方式

        批处理系统:单打批处理系统、多道批处理系统

        分时系统:分时系统的特征:多路性,交互性,独立性,及时性

        实时系统:实时任务的类型:周期性实时任务/非周期性实时任务、硬实时任务/软实时任务

             实时系统的特征:多路性、交互性、独立性、及时性、可靠性

        微机操作系统:单用户单任务操作系统、单用户多任务操作系统、多用户多任务操作系统

        多处理机操作系统:模式:非对称多处理模式、对称多处理模式

        网络操作系统:模式:客户-服务器模式(CS模式)、对等模式(P2P模式)

        分布式操作系统:与网络OS的比较:分布性、并行性、透明性、共享性、健壮性

        嵌入式操作系统

    • 操作系统的五个基本特征:并发性、共享性、虚拟性、异步性、随机性
    • 操作系统结构:传统结构:无结构OS(第一代)、模块化OS(第二代)、分层式结构OS(第三式)

              现代结构:微内核结构OS

      

    -------------------------------------------------------第二章------------------------------------------------------------------

    • 前趋图:有向无环图
    • 程序顺序执行:特征:顺序性、封闭性、可再现性
    • 程序并发执行:只有不存在前趋关系的程序之间才有可能并发执行。

              特征:间断性、失去封闭性、不可再现性

    • 进程:一个具有一定独立功能的可并发执行的程序,在一个数据集合上的运行过程。
    • 进程的特征:动态性、并发性、独立性、制约性、异步性、结构特征
    • 进程的结构特征:进程=程序+数据+PCB
    • 进程控制块(PCB):为了使参加并发执行的每个程序(含数据)都能独立的运行,在操作系统中为之配置的一个专门的数据结构。PCB是进程存在的唯一标志。

          PCB的组织方式:线性方式、链接方式、索引方式

    • 进程的三种基本状态:就绪状态(Ready)、执行状态(Running)、阻塞状态(Block)

                新引入状态:创建状态(New)、终止状态(Teminated)

               

           新操作引入:挂起、激活。新操作的引入使得:就绪->活动就绪、静止就绪

                                阻塞->活动阻塞、静止阻塞

    • 引起进程创建的事件:用户登录、作业调度、提供服务、应用请求
    • 进程的创建:申请空白PCB、为新进程分配资源、初始化PCB、将新进程插入就绪队列
    • 进程的终止:正常结束、异常结束、外界干预

        

    • 线程的定义:进程中的一个实体,是能够被系统独立调度和分配的基本单位。线程是进程的一个组成部分,线程由进程创建,一个进程中至少存在一个线程,线程还可以创建其他线程。可以当作轻型进程为线程,重型进程为进程。
    • 线程的组成(NT为例):唯一的标识:客户ID、一组处理及状态寄存器、分别在用户态和核心态下使用的两个堆栈、一个私用寄存器。
    • 线程的实现方式:内核支持线程KST、用户级线程ULT、组合方式

      

    -------------------------------------------------------第三章------------------------------------------------------------------

    • 进程同步:对多个相关进程在执行次序上进行协调,使并发执行的诸进程之间能按照一定的规则或时序共享系统资源。
    • 进程关系:间接制约/互斥关系、直接制约/同步关系
    • 临界资源:一次仅允许一个进程使用的资源。死锁就是在进程申请同时使用多个临界资源时候,临界资源处理不当的情况。
    • 临界区:进程中访问临界资源的代码成为临界区
    • 同步机制应遵循的规则:空闲让进、忙则等待、有限等待、让权等待
    • 互斥问题的解决办法:(总体上可以分为硬件解决,信号量和管程,以下为详细展开)可以将临界区的标准看成是一个锁,显然为了防止多个进程同时测试大锁为打开的情况,测试和关锁必须是连续的,不允许分开进行。
      • 软件方法:有一定难度并且有局限性
      • 关中断:实现互斥最简单办法
      • TS实现互斥:借助一条硬件指令,这条指令可以看作一个函数过程,执行过程不可分割及一条原语。
      • 利用Swap指令进行互斥:有效,但是其他访问不停地进行测试,处于忙等状态,不符合让权等待的原则。
    •  信号量机制:
      • 整型信号量:一个用于表示资源数目的整型量S,除初始化外,仅能通过两个标准的原子操作  wait(S)  和  signal(S) 来访问。这两个操作被称为PV操作。因为是两个原子操作,它们在执行时是不可中断的。
      • 记录型信号量:整型信号量的wait操作并未遵循让权等待而是忙等状态。记录型对其进行了改善。在信号量机制中除了一个用于代表资源数目的整型变量value还增加了进程链表指针list。
      • AND型信号量:前面的情况都是多个进程共享一个临界资源,但现实往往是多个进场需要多个共享资源。显然进程要求共享的临界资源越多,发生进程死锁的可能性越大。
    When you return with glory, you will be bathed in the golden rain.
  • 相关阅读:
    深入PHP内核之全局变量
    关于PHP中的opcode
    深入PHP内核之opcode handler
    virtual memory exhausted: Cannot allocate memory
    Nginx配置error_page 404错误页面
    PHP 与 UTF-8
    define() vs const 该如何选择?
    CentOS安装配置Samba
    当···时发生了什么?
    PHP中curl的使用
  • 原文地址:https://www.cnblogs.com/DrunkYouth/p/10633271.html
Copyright © 2011-2022 走看看