作业信息
这个作业属于哪个课程 | [2024-2025-1-计算机基础与程序设计(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP)) |
---|---|
这个作业要求在哪里 | 2024-2025-1计算机基础与程序设计第九周作业 |
这个作业的目标 | 1、操作系统责任 2、内存与进程管理 3、分时系统 4、CPU调度 5、文件、文件系统 6、文件保护 7、磁盘调度 |
作业正文 | 本博客链接 |
教材学习内容总结
《计算机科学概论》第十章内容总结
10.1 操作系统的角色
• 操作系统的定义:操作系统是管理计算机硬件和软件资源的系统软件,提供用户与计算机硬件交互的接口。
• 操作系统的功能:包括进程管理、内存管理、文件系统管理、设备驱动等。
• 操作系统的类型:如批处理系统、分时系统、实时系统等,各有其应用场景和特点。
10.1.2 批处理
• 批处理系统:在早期计算机系统中,批处理系统允许多个用户提交作业,操作系统按顺序处理这些作业,提高了资源的利用率。
10.1.3 分时
• 分时系统:允许多个用户同时与计算机交互,通过时间片轮转,使得每个用户都感觉像是独占计算机。
10.1.4 其他OS要素
• 操作系统的演变:随着技术的发展,操作系统不断演进,以适应新的硬件和软件需求。
10.2 内存管理
• 内存管理的重要性:内存管理是操作系统的核心功能之一,负责有效地分配和回收内存资源。
• 地址绑定:分为编译时、加载时和运行时三种方式,影响程序的执行和内存的使用。
• 页式内存管理:将内存分为固定大小的页,通过页表进行地址转换,提高了内存的利用率和管理效率。
• 虚拟内存:通过将物理内存扩展为虚拟内存,允许程序使用比实际物理内存更大的地址空间,提升了内存使用的灵活性。
10.3 进程管理
• 进程与CPU管理:操作系统需要管理进程的执行,包括进程的创建、调度和终止。
• 进程状态:进程在生命周期中会经历不同的状态,如新建、就绪、运行、等待和终止。
• 进程控制块(PCB):用于存储进程的状态信息,如程序计数器、CPU寄存器、内存管理信息等。
• 上下文切换:当进程从运行状态切换到其他状态时,需要保存当前进程的状态并加载下一个进程的状态。
10.4 CPU调度
• CPU调度的重要性:合理分配CPU时间片,确保系统资源的公平和高效使用。
• 调度算法:包括先来先服务(FCFS)、最短作业优先(SJF)、轮转调度(RR)等,各有优缺点。
• 时间片:在轮转调度中,每个进程被分配一个时间片,时间片结束后,进程会被放回就绪队列等待下一次调度。
《计算机科学概论》第十一章内容总结
11.1 文件系统
• 文件系统的作用:文件系统是操作系统用于组织、存储和管理磁盘上数据的一种机制,提供了文件和目录的抽象。
• 主存与二级存储的区别:主存(如RAM)是易失性的,而二级存储(如硬盘)是非易失性的,操作系统需要有效管理这两种存储。
11.2 目录
• 目录结构:目录(或文件夹)是文件系统的层次结构,用于组织文件。根目录是整个文件系统的起点。
• 绝对路径与相对路径:绝对路径从根目录开始,而相对路径从当前工作目录开始。
• 工作目录:当前活动目录,所有相对路径都是基于此目录。
11.2.2 路径名
• 路径名的类型:包括绝对路径和相对路径,用于定位文件系统中的文件。
• 环境变量:如PATH,用于指定可执行文件的搜索路径。
11.3 磁盘调度
• 磁盘调度算法:决定磁盘I/O请求的处理顺序,影响磁盘性能。包括先到先服务(FCFS)、最短寻道时间优先(SSTF)、扫描(SCAN)等算法。
• 寻道时间与旋转延迟:寻道时间是读写头移动到正确柱面的时间,旋转延迟是等待磁盘旋转到正确扇区的时间。
11.4 文件访问
• 文件访问方法:包括顺序访问和直接访问。顺序访问按文件内容顺序读取,直接访问通过索引直接跳转到特定位置。
• 文件保护:操作系统通过权限控制文件的访问,确保数据安全。
11.5 文件操作
• 文件操作类型:包括创建、打开、读写、关闭、删除等基本操作。
• RFID技术:作为一种文件保护和访问控制的技术,RFID可以用于追踪和管理物理文件。
《C语言程序设计》第八章内容总结
第八章 数组和算法基础
8.1一维数组的定义和初始化
1、数组:是一组具有相同类型变量的集合,是一种顺序存储、随机访问的数据表结构。
数据类型 数组名【元素个数】
2、C语言中数组的下标都是从0开始的。
注:下标不能越界
8.2二维数组的定义和初始化
1、定义格式:类型 数组名【第一维长度】【第二维长度】
2、占用的字节数:第一维长度第二维长度sizeof(基类型)
3、不同编译系统,int型所占的字节数是不同的。
4、数组第二维的长度声明永远都不能省略。
8.3 向函数传递一堆数组
1、若要把一个数组传递给另一个函数,只要使用不带方括号的数组名作为函数实参调用函数即可。
2、数组名代表数组第一个元素的地址,用数组名作函数实参实际上是将数组的首地址传给被调函数。
注:数组作函数形参时,数组的长度可以不出现在数组名后面的方括号内,通常用另一个整型形参来指定数组的长度。
8.4 排序和查找
1、排序:把一系列无序的数据按照特定的顺序重新排列为有序数组的过程。
2、方法:
交换法排序
选择法排序
3、查找:在数组中搜索一个特定元素的处理过程
4、查找算法:
线性查找:简单直观,效率较低(也称顺序查找)
折半查找:复杂效率高
当查找信息有序排列时,折半查找法比顺序查找法的平均查找速度快得多
折半查找的基本思想:首先选取位于数组中间的元素,将其与查找键进行比较。如果它们的值相等,则查找键被找到,返回数组中间元素的下标。否则,将查找的区间缩小为原来区间的一半,即在一半的数组元素中查找。
5、数组名作为函数参数时的注意事项:
(1)声明一维形参数组时,在方括号内可以给出数组的长度(声明为固定长度数组);也可以不给出数组的长度(声明为可变长度数组)。这时一般用另一个整型形参给定数组的长度。
(2)用数组名作为函数实参时,形参数组和 实参数组既可同名,也可不同名。因它们的名字代表的是数组的首地址,所以经过“由实参向形参单向值传递”后,它们都指向了内存中的同一段连续的存储单元。而用简单变量作为函数实参时,由实参向形参单向传递的是变量的内容,不是变量的地址,因此无论它们是否同名,它们都代表内存中不同的存储单元。
(3)在被调函数中改变形参数组元素值时,实参数组元素值也会随之改变。这种改变并不是形参反向传给实参造成的,而是形参和实参因具有同一地址,共享同一段内存单元造成的。
8.5 向函数传递二维数组
注意:当形参被声明为二维数组时,可以省略数组第一维的长度声明,但不能省略数组第二维的长度声明。
对二维表格进行数据处理,必须使用二维数组
基于AI的学习
代码调试中的问题和解决过程
问题一:作业系统里的编程题,最后输出时的变量显示没有被定义
解决:发现变量是在循环体里定义的,应该在循环外定义,自己没有考虑到
问题二:实验四函数与数组编程练习中,输出结果中会出现乱码
解决:输出乱码对应的函数声明时没有int n,导致学生人数会出现随机数,而不是我定义的值,进而导致分数输出时出现乱码
其他(感悟、思考)
本周实验声明的函数偏多,易出现错误,要多使用Debug检验和编译,确保每个函数正确后再运行程序
标签:操作系统,2024,2025,数组名,查找,内存,数组,20241305,实参 From: https://www.cnblogs.com/yaohang/p/18561673