2023-2024 20231404高伟光《计算机基础与程序设计》第九周学习总结

发布时间 2023-11-26 22:32:17作者: 实干的梦想家

作业信息

作业 内容
我的班级 我的班级
作业要求 第八周要求
作业目标 操作系统责任,内存与进程管理,分时系统,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的学习

image
image
image

代码行数(新增/累积) 学习时间(新增/累积)
目标 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