2019-2020-1学期 20192415 《网络空间安全专业导论》第五周学习总结

2019-2020-1学期 20192415

《网络空间安全专业导论》第五周学习总结

第十章 操作系统

10.1 操作系统的角色

软件

1.应用软件(applacaation software):帮助我们解决现实世界问题的程序。

为满足特定需求而编写的。

2.系统软件(system software):管理计算机系统并与硬件进行交互的程序。

在基础层上管理计算机系统,为创建和运行应用软件提供工具和环境。

通常直接与硬件交互,提供的功能比硬件自身提供的多。
  • ★★★计算机的操作系统是系统软件的核心。
  • 其他系统软件支持特定目的。

操作系统(operatingsystem):管理计算机资源并为系统交互提供界面的系统软件。

①操作系统负责管理硬件资源,允许应用软件直接地或通过其他系统软件访问系统资源。

 资源由使用的程序共享。多个并发执行的程序将共享主存,依次使用CPU,竞争使用输入/输出设备的机会。

 操作系统将担任现场监控,确保每个程序都能够得到执行的机会。

②操作系统提供直接的人机交互页面。

 一台计算机通常只有一个活动的操作系统,在系统运行中负责控制工作。

计算机可以拥有两个及以上个操作系统(双引导或多引导系统),但任何时候都只有一个操作系统在控制计算机。
10.1.1 内存、进程和CPU管理

正在执行的程序都驻留在主存中,其中的指令以读取——解码——执行这种周期性方式被一个接一个地处理。

操作系统自身也是必须执行的程序。执行OS的CPU就是执行其他程序的CPU,因此也要把OS排进竞争CPU的队列中。

  • 多道程序设计(multiprogramming): 同时在主存中驻留多个程序,由它们竞争CPU的技术。

    所有现代操作系统都采用多道程序设计技术。

  • 进程(process): 程序执行过程中的动态表示法。

    程序只是一套静态指令,进程则是动态的实体,表示正在执行的程序。
    
  • 内存管理(memory management):了解主存中载有多少个程序以及它们的位置的动作。

  • 进程管理( process management):了解活动进程的信息的动作。

    内存管理和进程管理都需要CPU调度。

  • CPU调度(CPU scheduling):确定主存中的哪个进程可以访问CPU以便执行的动作。

10.1.2 批处理

作业:程序和系统指令(为执行程序所需的系统软件或其他资源所单独提供的)集合在一起。

一个分批包含一组需要相同或相似资源的作业;当一个分批中的作业被载入内存中时,它们将竞争CPU和其他共享资源的使用权。

10.1.3 分时

分时(timesharing):多个交互用户同时共享CPU时间的系统。

虚拟机(virtual machine):分时系统创建的每个用户都有专有机器的假象。

主机(mainframe):一个大型的多用户计算机,通常与早期的分时系统相关。

哑终端(dumb terminal):在早期的分时系统中用户用于访问主机的一套显示器和键盘。

CPU时间由所有用户创建的所有进程共享。每个进程顺次得到一小段CPU时间。→CPU要足够快

许多台式计算机运行的操作系统都以分时的方式支持多个用户。其他用户可以用其他计算机通过网络连接到这台计算机上。

10.1.4 其他OS要素
  1. OS必须考虑计算机通常要连接到网络

  2. OS要负责与各种各样的设备通信

  3. OS需要支持实时系统

    实时系统(real-time system):应用程序的特性决定了响应时间至关重要的系统。

    响应时间(response time):收到信号和生成响应之间的延迟时间。

10.2 内存管理

逻辑地址(logical address):对一个储存值的引用,是相对于引用它的程序的。

物理地址(physical address):主存设备中的真实地址。

把逻辑地址联编到物理地址的时间越迟,得到的灵活度越大。

地址联编(address binding):逻辑地址和物理地址之间的映射。

采用十进制进行地址联编计算。
多种内存管理策略:
  1. 单块内存管理

    单块内存管理(single contiguous memory management):把应用程序载入一段连续的内存区域的内存管理方法

    物理地址=起始地址+逻辑地址

    优点:实现与管理简单

    缺点:大大浪费内存空间和CPU时间

  2. 分区内存管理

  • 固定分区法(fixed-partition technique):把内存分成特定数目的分区以载入程序的内存管理方法

  • 动态分区法(dynamic-partition technique):根据容纳程序的需要对内存分区的内存管理方法

           基址寄存器(base register):存放当前分区的起始地址的寄存器
    
           界限寄存器(bounds register):存放当前分区长度的寄存器
    

分区选择法:

  1. 页式内存管理

    页式内存管理法( paged memory technique):把进程划分为大小固定的页,载人内存时存储在帧中的内存管理方法。

    帧(frame):大小固定的一部分主存, 用于存放进程页。

    页(page):大小固定的一部分进程 ,存储在内存帧中。

    页映射表(Page Map Table, PMT): 操作系统用于记录页和帧之间的关系的表。

         两种无效逻辑地址:①越过进程界限②偏移量大于帧大小
    

    请求分页( demand paging):页式内存管理法的扩展,只有当页面被引用(请求)时才会被载人内存。

    页面交换(page swap):把一个页面从二级存储设备载人内存,通常会使另一个页面从内存中删除。

    虚拟内存(virtualmemory):由于整个程序不必同时处于内存而造成的程序大小没有限制的假象。

    系统颠簸(thrashing): 频繁的页面交换造成的低效处理。

10.3 进程管理

10.3.1 进程状态

注:可能同时有多个进程处于准备就绪或等待状态,但只有一个进程处于运行状态。

10.3.2 进程控制块

进程控制块(process control block):操作系统管理进程信息使用的数据结构。

上下文切换(context switch):当一个进程移出CPU时,另一个进程取代它发生的寄存器信息交换。

10.4 CPU调度

  1. 先到先服务FCFS

  2. 最短作业优先SJN

  3. 轮询法

    可能是应用最广泛的,一般支持所有的作业,被认为是最公平的算法。

第十一章 文件系统和目录

11.1 文件系统

文件(file): 数据的有名集合,用于组织二级存储设备。

      文件是可以写入二级存储设备的最小数据量。

文件系统(file system):操作系统为它管理的文件提供的逻辑视图。

目录(directory):文件的有名分组。

11.1.1 文本文件和二进制文件

文本文件(text file):包含字符的文件。

二进制文件(binary file):包含特定格式的数据的文件,要求给位串一一个特定的解释。

     有些信息有字符表示法,通常使人更容易理解和修改。

     有些信息类型则是通过定义特定的二进制格式或解释来表示数据,以使其更有效且更符合逻辑。

注:包含报表的文档并不是文本文件,而是二进制文件。

11.1.2 文件类型

文件类型(file type):文件中存放的关于类型的信息。

文件扩展名(fileextensionn):文件名中说明文件类型的部分。

注:可以任意命名文件,改变文件扩展名不会改变文件中的数据或它的内部格式。

11.1.3 文件操作

创建——删除

打开——关闭

读取数据——写入数据

重定义文件中的当前文件指针(地址——读指针,写指针)

把数据附加到文件的结尾

删减、重命名、复制

11.1.4 文件访问
  1. 顺序文件访问(sequential file access):以线性方式访问文件中的数据的方法。

  2. 直接文件访问(direct file access):通过指定逻辑记录编号直接访问文件中的数据的方法。

11.1.5 文件保护

多用户系统中,文件保护的重要性居于首要地位。

确保合法的文件访问是操作系统的责任。

每个文件都由一个特定用户所拥有,通常是文件的创建者。

一个文件可能具有一个相关的组名,分组只是一个用户列表;一个管理组中的用户都具有Group许可。

11.2 目录

目录文件存放的是关于目录中的其他文件的数据。

11.2 目录树

分级结构

文件系统→目录树(directory tree):展示文件系统的嵌套目录组织的结构

最高层目录→根目录(root directory):包含其他所有目录的最高层目录。

工作目录(working directory):当前活动的子目录。

11.2.2 路径名

路径(path):文件或子目录在文件系统中的位置的文本名称。

 绝对路径( absolute path):从根目录开始,包括所有后继子目录的路径。

 相对路径(relative path):从当前工作目录开始的路径。

11.3 磁盘调度

磁盘调度(disk scheduling):决定先满足哪个磁盘I/O请求的操作。

   建立原因:二级I/O一般是计算机系统中最慢的部分

            →访问磁盘驱动器上的信息的方法对于文件系统至关重要

            →建立访问磁盘的请求列表

三种磁盘调度法:

  1. 先到先服务

       不考虑读写头的当前位置
    
  2. 最短寻道时间优先

       通过尽可能少的读写头移动满足所有未解决的请求。
    
       可能会在满足一个请求后改变读写头的移动方向。
    
       “饿死”:新的请求总是比早期的请求所需要的柱面离当前位置近。
    
  3. SCAN

       读写头向轴心移动,再向盘片边缘移动,在两者之间来回移动。
    

题后小结#

1.文本文件与二进制文件

  1. 能存储的数据类型不同

     文本文件只能存储char型字符变量。二进制文件可以存储char/int/short/long/float/……各种变量值。
    
  2. 每条数据的长度

     文本文件每条数据通常是固定长度的。以ASCII为例,每条数据(每个字符)都是1个字节。进制文件每条数据不固定。如short占两个字节,int占四个字节,float占8个字节……
    
  3. 读取的软件不同

     文本文件编辑器就可以读写。比如记事本、NotePad++、Vim等。二进制文件需要特别的解码器。比如bmp文件需要图像查看器,rmvb需要播放器……
    
  4. 操作系统对换行符(‘\n’)的处理不同(不重要)

     文本文件,操作系统会对’\n’进行一些隐式变换,因此文本文件直接跨平台使用会出问题。
    
     在Windows下,写入’\n’时,操作系统会隐式的将’\n’转换为”\r\n”,再写入到文件中;读的时候,会把“\r\n”隐式转化为’\n’,再读到变量中。 
    
     在Linux下,写入’\n’时,操作系统不做隐式变换。 
    
     二进制文件,操作系统不会对’\n’进行隐式变换,很多二进制文件(如电影、图片等)可以跨平台使用。
    

从存储方式来说,文件在磁盘上的存储方式都是二进制形式,所以,文本文件其实也应该算二进制文件。先从他们的区别来说,虽然都是二进制文件,但是二进制代表的意思不一样。

可参考:https://blog.csdn.net/colourful_sky/article/details/80334250

2.关于进程控制块

进程控制块(PCB)是系统为了管理进程设置的一个专门的数据结构。系统用它来记录进程的外部特征,描述进程的运动变化过程。同时,系统可以利用PCB来控制和管理进程,所以说,PCB(进程控制块)是系统感知进程存在的唯一标志。

记载信息:

     PCB通常记载进程之相关信息,包括:

    1. 程序计数器:接着要运行的指令地址。
    2. 进程状态:可以是new、ready、running、waiting或 blocked等。
    3. CPU暂存器:如累加器、索引暂存器(Index register)、堆栈指针以及一般用途暂存器、状况代码等,主要用途在于中断时暂时存储数据,以便稍后继续利用;其数量及类因电脑架构有所差异。
    4. CPU排班法:优先级、排班队列等指针以及其他参数。
    5. 存储器管理:如标签页表等。
    6. 会计信息:如CPU与实际时间之使用数量、时限、账号、工作或进程号码。
    7. 输入输出状态:配置进程使用I/O设备,如磁带机。 

组织方式:

    1.线性表方式:不论进程的状态如何,将所有的PCB连续地存放在内存的系统区。这种方式适用于系统中进程数目不多的情况。

    2.索引表方式:该方式是线性表方式的改进,系统按照进程的状态分别建立就绪索引表、阻塞索引表等。

    3.链接表方式:系统按照进程的状态将进程的PCB组成队列,从而形成就绪队列、阻塞队列、运行队列等。

3.单个CPU一个时刻只能运行一个线程

单核CPU电脑同一时间内只能执行一个线程,这句话是对的。

首先了解一下,CPU执行的过程,它是把时间分成若干个小时间段,这些时间段很小的。

系统中有很多进程,每个进程中又包含很多线程。

在同一时间段内,电脑CPU只能处理一个线程(线程A),而下一个 时间段就不一定是上一个时间段内执行的那个线程(线程A)了,可能是别的线程(线程B)。

4.回顾磁盘与磁带

磁盘

记录的是数字信号。重放时由播放软件将数字信号转换为模拟信号。例如U盘、硬盘、内存卡等等。

数字信号,记录的是0和1,没有其他。

磁带

用于记录声音的磁带记录的是模拟信号。重放时,由音频电路直接进行放大输出。磁带,是由传动机械拖动磁带运行。磁带是条状带形。

模拟信号,记录的是声音的频率和幅度。

磁带存储比起硬盘存储有什么优缺点?

1、成本上,磁带前期投入大,后期投入小,因为前期涉及到磁带机设备,一般都比较高,而后期的磁带比磁盘要便宜的多。

    磁带:机器贵,磁带便宜,适合长期大容量存储使用。

    磁盘:机器便宜,磁盘相对磁带贵,适合中小容量使用。

2、磁带可以支持离线断电存储,易保管。相对来看磁盘虽然也支持断电离线存储,但便捷性和维护性上,和磁带相比优势很小。

3、维护成本上,磁带机要高于磁盘。磁带机如果不做高可用,发生故障,只能等待修复,而使用磁盘,借助分布式存储集群,单或多节点故障并不影响整体使用。

综上所述,虽然磁带有相对优势较强,但随着分布式存储技术的发展和应用,以及磁盘单盘容量不断提升和每GB价格的下降,越来越多的场景开始使用分布式存储替换磁带机。

作者:crasybest
链接:https://www.zhihu.com/question/317948198/answer/652680267
来源:知乎
posted @ 2019-11-05 20:06  20192415邢质斌  阅读(176)  评论(0编辑  收藏  举报