2022-2023-1 20221301 《计算机基础与程序设计》第十五周学习总结
作业信息
这个作业属于哪个课程 | <班级的链接>https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP |
---|---|
这个作业要求在哪里 | <作业要求的链接>https://www.cnblogs.com/rocedu/p/9577842.html#WEEK15 |
每周作业链接汇总
- 第一周:
简要内容:简要浏览《计算机科学概论》全书,并针对每章进行提问。
- 第二周:
简要内容:数字化 信息安全 自学教材
计算机科学概论第1章并完成云班课测试
《C语言程序设计》第1章并完成云班课测试
- 第三周:
简要内容:数字分类与计数法
位置计数法
进制转换
模拟数据与数字数据
压缩与解压
数字化
信息安全
- 第四周:
简要内容:门电路
组合电路,逻辑电路
冯诺依曼结构
CPU,内存,IO管理
嵌入式系统,并行结构
物理安全
- 第五周:
简要内容:Pep/9虚拟机
机器语言与汇编语言
算法与伪代码
测试:黑盒,白盒
- 第六周:
简要内容:Polya如何解决问题
简单类型与组合类型
复合数据结构
查找与排序算法
算法复杂度
递归
代码安全
- 第七周:
简要内容:数组与链表
基于数组和基于链表实现数据结构
无序表与有序表
树
图
子程序与参数
- 第八周:
简要内容:功能设计与面向对象设计
面向对象设计过程
面向对象语言三要素
汇编、编译、解释、执行
- 第九周:
简要内容:操作系统责任
内存与进程管理
分时系统
CPU调度
文件、文件系统
文件保护
磁盘调度
- 第十周:
简要内容:信息系统
数据库与SQL
人工智能与专家系统
人工神经网络
模拟与离散事件
排队系统
天气与地震模型
图形图像
- 第十一周:
简要内容:计算机网络
网络拓扑
云计算
网络安全
Web
HTML,CSS,Javascript
XML
- 第十二周:
简要内容:自学教材
《C语言程序设计》第11章并完成云班课测试
- 第十三周:
简要内容:自学教材
《C语言程序设计》第12章并完成云班课测试
- 第十四周:
简要内容:自学教材
《C语言程序设计》第13章并完成云班课测试
- 回顾一开始提的问题,发现很多都意义不大,可以在书中直接找到答案,或者很容易在网上搜到答案。但是也有一些有价值的问题可以进行思考与探讨,比如:
计算机的IP地址与虚拟机的IP地址的关系
虚拟机和主机的本地IP地址不一样,是对于内网(局域网)而言。对于外网,虚拟机和主机的本地IP地址一样。
本机的IP是真实的,虚拟机里的IP是虚拟的,虚拟机可以与真实IP不相同。虚拟机技术是为了解决主机不够使用而开发的一项新技术,允许在一台真实PC上安装多个虚拟系统,可相互切换,方便实用,在实际应用上主要用作多用户操作或测试。在PC机上实际上就是一个类似于GHSOT包的镜像文件。
虚拟机就像桥接在电脑的另一台电脑,所以两个系统是不相关的就像是两台电脑一样。也可以把虚拟机设置成桥接模式,然后把虚拟机的系统IP改成和实际机子同一个网段就可以了,那虚拟机的操作系统就好像是局域网里面的一台机子一样提供服务。
虚拟机优点:
1、灵活性:
虚拟机将提供最大程度的部署灵活性。虚拟机几乎可以部署在任何地方,而不管其操作系统或主机的配置如何。Windows系统可以托管基于Linux的虚拟机,反之亦然。
2、安全与隔离:
随着容器平台的不断成熟以及更多安全工具的全面支持,这些担忧可能会得到缓解。但是,从一个简单的事实来看,容器化的应用程序永远无法与虚拟机达到相同程度的隔离,因此从安全角度来看,容器不可能完全匹配虚拟机。虚拟机不会像容器那样共享彼此的内核或其他基本系统资源。
参考:https://zhidao.baidu.com/question/591188163/answer/3299839991.html
虚拟内存原理及其存在意义
内存是程序的以进行的基础,进程的进行内存资源是非常必要的,如何在有限的内存中运行足够大的程序,变成了一个非常有挑战的事情,而虚拟内存相对于物理内存可以提供更大的空间。
简单来说,虚拟内存可以让系统看上去去拥有比物理内存大得多的内存空间,为多道程序的执行提供了资源。
虚拟内存为每一个进程提供了非常大的,一致的,独占的虚拟地址空间
虚拟内存提供了三个关键能力
1.虚拟内存将主存看作是在磁盘地址空间上的高速缓存,主存中只保存活
动区域并根据需要在磁盘和主存之间来回传送数据
2.虚拟内存保护每个进程的地址空间不被其他进程破坏
3.虚拟内存为进程提供了一致的地址空间简化了内存管理
先来看一下一般的直接寻址是怎么进行的
CPU直接通过物理地址就找到地址空间,每个进程在直接寻址时可能会碰到其他内存已经占用了的地址空间,而且物理内存的大小也非常有限
而现代处理器使用的虚拟寻址方式是这样子的
中间通过某一种手段间接地访问物理内存,这个过程称为地址翻译,这个过程有什么好处呢,对于CPU来说,看到的虚拟寻址过程都是独立的,它们访问的地址与是否被访问过是没有关系的
采用虚拟内存的关键是,一个应用程序总是逐段被运行的,而且在一段时间内会稳定运行在某段程序中。因此,将需要运行的哪段程序从辅存复制到内存中运行,其它暂不运行的程序段让其仍旧保留在辅存中
因此我们使用虚拟内存不仅更加安全,而且为我们提供了更大的寻址空间,其代价仅仅是添加一层映射
Linux当中的虚拟内存技术
以存储单元为单位来管理显然不现实,因此Linux将虚拟空间分为若干个大小相等的存储分区,Linux将这样的分区称为页。为了换入换出方便,物理内存页按页的大小划分为若干块。由于物理内存中的块空间时用来容纳虚拟页的容器,所以物理内存中的块叫做页框,页与页框是Linux实现虚拟内存技术的基础。
物理内存和虚拟内存被分为页和页框后,其存储单元原来的地址都被自然地分为两段,这两段各自代表着不同的含义:高位段分别叫做页框码和页码用于识别页框和页的编码,低位段分别叫做页框偏移量和页内偏移量是存储单元在页框和页内的地址编码
就是我们刚才说到的虚拟寻址方式,其映射被称为页表,在页表中有一个特殊的单位,其作用是以01来表达是否在物理内存中有效,如果为0,则要发生缺页中断,也就是把不用的页置换出去,让这一页在运行时对应了有效可用的物理地址
可以认为虚拟空间都被映射到了磁盘空间中,事实上是通过mmap按需映射到磁盘空间上,并且由页表记录映射位置,当访问到某个地址的时候,通过页表中的有效位可以得知此数据是否在内存中,如果不是则通过缺页异常将磁盘对应的数据拷贝到内存中,如果没有空闲内存则选择牺牲页面替换其它页面
参考:https://blog.csdn.net/Ma_shiro/article/details/108564128
一些反思
本学期并没有因为什么加分,刚学习第一个学期,对于一些学科专业知识还知识了解一些皮毛,浮于表面,应通过假期或者其他时间,更加深入的进行学习,多加实践,尝试参加一些竞赛等。
本学期的云班课作业做的并不是太理想,有些因为做错了被扣分,以后需要交作业之前多加斟酌,多查阅相关资料,争取确保作业是正确的再上交,要不然会被扣很多分……
通过一学期的学习,我从一开始只会用简单用计算机搜个东西,看个视频,上个网课,变成了现在对计算机从内部结构到他的组成部分有了大致的了解,感觉对他的认识更加深入了,学习编程以后,感觉自己的逻辑变得更强了一些,想东西会更有条理。
自己需要改进的地方主要就是不敢实践,从一开始的装虚拟机开始,总想着把所有东西都先搞明白再开始行动,但这样是很不现实的,应该在一步一步不断摸索的过程中不断学习,进行体会,这一点还需要努力改正。
如果重新学习这门课,我会在每周看书的时候,结合网上查阅的资料,视频一起学习,这样效果可能会更好。同时有不会的先自己尝试解决,实在不行在求助老师同学。
调查问卷
- 你平均每周投入到本课程多长时间?
5-7个小时 - 每周的学习效率有提高吗?
有 - 学习效果自己满意吗?
一般,但还是比较满意的 - 课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书送给你作纪念)
尽量!!!希望可以做到! - 你觉得这门课老师应该继续做哪一件事情?
通过云班课的作业让大家深入体会教材内容,并会学习运用 - 你觉得这门课老师应该停止做哪一件事情?
在刚一开始就在课上展示如何输命令。一是速度太快,同学们跟不上。二是刚一开始大家对这个米什么概念,也记不住太多。
把云班课的测试题改为中文的,英文的题做的有点费劲 - 你觉得这门课老师应该开始做什么新的事情?
通过一些新的方式让同学们对命令行有一定认识。
下学期加油!!!
标签:简要,云班课,虚拟机,地址,内存,2022,2023,虚拟内存,20221301 From: https://www.cnblogs.com/bky20221301/p/16973598.html