# 学期(如2024-2025-1) 学号(如:20241402) 《计算机基础与程序设计》第9周学习总结
学期(如2024-2025-1) 学号(如:20241402) 《计算机基础与程序设计》第9周学习总结
作业信息
这个作业属于哪个课程 | <班级的链接>(如2024-2025-1-计算机基础与程序设计) |
---|---|
这个作业要求在哪里 | <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业) |
这个作业的目标 | <写上具体方面> |
作业正文 | ... 本博客链接 |
教材学习内容总结
以下是对操作系统责任、内存与进程管理、分时系统、CPU调度、文件与文件系统、文件保护、磁盘调度等内容的概括总结:
操作系统责任
操作系统是计算机系统的核心软件,负责管理和控制计算机硬件(https://baike.baidu.com/item/硬件/479446)与软件资源,为用户提供友好、高效的计算机使用体验。其主要责任包括提升 用户体验、提高业务竞争力、提供生态入口,以及管理和调度硬件资源如处理器、内存、设备等,确保系统稳定性和安全性。
内存与进程管理
• 内存管理:操作系统通过内存分配器从空闲内存池中为进程分配内存,并跟踪内存使用情况。当进程不再需要某块内存时,操作系统将其回收以便重新利用。内存管理还包括虚拟内存空间的管理,通过页表等数据结构实现进程的内存隔离和保护。
• 进程管理:操作系统负责管理进程的创建、执行、调度和销毁。进程是计算机中正在运行的程序的实例,包含程序代码、数据和执行环境。操作系统通过进程调度算法,如时间片轮转调度算法,实现进程的并发执行和高效利用CPU资源。
分时系统
分时系统是一种允许多个用户同时通过自己的终端以交互方式使用计算机、共享主机资源的系统。它解决了用户与人机交互的需求,使用户的请求能在很短时间内获得响应(通常为1~3秒)。分时系统具有独立性、及时性和交互性等特点,广泛应用于科学计算、数据处理等领域。
CPU调度
CPU调度是操作系统对CPU资源进行分配和管理的过程。调度程序按照一定的算法从就绪队列中选择一个进程,将CPU分配给它运行。常见的调度算法包括先来先服务(FCFS)、短作业优先(SJF)、优先级调度和时间片轮转调度等。这些算法旨在提高CPU利用率、系统吞吐量和响应时间。
文件、文件系统
• 文件:文件是计算机中用于存储数据和信息的基本单位。文件可以包含文本、图像、音频、视频等多种类型的数据。
• 文件系统:文件系统是计算机用于组织和存储文件的技术。它提供了文件的读取、写入、创建和删除等操作。常见的文件系统类型包括FAT32、NTFS和EXT4等,它们各自具有不同的特点和适用场景。
文件保护
文件保护是确保文件安全性和完整性的重要措施。操作系统提供了多种文件保护机制,如文件加密、访问控制列表(ACL)和文件权限管理等。这些机制可以防止未经授权的访问和修改,保护文件的机密性、完整性和可用性。
磁盘调度
磁盘调度是操作系统对磁盘I/O操作进行管理和优化的过程。它决定了磁盘访问的顺序和方式,直接影响系统的性能和响应时间。常见的磁盘调度算法包括先来先服务(FCFS)、最短寻道时间优先(SSTF)、扫描算法(如电梯算法)等。这些算法旨在减少磁盘访问的延迟和提高磁盘的吞吐量。
综上所述,操作系统在内存与进程管理、分时系统、CPU调度、文件与文件系统、文件保护和磁盘调度等方面发挥着重要作用,确保计算机系统的稳定性和高效性。
《计算机科学概论》第七版第十章和第十一章的知识点概括如下:
第十章:智能系统
-
智能系统的基本问题:
• 探讨智能系统的核心问题和挑战,如感知、推理、学习和自主行为等。
-
搜索和约束满足:
• 介绍搜索算法在智能系统中的应用,包括深度优先搜索、广度优先搜索和启发式搜索等。
• 讲解约束满足问题及其求解方法,如回溯法和约束传播等。
-
知识表示与推理:
• 讨论知识表示的方法,如命题逻辑、谓词逻辑和语义网络等。
• 介绍推理机制,包括演绎推理、归纳推理和默认推理等。
-
自然语言处理:
• 阐述自然语言处理的基本概念和任务,如词法分析、句法分析和语义分析等。
• 介绍自然语言处理的应用领域,如机器翻译、信息检索和问答系统等。
-
机器学习与神经网络:
• 讲解机器学习的基本原理和方法,包括监督学习、无监督学习和强化学习等。
• 介绍神经网络的基本结构和训练算法,如感知机(https://baike.baidu.com/item/感知机/12723581)、多层感知机和深度学习等。
第十一章:离散结构
-
离散数学基础:
• 介绍离散数学的基本概念,如集合、关系、函数和逻辑代数等。
• 讲解离散结构在计算机科学中的应用,如图论、组合数学和数论等。
-
计算科学和数值计算方法:
• 探讨计算科学的基本原理和方法,包括算法设计、算法分析和算法优化等。
• 介绍数值计算方法,如数值求解方程、数值积分和数值微分等。
-
图和树:
• 讲解图和树的基本概念及其在计算机科学中的应用,如图的遍历、最短路径算法和树的遍历等。
-
离散概率:
• 介绍离散概率的基本概念和原理,包括随机事件、概率分布和随机过程等。
• 讨论离散概率在计算机科学中的应用,如随机算法和蒙特卡罗方法等。
-
建模与模拟:
• 阐述建模与模拟的基本原理和方法,包括系统建模、仿真实验和结果分析等。
• 介绍建模与模拟在计算机科学中的应用领域,如性能评估、风险评估和决策支持等。
综上所述,第十章和第十一章分别介绍了智能系统和离散结构的相关知识,这些内容在计算机科学中具有重要的地位和作用。
C语言程序设计第八章主要围绕“数组”这一核心主题展开,以下是该章节知识点的概括:
一、数组的定义与初始化
-
一维数组
• 定义方式:类型符 数组名
常量表达式常量表达式常量表达式。其中,常量表达式表示数组的长度,且该长度在数组定义后不可更改。
• 初始化:可以在定义数组的同时对其进行初始化,如int a
555={1,2,3,4,5}。若初始化时提供的元素个数少于数组长度,则剩余元素自动初始化为0。
-
二维数组
• 定义方式:类型符 数组名
常量表达式1常量表达式1常量表达式1
常量表达式2常量表达式2常量表达式2。其中,常量表达式1和常量表达式2分别表示二维数组的行数和列数。
• 初始化:同样可以在定义时进行初始化,如int matrix
333
444={{1,2,3,4},{5,6,7,8},{9,10,11,12}}。若只提供部分元素进行初始化,则剩余元素自动初始化为0。
-
字符数组
• 字符数组用于存储字符数据,如字符串。字符数组以'\0'作为结束标志。
• 初始化:可以通过直接赋值字符串的方式初始化字符数组,如char str[]="Hello, World!"。
二、数组的操作与访问
-
数组元素的访问
• 通过数组名和下标访问数组元素,如a
iii表示访问一维数组a的第i+1个元素(下标从0开始)。
• 对于二维数组,可以使用如matrix
iii
jjj的方式访问第i+1行第j+1列的元素。
-
数组的遍历
• 使用循环结构遍历数组元素,如使用for循环遍历一维数组或二维数组的所有元素。
-
数组的常见操作
• 输入输出:使用scanf或printf等函数进行数组的输入输出操作。
• 排序与查找:对数组进行排序(如冒泡排序、选择排序等)或查找特定元素。
• 字符串操作:如连接字符串(strcat)、复制字符串(strcpy)、比较字符串(strcmp)等。
三、数组的注意事项
-
数组下标的范围
• 数组下标从0开始,到数组长度减1结束。访问数组元素时,要注意不要超出这个范围,否则会导致数组越界错误。
-
数组的内存占用
• 数组在内存中占用连续的空间,其大小由数组类型和数组长度决定。
-
数组的定义位置
• 在主函数内部定义的数组属于局部变量,若不进行初始化,则输出的是随机值。
• 在主函数外部定义的数组属于全局变量,初始值默认为0。
-
数组与指针的关系
• 数组名在大多数情况下可以看作是指向数组首元素的指针。
• 可以通过指针来访问和操作数组元素。
综上所述,C语言程序设计第八章主要介绍了数组的定义、初始化、操作与访问以及注意事项等知识点。这些知识点在后续的C语言学习和编程实践中都具有重要的作用。
教材学习中的问题和解决过程(先问 AI)
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 20 | 2 |2 |