操作系统知识点总结

Posted jessep

tags:

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

一.操作系统概述

1. 操作系统的四个特性

并发:同一段时间内多个程序执行(注意区别并行和并发,前者是同一时刻的多个事件,后者是同一时间段内的多个事件)

  • 正是系统中的程序能并发执行这一特征,才使得OS能有效地提高系统中的资源利用率,增加系统的吞吐量。

    1、并发与并行
    2、引入进程
  • 为计算程序和I/O程序分别建立一个进程(Process)后,这两个进程便可并发执行。
  • 若对内存中的多个程序都分别建立一个进程,它们就可以并发执行,这样便能极大地提高系统资源的利用率,增加系统的吞吐量。

 

共享:系统中的资源可以被内存中多个并发执行的进线程共同使用

  • 在OS环境下的资源共享或称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。 

    ------在宏观上既限定了时间(进程在内存期间),也限定了地点(内存)。

  • 1、互斥共享方式
    2、同时访问方式

  实现资源共享的2种方式 具体说明:
   1)互斥共享方式:系统中的某些资源:如打印机、磁带机等,虽然可以提供给多个进程(线程)使用,但是应规定在一段时间内,只允许一个进程访问该资源。
  -------- “临界资源”:一段时间内只允许一个进程访问的资源
   2)同时访问方式:系统中还有另外一些资源,允许在一段时间内由多个进程“同时”对它们进行访问。             

  -------- 这里的“同时”也就是前面讲的在微观下交替进行的。典型的例子:磁盘设备!

 

虚拟:通过时分复用(如多道程序技术,分时系统)以及空分复用(如虚拟内存)技术实现把一个物理实体虚拟为多个

  • 在OS中,把通过某种技术将一个物理实体变为若干个逻辑上的对应物理的功能称为“虚拟”。
  • 前者是实的,即实际存在的,而后者是虚的,是用户感觉上的东西。
  • 在OS中也是利用时分复用和空分复用技术来实现“虚拟”的。

    1、时分复用技术
    2、空分复用技术

   注:时分复用 :能够提高资源利用率的根本原因:它利用某设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用。
     空分复用 :指的是将一个频率范围比较宽的信道  划分成 多个频率较窄的信道(称为频带)。

    注意:举个例子:一个100MB 的应用程序之所以可以运行在 30MB 的内存空间,实质上就是  每次只把用户程序的一部分调入内存中运行,运行完       成后将该部分换出,再换入另一部分到 内存中运行,通过这样的置换功能,便实现了用户程序的 各个部分分时地进入内存运行。

异步:由于资源等因素的限制,使进程的执行通常都不可能“一气呵成”,系统中的进程是以走走停停的方式执行的,

   且以一种不可预知的速度推进

  • 在多道程序环境下,系统允许多个进程并发执行。
  • 由于各用户程序性能的不同,比如,有的侧重于计算而较少需要I/O;而有的程序其计算少而I/O多,这样,很可能是先进入内存的作业后完成,而后进入内存的作业先完成。
  • 或者说,进程是以人们不可预知的速度向前推进的,此即进程的异步性。

 

2.操作系统的主要功能

  • 处理机管理:处理机分配都是以进程为单位,所以处理机管理也被看做是进程管理。包括进程控制,进程同步,进程通信和调度(作业调度和进程调度)
  • 存储器管理(或者内存管理):内存分配,内存保护,地址映射,内存扩充
  • 设备管理:管理所有外围设备,包括完成用户的IO请求;为用户进程分配IO设备;提高IO设备利用率;提高IO速度;方便IO的使用
  • 文件管理:管理用户文件和系统文件,方便使用同时保证安全性。包括:文件存储空间管理,目录管理,文件读写管理以及文件共享和保护
  • 提供用户接口:程序接口(如API)和用户接口(如GUI)

  1、处理机管理功能: 
  传统的多道程序系统中,处理机的分配和运行 都是以   进程  为基本单位的。

    1)进程控制:在设置有线程的OS中,进程控制还应包括为一个  进程 创建若干个线程,以提高系统的并发性。
    2)进程同步:其主要任务是 为多个进程(含线程)的运行进行协调。协调方式:进程互斥方式和进程同步方式。
    3)进程通信:进程通信的任务是 实现相互合作进程之间的信息交换。
    4)调度:包括  作业调度和 进程调度。
  
  2、存储器管理功能
  主要任务是:为多道程序的运行提供良好的环境,提高存储器的利用率,方便用户使用,并能从逻辑上扩充内存。
  具有  内存分配和回收、内存保护、地址映射和内存扩充等功能。

  3、设备管理功能
  具有 缓冲管理、设备分配和设备处理以及虚拟设备等功能。

  4、文件管理功能
  对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性。
  应当具有  对文件存储空间的管理、目录管理、文件的读/写管理以及文件的共享与保护等 功能。


  补充知识:
   “机制与策略分离”原理: 
   机制:指实现某一功能的具体执行机构;
   策略:在机制的基础上借助于某些参数和算法来实现该功能的与优化,或达到不同的功能目标。

3.附加内容

①   操作系统的5大管理功能:

    1)设备管理:主要负责内核和外围设备的数据交互,实质是对硬件设备的管理,包括输入输出设备的分配、初始化、维护和回收等等。

    2)作业管理:负责人机交互、图形界面或系统任务的管理。

    3)文件管理:涉及文件的逻辑组织和物理组织、目录结构和管理等等。

                    从操作系统的角度来看,文件系统是系统对文件存储器的存储空间进行分配、维护、回收,同时负责文件的索引、共享和权限保护。

                    从用户的角度来说,文件系统是按照文件目录和文件名来进行存取的。

    4)进程管理:说明一个进程存在的唯一标志是PCB(进程控制块),负责维护进程的信息和状态。进程管理的实质是系统采取某些进程调度算法来是处理合理的分配给每个任务使用。

    5)存储管理:数据的存储方式和组织结构。

②   操作系统的结构:

    1)单结构:不同的功能归类为不同的功能块,每个功能块相对独立,它们通过一定的方式进行联系,不同的功能块可以相互调用它们提供的服务。这样,整个操作系统就像是一个巨大的单一体,运行在系统的内核态下,为用户提供服务。

            由于单结构系统的功能块之间结构复杂,修改某一功能块将导致其他功能块的修改,从而导致操作系统设计开发的困难。

                例:MS-DOS操作系统。

    2)分层结构:将操作系统分成若干层,低层次的功能为其上一个层次的功能提供服务,而高层次的层尤为更高一个层次的功能提供服务。

        操作系统的所有功能都在内核态下运行,而从用户态转化为内核态需要一定的时间成本,这样造成了操作系统效率的嫡系。另外,内核态运行的程序可以访问所有的系统资源,随着操作系统越来越大,设计可靠和安全的操作系统将变得异常困难。

    3)微内核:目标是建立基于消息传送机制的最小内核,以便在此基础上建造对其他操作系统的模拟层来模拟其他操作系统的特性。

            微内核的有优点是大大提高了操作系统的兼容性,使得基于微内核的操作系统能够迷你其他操作系统的特性,从而支持许多运行于其他操作系统上的应用程序。

            微内核的另一优点是提高了系统的扩充性。微内核设计的一个目标就是内核只要提供对操作系统绝对必要的功能,而把其他属于传统操作系统内核部分功能留给用户态进程实现。

                例:Unix操作系统。

    4)模块化方法:使用面向对象技术创建模块化内核。

            采用模块化结构的操作系统由一些不同功能的结构模块集合组成,每一个模块实现一个特定的功能,如调度、文件系统、设备驱动等等,并且这些模块可以根据需要自动进行加载和卸载。本质上,一个模块就是内核在运行时可以链接或者断开链接的一个对象文件。

                例:Linux操作系统。

 

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

Linux操作系统的知识点总结

JavaEE知识点总结详细版进程操作系统线程

MySQL:表的操作 知识点难点总结:表完整性约束及其他常用知识点二次总结🙄

(面经总结)冲刺大厂之面经总结

操作系统知识点总结

Kubernetes学习总结(17)—— Kubernetes 快速入门需要掌握的知识点总结