zoukankan      html  css  js  c++  java
  • 201920201学期 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
    来源:知乎
  • 相关阅读:
    爬虫基础
    设计BBS
    中间件和auth模块
    git
    分页器与form表单
    cookie与session
    springboot2.x基础教程:@Enable原理
    springboot2.x基础教程:@Scheduled开启定时任务及源码分析
    springboot2.x基础教程:@Async开启异步任务
    springboot2.x基础教程:JRebel实现SpringBoot热部署
  • 原文地址:https://www.cnblogs.com/lanvin/p/11801213.html
Copyright © 2011-2022 走看看