2024-2025-1 20241403 《计算机基础与程序设计》第九周学习总结
作业信息
这个作业属于哪个课程 | <班级的链接>(2024-2025-1-计算机基础与程序设计) |
---|---|
这个作业要求在哪里 | <作业要求的链接>(2024-2025-1计算机基础与程序设计第九周作业) |
这个作业的目标 | 操作系统责任 内存与进程管理 分时系统 CPU调度 文件、文件系统 文件保护 磁盘调度 |
作业正文 | https://www.cnblogs.com/chenqiqi/p/18564973 |
教材学习内容总结
-
内存与进程管理
进程管理:操作系统通过进程管理控制和协调各个进程的执行,包括进程的创建、暂停、恢复和终止等操作。进程是计算机系统中正在执行的程序的实例,操作系统为每个进程分配资源,并确保进程间的正常通信。
内存管理:操作系统负责分配和管理计算机的内存空间。通过内存管理机制,将物理内存划分为若干个逻辑上的块,为进程提供合适的内存空间。存储管理还包括内存的分配与回收、内存保护和虚拟内存等。 -
分时系统
分时系统允许多个用户同时使用计算机资源,每个用户在自己的终端上与系统交互。操作系统通过分时复用技术,将CPU时间分配给多个进程,使得每个用户都感觉像是独占整个系统 -
CPU调度
CPU调度:CPU调度是从就绪队列中选择一个进程来分配CPU的过程,目的是为了实现多道程序设计,提高CPU的利用率。调度时机包括从运行转到等待、从运行转到就绪、从等待转到就绪和进程终止
调度算法:包括先来先服务(FCFS)、短作业优先(SJF)、优先级调度、时间片轮转(RR)等。这些算法根据特定的原则选择下一个运行的进程 -
文件系统
文件系统:操作系统提供给用户在磁盘上的抽象,用户直接与这层抽象打交道,而无需了解磁盘的技术细节。文件系统包括文件存储方式和分配方式 -
文件保护
文件保护:操作系统通过用户权限管理、数据加密、访问控制等安全机制保护文件。合理的权限划分和严格的访问控制可以防止未经授权的用户或程序访问敏感数据和系统资源 -
磁盘调度
磁盘调度算法:目标是使磁盘的平均寻道时间最少。常见的磁盘调度算法包括先来先服务(FCFS)、最短寻找时间优先(SSTF)、扫描算法(SCAN)等。这些算法直接影响寻道时间,从而决定了总的存取时间
磁盘结构:磁盘的表面由磁性物质组成,划分成磁道和扇区,每个扇区就是一个“磁盘块”。磁盘的物理地址由柱面号、盘面号和扇区号定位
教材学习中的问题和解决过程(先问 AI)
- 问题1:进程是如何在各个状态间转换的,给出进程从一种状态转换到另一种状态的明确原因
- 问题1解决方案:
新建态(New) 到 就绪态(Ready):
原因:操作系统创建了一个新的进程,分配了必要的资源,如内存空间,并且进程已经准备好被调度执行。
就绪态(Ready) 到 运行态(Running):
原因:进程调度器根据调度算法选择了一个就绪态的进程,分配了CPU时间,使其开始执行。
运行态(Running) 到 就绪态(Ready):
原因:进程可能因为时间片用完(在时间片轮转调度算法中)或者因为需要等待I/O操作完成而主动放弃CPU,从而回到就绪态。
运行态(Running) 到 阻塞态(Blocked):
原因:进程在执行过程中需要等待某些事件,如等待I/O操作完成、等待信号量或互斥锁等资源,因此进入阻塞态。
阻塞态(Blocked) 到 就绪态(Ready):
原因:进程等待的事件已经发生,如I/O操作完成,信号量可用,或者其他进程释放了所需的资源,进程可以继续执行,因此变为就绪态。
阻塞态(Blocked) 到 运行态(Running):
原因:在某些情况下,如中断处理程序执行完毕后,进程可以直接从阻塞态转换到运行态。
运行态(Running) 到 终止态(Terminated):
原因:进程完成了它的任务,执行了退出系统调用,或者因为错误、异常或操作系统的强制终止而结束。
就绪态(Ready) 到 终止态(Terminated):
原因:进程可能因为操作系统的调度决策而被终止,或者因为用户请求而结束。
阻塞态(Blocked) 到 终止态(Terminated):
原因:进程可能在等待某个永远不会发生的事件,或者因为系统资源限制而被终止。
- 问题2:计算机领域充斥着文件的概念。如果没有存储文件的二级存储设备,计算机还有用吗?
- 问题2解决方案:
如果没有存储文件的二级存储设备,计算机的用途和效率将受到极大的限制。以下是一些关键点来说明这一点:
数据持久性:
二级存储设备(如硬盘、固态硬盘、USB驱动器等)允许数据在断电后仍然被保存。没有这些设备,所有数据将在断电或重启后丢失,这使得长期存储和保留数据变得不可能。
程序执行:
计算机程序和操作系统本身需要存储在某种形式的持久存储中。没有二级存储设备,计算机将无法加载和执行任何程序,因为它们不能被永久存储。
数据交换:
二级存储设备使得数据和程序可以在不同的计算机系统之间传输。没有这些设备,数据交换将变得极其困难,限制了信息共享和协作。
性能和效率:
二级存储设备通常比主存储(如RAM)便宜且容量更大。没有它们,计算机将不得不依赖更昂贵、容量更小的主存储,这将大大增加成本并降低效率。
多任务处理:
现代计算机能够同时运行多个程序,这依赖于能够将程序和数据存储在二级存储中,并在需要时加载到主存储中。没有二级存储,这种多任务处理将无法实现。
备份和恢复:
二级存储设备允许用户备份重要数据,以防数据丢失或损坏。没有这些设备,数据恢复和保护将变得非常困难。
软件分发:
软件通常通过二级存储设备分发,如CD、DVD或在线下载。没有这些设备,软件分发将变得复杂和低效。
历史和发展:
计算机技术的发展很大程度上依赖于存储技术的进步。没有二级存储设备,计算机技术的发展可能会停滞不前。
尽管如此,即使没有二级存储设备,计算机仍然可以用于某些特定的、不需要持久存储的任务,例如实时处理和计算。然而,这样的用途将非常有限,远不如现代计算机那样多功能和强大。因此,二级存储设备对于计算机的实用性和功能性至关重要。
基于AI的学习
代码调试中的问题和解决过程
- 问题1:“中国古代民间有这样一个游戏:两个人从1开始轮流报数,每人每次可报一个数或两个连续的数,谁先报到30,谁为胜方。若要改成游戏者与计算机做这个游戏,则首先需要决定谁先报数,可以通过生成一个随机整数来决定计算机和游戏者谁先报数。计算机报数的原则为:若剩下数的个数除以3,余数为1,则报1个数,若剩下数的个数除以3,余数力2,则报2个数,否则随机报1个或2个数。游戏者通过键盘输入自己报的数,所报的数必须符合游戏的规则。如果计算机和游戏者都未报到30,则可以接着报数。先报到 30者即为胜者”对于这个题目,我不知道如何写出通过生成一个随机整数来决定计算机和游戏者谁先报数并往下轮流报数的代码
- 问题1解决方案:
其他(感悟、思考等,可选)
我写代码的能力比刚开始进步了不少,也逐渐找到了感觉,但对于思维量大的题目仍然不太会,这就需要更多的练习和思考
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第九周 | 500/4000 | 1/9 | 20/20 | |
第十周 | 0/4500 | 0/10 | 18/38 | |
第十一周 | 0/5000 | 0/11 | 22/60 | |
第十二周 | 0/5500 | 0/12 | 30/90 |