2022-2023-1 20221421 《计算机基础与程序设计》第九周学习总结
作业信息
班级链接:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK09
作业目标:cpu调度,进程控制,先到先服务,轮询,最短作业优先,内存管理,分时,分区
作业正文:2022-2023-1 20221312 《计算机基础与程序设计》第九周学习总结 - 221421李旻奇 - 博客园 (cnblogs.com)
教材学习内容总结
学习了《计算机科学概论》第十章,开始初步了解操作系统,对其调度计算机资源的地位有了初步了解,最重要的是了解了cpu的工作方式,对要求算力的作业进行批处理,通过分时进行多交互用户同时共享cpu资源,内存管理追踪程序在内存中的位置与驻留方式,了解了逻辑地址与物理地址,在不同的内存管理中有不同的方式将逻辑地址转变为物理地址,如单块内存管理就是直接将相对地址加上内存起始地址就可以得到物理地址,初步理解了cpu中不同程序的进程状态,明白了控制不同程序的进程的就是CPU调度的内容,FCFS先到先服务是最容易理解的CPU调度方式但不一定是最快的
最短作业优先是效率最高却也是最难实现的,轮询法的灵活性很高但是其效率往往取决于时间片与各个程序要求的serve时间,理解了调度的不同类型。从非抢先调度到抢先调度等等。
学习了《计算机科学概论》第十一章,对文件的类型(文本文件,二进制文件)有了一定了解,最有生活意义的是理解了各个拓展名与其对应的文件类型,理解了目录的区别,理解了相对路径与绝对路径的区别,学习了工作目录与根目录目录树的定义,类比CPU的CPU调度我学习了磁盘调度的相关知识,磁盘调度中还有一个CPU调度中没有的scan调度等等。
教材学习中的问题和解决过程
目前已经度过了指针学习有几个比较有意思的问题我认为值得了解;
问题一:函数指针有什么用,感觉用函数名就可以实现功能为什么要多此一举?
问题一解决方案:依照我浅薄的认识,C语言的设计框架简约但完备;没有没用的功能。依照我的认识函数指针用于创建了一个承载了函数的的平台,我们就可以通过函数指针实现可以有选择的执行多个不同函数;例如我们可以用点播电影来举例,按下不同的序号按钮实际是通过取值将指针中的函数执行,而点播的遥控就是多个函数指针的集合。
问题二:声明器中的声明与使用相统一的核心体现是什么?
问题二解决方案:核心体现我认为是声明器的操作符优先级,在使用和声明时因为同时遵循了声明器的操作符优先级,所以声明器的声明和使用才能统一。
代码调试过程中的问题和解决过程
问题一:有一个大问题就是我深刻认识到了编译的局限性,那就是编译时只能检查出语法错误不能理会逻辑错误,而且它只能提示语法错误不能识别出原则错误
例如
编译居然通过了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
但是无法执行
这是肯定的,太离谱了我尝试用指针来访问和修改一个字符常量,常量可以通过指针访问,但是是不能修改的。
我终于认识到了老师为什么一直强调要学会调试,擅长调试不能只依赖编译,编译有时候很难发现错误
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!