2021-2022-1 20211426 《信息安全专业导论》第九周学习总结

2021-2022-1 20211426 《信息安全专业导论》第九周学习总结
作业信息
作业模板:https://www.cnblogs.com/rocedu/p/9577842.html#JXJC

作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06
代码:https://gitee.com/zy20031014/zy
教材学习内容总结
python

第12章:

其主要讲述的是对文件的处理,即文件读写。

首先是打开文件,有个open函数,涉及四个参数open(file,mode,encoding,errors)

其中最为重要的是mode参数,下表为打开模式表

接着就是关闭文件,主要就是close()方法的应用。如在finally代码块中关闭文件,就可用close()

with as代码块关闭文件,没有用到close(),其是直接在as之后声明一个变量,结束后自动释放资源。

后面又提到读写文本文件,以及读写二进制文件,方法上有许多相似之处:

如read(size=-1)读取字符串/字节

readline(size=-1)读取到换符行时返回单行字符串。/读取并返回一行

readlines读取文件数据到一个字符串列表/一个字节列表

flush()刷新缓冲区

writelines(lines)写入字符串列表/写入字节列表

write则有点不同,write(s)/write(b)即写入字符串或字节

16章:

说实话,这章有点抽象,有点难以理解。总之就是多线程问题。

首先讲到线程这个概念,说到他,不得不提进程,即正在执行的程序,而一个线程中可以包含多个线程。

其中有主线程和子线程之分,主线程主要负责其他线程(子线程)的启动,挂起,停止等操作。

对于线程模块———threading,其提供了很多线程相关的函数,如active_count,current_thread(),main_thread()等

创建子线程,首先需要线程对象,线程体两个要素,然后有两种方式可供选择:

1.自定义函数

创建Thread对象的构造方法为Thread(target,name,args)

target参数指向线程体函数,可自定义它,name为线程名,args为元组类型

2.自定义线程类

创建一个Thread子类并重写run方法(线程体函数)

之后便是对于线程的管理:即堵塞一个进程,让另一个进程先运行。

用到join()方法,即join(timeout=None),timeout即用于设置超时时间,单位为秒。

对于多线程,很容易出现死循环,这时候就需要线程停止,而这需要判断停止变量。

计算机科学概论
10章:对操作系统进行介绍。
首先提到应用软件(解决现实问题),系统软件(管理计算机系统并与硬件进行交互),操作系统(管理计算机并为系统交互提供界面的系统文件)。现在,操作系统有安卓,ios,Mac oc
其中值得注意的是操作系统的责任是负责管理计算机的资源,并提供人机交互的界面。
计算机资源深入,(即内存,进程,cpu管理)

  • 多道程序设计:同时在主存中贮存多个程序,由它们竞争cpu的技术
  • 内存管理:了解主存中有多少个程序以及它们的位置的动作
  • 进程及管理:程序执行过程中的动态表示法叫做进程,管理即了解活动进程的信息的动作
  • CPU调度:确定主存中的哪个进程可以访问cpu以便执行的动作
    批处理:即将多个作业分批,一个分批包含一组需要相同或相似资源的作业。
    分时:允许多个用户同时与计算机进行交互。由一台主机和一组连接到主机的哑终端
    操作系统最后要素:实时系统,即必须提供最少响应时间的系统

内存管理
如何知道使用什么地址

  • 逻辑地址:对一个储存值的引用,是相对于引用它的程序的
  • 物理地址:主储存设备中的真实地址
  • 其逻辑和物理之间的映射叫做地址联编
    单块内存管理:
    把主存分为两部分,每个程序占用一部分,余下分给应用程序。即把应用程序载入一段连续的内存区域的内存管理方法
    分区内存管理:
  • 固定分区法:把内存分为特定数目的分区以载入程序的管理法
  • 动态分区法:根据容纳程序的需要对内存分区的管理法
  • 基址寄存器:存放当前分区的起始地址
  • 界限寄存器:存放当前分区的长度
    最先匹配,最佳匹配,最差匹配
    页式内存管理:
    主存被分为小的大小固定的储存块,叫做帧,进程被划分为页。
    为了掌握进程页的分布,对于每个进程维护一个独立的页映射表
    进程管理:
  • 进程状态:在操作系统的管理下,进程历换的概念性阶段。
  • 进程控制块:数据储存处,即操作系统管理进程信息使用的数据结构
  • 上下文切换:当一个进程移出cpu,另一个进程将取代它时发生的寄存器信息交换
    CPU调度:
  • 非抢先:当当前执行的进程自愿放弃cpu时发生的调度
  • 抢先:当操作系统决定照顾另一个进程而抢占当前执行进程的cpu资源时发生的调度
  • 周转周期:从进程进入准备状态到它最终完成之间的时间间隔,是评估CPU调度算法的标准
    调度方法:先到先服务,最短作业优先,轮询法
    11章:
    文件系统:
  • 是操作系统提供的一个逻辑视图,使用户能按照文件集合的方式管理数据。通常通过目录组织文件
    文本文件和二进制:
  • 文本文件为包含字符的文件,而二进制文件包含特定格式的数据的文件,要求给位串一个特定的解释
  • 其都为二进制数字,只是位块不同。
    文件类型:文档中包含的信息的种类叫作文件类型。
    说明文件类型方法通常为将类型作为文件名的一部分,文件名分为主文件名和文件扩展名(类型)。
    文件操作:可通过操作系统协助,进行一系列操作
    文件访问:
  • 顺序文件访问:以线性方式访问文件中的数据方法
  • 直接文件访问:通过指定逻辑记录编号直接访问文件中的数据的方法
    文件保护:
    目录:文件的有名集合
  • 目录树:展示文件系统的嵌套目录组织的结构
  • 根目录:包含其他所有目录的最高层目录
  • 父目录和子目录:子被含于父中
  • 特定子目录:当前工作目录
  • 路径名:文件或子目录在文件系统中的位置的文本名称
    绝对:从根目录开始,包含所有后继子目录的路径
    相对:从当前工作目录开始的路径
    注意,unix中用/隔开
    磁盘调度:决定先满足哪个磁盘I/O请求的操作
    可联系到之前的调度方法:先到先服务,最短寻道时间优先,scan等
    **教材学习中的问题和解决过程 **
    问题一:对于单块和分区内存管理,那个更高效,更好用?
    解决:查询后未得知确切答案,但有了一个未发现的疑点解开了
  • 动态分区是按需分配,开始时内存能充分利用,但当不停有进程被换入、换出时会形成很多进程间的内存碎块,称为外部碎片。
    分段是将进程划分成若干个段,但段的长度不必相等,一个进程可以有程序段、数据段和堆栈段,这些段在内存中的地址可以不连续,分段有点类似于动态分区。分段消除了主存的内部碎片,但会产生外部碎片。
    问题2:地址和路径有什么相同之处吗
    解决:查询,得知在计算机科学中,内存中每个用于数据存取的基本单位,都被赋予一个唯一的序号,称为地址,也叫做内存地址。
    而用户在磁盘上寻找文件时,所历经的文件夹线路叫路径。所以,此两者无必然联系。
    代码调试中的问题和解决过程

对于十一章wxpython的安装,经过一下午的时间,还是没有安装成功。
之后,我有不死心地上网查询,我尝试升级pip,运用管理员权限,下载wheel文件,改变安装方式,都没有成功,最后在云班课求助,才得以解决。
上周考试错题总结
The root node in a tree has no children.(树中的根节点没有子节点。)是错误的,树的根节点是有子节点的
第二道同上,是同一道题。
学习进度条
代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 50/50 2/2 8/8 安装Linux
第二周 80/100 3/4 16/20 学习python
第三周 150/200 1/5 20/36 开始python编码
第四周 300/600 4/6 22/56 用代码托管
第五周 300/900 4/10 20/78 学习python程序流程控制
第六周 600/1200 1/14 10/98 学习使用机器语言与汇编语言
第七周 640/1800 3/15 15/108 学习定义函数以及运用函数
第八周 600/2440 2/18 18/123 学习链表的插入和删除
第九周 610/3040 3/20 19/141 了解了俄罗斯方块的编写
计划学习时间:30小时

实际学习时间:24小时

改进情况:对于游戏编写有了初步理解,并尝试自己写一些代码。

参考资料
[机算计科学概论]
看漫画学python

posted on 2021-11-20 15:10  20211426赵炫宇  阅读(7)  评论(0编辑  收藏  举报

导航