课程学习
复习时针对自己思考的问题发表看法,不一定正确,请大佬多多指正,欢迎大家讨论捏
戴子钧
这个作者很懒,什么都没留下…
展开
-
C++测试
开始对C嘎嘎下手!原创 2023-06-22 20:24:40 · 632 阅读 · 0 评论 -
extern声明&static的用法
extern”告诉编译器变量在外部某处声明过,但是不可以再对他进行二次赋值。1.h:test1:可以正常运行test2:不能正确运行test3:可以正确运行。原创 2023-06-10 22:28:50 · 56 阅读 · 0 评论 -
枚举类型enum的用法
Enumeration type(枚举数据类型):用户自定义的构造数据类型,其值集是由用户程序定义的。正常认为是0,1.....如果你赋值了,就按你赋值的来。enum <枚举类型名> { <枚举值表> };原创 2023-06-10 21:48:06 · 62 阅读 · 0 评论 -
CPU如何访问主存?
如果TLB没有找到相应的页表项,那么说明不在TLB里,那我们就需要通过页表来进行查询物理地址,这个时候需要借助内存管理单元MMU,通过MMU查询页表,如果在页表中相应页表项装入位为1,说明在内存中,得到物理地址;如果为0不在内存中则需要通过虚拟存储器中软硬件进行主存和辅存的调入调出,修改页表,最终得到物理地址。1.1 该地址首先会去到cache中,cache中存在TLB表,TLB表是页表的一部分内容,保存装入为1的条目,如果在TLB中找到了相应的页表项,那么直接根据页表项得到物理地址。原创 2023-06-03 17:09:12 · 1386 阅读 · 0 评论 -
C++中set类函数的使用
目前还没有找到可以直接没有e的,但是固定长度(有效位数非小数的)L输出........ 可能确实需要判断整数的位数M,然后采用<<fixed<<setprecision(L-M)这种?注:set后,在后面所有的输出都是管用的,所以测试一个,需注释其他的。想输出:123.4 7.000 45.20。输出:空格221.113,会补空格,使长度为8。头文件:#include <iomanip>输出:221.000。原创 2023-05-30 10:48:57 · 76 阅读 · 0 评论 -
操作系统中页表和多层页表的理解
但是从上面的来看,其实页表就是逻辑内存和物理内存的对应,那显然计算机整个逻辑内存只需要一个页表就够了,针对每个程序只需要知道自己对应的逻辑内存不久好了,为什么要每个进程都有一个页表呢?可以查看页表,由于页表天然是顺序存放的,那我们其实也可以把第一列省略,当我们需要知道逻辑地址空间第p块的对应的物理内存时候,我们就查找页表第p项的值就行了。那分层页表的含义:我们知道页表其实也是存储在物理内存中的,如果页表的大小超过一个块的大小,那我们就不能一次访问,我们需要页表的页表,通过外层页表对内层页表查询。原创 2023-05-07 15:09:33 · 412 阅读 · 0 评论 -
操作系统内核态和用户态的理解,结合用户线程如何在CPU上执行来谈
那么整个工作流程可以理解为,调度器需要给进程分配LWP,线程库决定哪个线程在上面允许,调度器在执行的时候,其实是OS在工作,这个时候管理内核线程。首先CPU上运行的一定是内核线程,一个内核线程绑定一个LWP,调度器分配用户,用户线程程想要在硬件上执行一定要获得LWP,这个过程是由调度器分配的,决定那个线程执行是由线程库分配的。所以第一幅图的划分其实仔细想也是存在问题的,CPU肯定不是在内核里呀,CPU是硬件,内核是一个程序,在OS工作的时候会在CPU上进行。怎么理解OS在这个过程中的工作的过程呢?原创 2023-05-06 18:59:25 · 375 阅读 · 1 评论 -
有关多线程和多核的理解
但是后来发现,人们要执行的程序很多,多核可以并行执行,因此出现了多核这个概念,可以提高任务的执行。但是单线程程多核是无法提高一个进程的执行效率,因此出现了多线程的概念,而正是出现了线程概念,就不再以进程为CPU执行的基本单元,而是以线程为CPU执行的基本单元,进程为资源分配的基本单元。所以,多线程是多核出现后才产生的概念。如果单核多线程,显然也是OK的,但这种设计就毫无意义,理论上多线程是不要求多核的,但实际上一定要是多核才有用。因此,是多核支持了多线程,更好的实现多线程的功能。原创 2023-05-05 16:19:28 · 536 阅读 · 1 评论 -
操作系统-如何理解操作系统的接口,and当我们点击屏幕显示的思考?
这张图来自龙书,可以看到,当我们点击屏幕的时候,是从鼠标的外设产生中断,到CPU上OS执行中断处理,根据图形界面接口,由鼠标在屏幕上的位置,调用或者说使用这个接口,OS处理,这里可能会调用其他的程序,会得到需要的资源,再通过系统调用返回给OS,OS会处理,告诉显示器的控制器,进行图形的显示。仔细思考后才知道自己的愚蠢。根据龙书所说操作系统分为内核,系统程序和用户程序,我们简单认为就是内核和其他,那么内核提供了最核心的功能,而用户接口,图形界面接口和命令行接口属于其他,注意这里是接口!原创 2023-05-04 15:41:15 · 82 阅读 · 1 评论