2023-2024 20231404高伟光《计算机基础与程序设计》第九周学习总结
作业信息
作业 | 内容 |
---|---|
我的班级 | 我的班级 |
作业要求 | 第九周要求 |
作业目标 | 操作系统责任,内存与进程管理,分时系统,CPU调度,文件、文件系统,文件保护,磁盘调度 |
作业正文 | 此博客 |
教材内容总结
c语言程序设计
- 第八章介绍了数组的一系列用法定义,介绍了经典的排序和查找算法,比如交换法和穷举法。同样介绍了函数与数组的结合应用。
计算机程序基础
- 第十章和第十一章集中介绍了操作系统,文件系统。详细介绍了内存,文件,进程,cpu调度,文件创建,扩展名,各种文件操作的相关的知识点。
教材学习中的问题和解决
问题一:动态分配中,为何最差分配常常是最有用的?
- 最差分配常常是最有用的,是因为它可以确保资源被合理地分配和利用。在动态分配中,最差分配可以避免资源被浪费或者被过度使用,从而保持系统的稳定性和可靠性。此外,最差分配还可以帮助避免资源的不公平分配,确保每个用户或者任务都能够得到相对平等的资源分配。因此,最差分配在动态分配中常常是最有用的。
问题二:为何有物理地址,却还需要虚拟地址呢?有什么好处吗?
- 它们的主要作用是提供了一种抽象的、独立于硬件的地址空间,使得进程可以在不同的物理内存地址上运行,从而提高了系统的灵活性和可移植性。
虚拟地址的好处包括:
1.进程空间隔离:每个进程都有自己独立的虚拟地址空间,避免了进程之间的干扰和冲突。
2.内存管理:操作系统可以根据需要动态地分配和回收虚拟内存,从而更好地管理系统内存。
3.内存保护:操作系统可以通过虚拟地址空间来实现对进程内存的保护,防止进程越界访问或修改其他进程的内存。
4.高效的内存共享:多个进程可以共享同一个虚拟地址空间,从而实现高效的内存共享。
问题三:快速查找的c语言算法是怎样的?
int binarySearch(int arr[], int l, int r, int x) {
while (l <= r) {
int mid = l + (r - l) / 2;
if (arr[mid] == x) {
return mid;
}
if (arr[mid] < x) {
l = mid + 1;
} else {
r = mid - 1;
}
}
return -1; // 如果未找到目标值
}
基于ai的学习
代码行数(新增/累积) | 学习时间(新增/累积) | |
---|---|---|
目标 | 2000行 | 100小时 |
第一周 | 50/50 | 2/2 |
第二周 | 50/50 | 2/2 |
第三周 | 50/50 | 2/2 |
第四周 | 50/50 | 2/2 |
第五周 | 300/300 | 2/2 |
第六周 | 300/300 | 2/2 |
第七周 | 200/200 | 1/1 |
第八周 | 200/200 | 1/1 |
第九周 | 150/150 | 2/2 |
第十周 | 200/200 | 2 |