:操作系统基础知识笔记

Posted 赵萱婷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了:操作系统基础知识笔记相关的知识,希望对你有一定的参考价值。

文章目录

操作系统知识笔记

    计算制系统由硬件和较件两部分组成。计算柳系统中的软件通常分为系统软件和应用软件两大类。

    系统软件支持应用软件的运行,为用户开发应用软件提供平台,用户可以使用它,但不能随意修改它。常用的系统软件有操作系统、语言处理程序、连接程序、诊断程序
和数据库管理系统等。

     应用软件是指计算机用户利用计算机的软、硬件资源为某一专门的应用目的而开发的软件。例如∶科学计算、工程设计、数据处理、事务处理、过程控制等方面的程序,以及文字处理、表格处理、辅助设计(CAD)和实时处理等软件。

操作系统基础

系统定义

    计算机系统的硬件资源包括中央处理机(CPU)存储器(主存与外存)输入/输出设备等物理设备。计算机系统的软件资源是以文件形式保存在存储器上的程序和数据等信息。操作系统既有效地组织和管理系统中的各种软、硬件资源,合理地组织计算机系统的工作流程。又控制程序的执行,并且为用户使用计算机提供了一个良好的环境和友好的接口,从而使用户能充分利用计算机资源,提高系统的效率。

操作系统的作用:

  1. 通过资源管理,提高计算机系统的效率。
  2. 改善人机界面,向用户提供友好的工作环境。

系统分类

  1. 单用户操作系统:早期的微型计算机上运行的操作系统每次只允许一个用户使用计算机,被称为单用户微机操作系统,如CP/M,MS-DOS等。
  2. 批处理操作系统:早期的一种大型机用操作系统。可对用户作业成批处理,期间勿需用户干预,分为单道批处理系统和多道批处理系统。
  3. 分时操作系统:分时操作系统是使一台计算机采用时间片轮转的方式同时为几个、几十个甚至几百个用户服务的一种操作系统。把计算机与许多终端用户连接起来,分时操作系统将系统处理机时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用。由于时间间隔很短,每个用户的感觉就像他独占计算机一样。分时操作系统的特点是可有效增加资源的使用率。例如UNIX系统就采用剥夺式动态优先的CPU调度,有力地支持分时操作。
  4. 实时操作系统:实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。提供及时响应和高可靠性是其主要特点。
  5. 网络操作系统:网络操作系统 ,是一种能代替操作系统的软件程序,是网络的心脏和灵魂,是向网络计算机提供服务的特殊的操作系统。
  6. 分布式操作系统:分布式软件系统(Distributed Software Systems),是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。
  7. 嵌入式操作系统:嵌入式操作系统(Embedded Operating System,简称:EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前在嵌入式领域广泛使用的操作系统有:嵌入式实时操作系统µC/OS-II、嵌入式Linux、Windows Embedded、VxWorks等,以及应用在智能手机和平板电脑的androidios等。

系统的特征

  1. 并发性(concurrency): 在计算机科学中,并发性(Concurrence)是指在一个系统中,拥有多个计算,这些计算有同时执行的特性,而且他们之间有着潜在的交互。因此系统可进行的运行路径会有相当多个,而且结果可能具有不确定性。并发计算可能会在具备多核心的同一个芯片中复合运行,以优先分时线程在同一个处理器中运行,或在不同的处理器执行。
  2. 共享性(sharing):操作系统的共享性指的是,操作系统中的资源可供内存中的多个并发运行的进程共同使用。
  3. 虚拟性(virtual):操作系统的虚拟性指的是,操作系统会把一个物理上的实体变为若干个逻辑上的对应物,物理实体是实际存在的,而逻辑对应物是用户感受到的.
  4. 不确定性(non-determinacy):操作系统的异步性是指,在多道进程运行的环境下,进程之中指令的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是异步性。

系统的功能:

  1. 进程管理:进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说CPU(寄存器),IO,内存,网络资源等。
  2. 文件管理:文件管理是操作系统的五大职能之一,主要涉及文件的逻辑组织和物理组织,目录的结构和管理。所谓文件管理,就是操作系统中实现文件统一管理的一组软件、被管理的文件以及为实施文件管理所需要的一些数据结构的总称(是操作系统中负责存取和管理文件信息的机构)从系统角度来看,文件系统是对文件存储器的存储空间进行组织,分配和回收,负责文件的存储,检索,共享和保护。从用户角度来看,文件系统主要是实现"按名取存",文件系统的用户只要知道所需文件的文件名,就可存取文件中的信息,而无需知道这些文件究竟存放在什么地方。
  3. 存储管理: 存储器管理的对象是主存,也称内存。它的主要功能包括分配和回收主存空间、提高主存利用率、扩充主存、对主存信息实现有效保护。
  4. 设备管理:设备管理是指计算机系统中除了CPU和内存以外的所有输入,输出设备的管理。设备管理的首要任务是为了这些设备提供驱动程序或控制程序,以使用户不必详细了解设备及接口的技术细节,就可方便地对这些设备进行操作。另一任务就是利用中断技术,DMA(Direct Memory Access,直接存储器存储)技术和通道内技术,使外围设备尽可能与CPU并行工作,来提高设备的使用效率以及整个系统的运行速度。
  5. 作业管理:作业的概念及作业的提交方式:作业是用户在一次解题或事务处理过程中要求计算机所作工作的集合。一个作业进入系统到运行结束,一般要经历“后备”、“执行”、“完成”三种状态 。为了管理和调度作业,系统为每一个作业设置了一个作业控制块JCB,它记录了作业的有关信息。作业调用程序的主要功能是审查系统能否满足用户作业的资源 要求,以及按一定算法选取作业。调度性能的优劣以周期时间和带权周期时间的长短来 衡量的。常用的两种作业控制方法是脱机控制方法和联机控制方法。

处理机与进程管理

进程的定义和分类

     进程是程序的一次执行,该程序可以和其他程序并发执行。进程通常由程序数据及**进程控制块(Process Control Block,FCB)**组成。PCB 描述了进程的基本情况,是进程存在的唯一标志。

进程的三态模型:

进程的五态模型:

进程的状态及其转换:

     进程控制主要是通过进程控制原语实现的,包括:

  1. 创建原语
  2. 撤销原语
  3. 挂起原语
  4. 激活原语
  5. 阻塞原语
  6. 唤醒原语

     关于进程控制原语,可以看看这几篇CSDN上写的一些文章:

  1. 线程控制原语(1)-- 创建线程
  2. 线程控制原语汇总、创建进程的demo以及线程控制原语和进程控制原语对比

进程的PV操作

     关于PV操作和信号量的解释可以参考下面的文章:PV操作原理和实现

生产者——消费者问题

     关于生产者——消费者问题的解释可以参考下面的文章:

  1. 进程同步之生产者-消费者问题(C++)
  2. 生产者消费者问题C++实现
  3. 生产者消费者问题(C++实现)

进程通信与管程

     关于进程通信与管程的解释可以参考下面的文章:

  1. 挑战408——操作系统(12)——进程通信,管程介绍
  2. 【操作系统】同步互斥机制(二):管程与进程间通信机制(IPC)
  3. 操作系统(四)同步互斥机制&管程&进程间通信

进程调度与死锁

     关于进程调度与死锁的解释可以参考下面的文章:

  1. 进程的调度与死锁
  2. 操作系统概论【三】- - 进程调度与死锁
  3. 进程调度与死锁
  4. 操作系统之进程的调度与死锁

存储管理

存储管理的概念

     存储组织的功能是在存储技术和 CPU 寻址技术许可的范圈内组织合理的存储结构,使得各层次的存储器都处于均衡的繁忙状态,其依据是访问速度匹配、容量要求和价格等。

     逻辑地址: 用户程序经编译后,每个目标模块以0为基地址进行的顺序编址,它不是主存中的真实地址,是相对基地址而言的。逻辑地址又称为相对地址、程序地址或虚拟地址。

     物理地址: 主存中各个存储单元的地址,从统一的基地址进行顺序编址,是主存中的真实地址,可以寻址并实际存在的。物理地址又称之为绝对地址。

     存储空间: 简单来说,逻辑地址空间(简称地址空间)是逻辑地址的集合,物理地址空间(简称存储空间)是物理地址的集合。

地址重定位

     程序的逻辑地址被转换成主存的物理地址的过程称为地址重定位。地址重定位的方式有两种:

  1. 静态重定位: 在程序执行之前就进行地址的重定位,即装入内存时重定位。
  2. 动态重定位: 在程序执行期间,在每次存储访问之前进行地址重定位。

     存储管理的功能有主存储器的分配和回收,提高主存储器的利用率、存储保护、主存扩充等。

存储管理的方式:

  1. 分区存储管理:将内存划分成若干个连续区域,称为分区。每个分区只装入一个程序,且该程序只能在此分区运行。
  2. 分页存储管理:分页存储管理是解决存储碎片的一种方法。动态重定位是解决存储碎片问题的一种途径,但要移动大量信息从而浪费处理机时间,代价比较高,这是因为这种分配要求把作业必须安置在一连续存储区内的缘故,而分页存储管理正是要避开这种连续性要求。
  3. 分段存储管理: 分段存储管理方式的引入是为了满足用户的要求。
  4. 段页式存储管理: 分页和分段管理方式各有其优缺点,分页系统能有效提高内存的利用率,而分段则能更好地满足用户的需要,因此可以将两者结合成一种新的存储管理方式系统称为“段页式系统”。
  5. 虚拟存储管理:虚拟存储器的容量由计算机的地址结构和辅助存储器的容量决定。建立在离散分配的存储管理方式的基础上,它允许将一个作业分多次调入内存。

上述的一些内容可以参考如下的一些文章:

  1. 分区式存储管理
  2. 操作系统——分区式存储管理
  3. 分区存储管理
  4. 分页存储存储管理方式详解
  5. 基本分页存储管理方式
  6. 【操作系统】分段存储管理方式
  7. 操作系统14————存储器管理之分段存储&段页存储
  8. 请求式分页存储管理算法(操作系统)C/C++
  9. 页式存储管理、段式存储管理、段页式存储管理
  10. 虚拟存储管理
  11. 虚拟存储器管理(C++实现)
  12. 优先级调度算法(C++实现)
  13. 按时间片轮转调度算法(C++实现)

设备管理

    设备管理的任务是保证在多道程序环境下,当多个进程竞争使用设备时,按一定策略分配和管理各种设备,控制设备的各种操作,完成输入输出设备与主存之间的数据变换。

    设备管理的目标是提高设备的利用率,为用户提供方便统一的界面。

设备管理主要技术

  1. 中断技术
  2. DMA技术(Direct Memory Access, DMA)
  3. 缓冲技术
  4. 虚设备与SPOOLING(simultaneous peripheral operations online, 外围设备联机)技术

设备管理软件

  1. 中断处理程序
  2. 设备驱动程序
  3. 与设备无关的系统软件
  4. 用户层I/O软件

数据传输控制方式

    设备管理的主要任务之一是控制设备和内存或 CPU 之间的数据传送,常用的数据传送控制方式如下。

  1. 程序控制方式
  2. 中断方式
  3. 直接存储访问方式
  4. 通道方式

上述内容可以参看文章: 设备管理的数据传输控制方式

磁盘调度算法

    磁盘是可供多个进程共享的设备。磁盘调度是使各进程对磁盘的平均访问时间最小。常用的调度算法有:

  1. 先来先服务(first-come first-served,FCFS)
  2. 最短寻道时间优先(Shortest Seek Time First,SSTF)
  3. 扫描算法(SCAN)

上述内容可以参看下面的一些文章:

  1. 操作系统中调度算法(FCFS、RR、SPN、SRT、HRRN)
  2. FCFS(先到先服务)算法 C++实现
  3. 最短寻道时间优先算法(SSTF)&&扫描算法(SCAN)
  4. 磁盘调度算法(FCFS&&SSTF)
  5. 磁盘调度算法(FIFO、SSTF、SCAN、CSCAN)(已经更新bug)

文件管理

     文件管理系统是操作系统中对文件进行统一管理的一组软件和相关数据(即被管理的文件)的集合,简称文件系统。

     文件系统的功能:

  1. 按名存取
  2. 统一用户接口
  3. 并发访问和控制
  4. 安全性控制
  5. 优化性能以及差错恢复

文件的结构和组织

     文件的结构是指文件的组织形式。从用户角度看到的文件组织形式称为文件的逻辑结构,从实现角度看到的文件在存储设备上的存放方式,称为文件的物理结构

     文件的逻辑结构有结构的记录文件和无结构的字符流文件。

     文件的物理结构有连续结构、链接结构、索引结构、多个物理块的索引表。

作业管理

     作业是系统为完成一个用户的计算任务(或者一次事务处理)所做的工作总和。它由程序、数据和作业说明书三部分组成。作业管理程序是操作系统中用来控制作业进入、执行和撤销的一组程序。作业控制块JCB是记录与改作业有关的各种信息的登记表。JCB 是作业存在的唯一标志,包括用户名、作业名、状态标志等信息。

作业状态以及转换

     作业的4种状态为提交、后备、执行和完成。作业的状态及其转换如图所示:

作业调度及其常用调度算法

     作业调度是完成从后备状态到执行状态的转变从执行状态到完成状态的转变。常用的调度算法有:

  1. 先来先服务
  2. 短作业优先
  3. 响应比高优先
  4. 优先级调度算法
  5. 均衡调度算法

     在一个以批处理为主的系统中,通常用平均周转时间或者平均戴荃周转时间来衡量作业调度算法的性能。

用户界面

     用户界面是计算机中实现用户与计算机通信的软、硬件的总称。用户界面也称为用户接口或人机界面。

     用户界面的硬件部分包括用户向计算机输入数据或命令的输入装置以及由计算机输出供用户观察或者处理的输出装置。目前常用的输入\\输出的装置有键盘、鼠标、显示器和打印机等。用户界面软件部分包括用户与计算机相互通信的协议、约定、操纵命令及其处理软件。常用的人机通信的方法有命令语言、菜单选项、图符驱动、表格填充、视窗操作以及直接操纵等。

网络操作系统

     网络操作系统(Network Operating Sygtem,NOS)是使网络中各计算机能方便而有效地共享络资源,为网络用户提供所需的各种服务的软件和有关规则的集合。

网络操作系统功能

  1. 处理机管理
  2. 存储器管理
  3. 设备管理
  4. 文件管理
  5. 提供高效、可靠的网络通信能力
  6. 提供多种网络服务

网络操作系统分类

     分为集中模式、客户机/服务器模式和对等模式(peer-to-peer)。

个人格言

用心去感受你自己需要坚持的生活,未来慢慢会给你答案的。

以上是关于:操作系统基础知识笔记的主要内容,如果未能解决你的问题,请参考以下文章

基础笔记11(线程)

《操作系统》实验报告——主存空间的分配与回收

复习笔记Cache的映像方法

20145205 《信息安全系统设计基础》第14周学习总结

王道计算机组成原理笔记15 主存与CPU的链接

20145225 《信息安全系统设计基础》第14周学习总结