2024-2025-1 20241411王思棋《计算机基础与程序设计》第九周学习总结
作业信息
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/ |
---|---|
这个作业要求在哪里 | https://www.cnblogs.com/rocedu/p/9577842.html#WEEK09 |
这个作业的目标 | 操作系统责任、内存与进程管理、分时系统、CPU调度文件、文件系统、文件保护、磁盘调度 |
作业正文 | https://www.cnblogs.com/wangsiqi828828/p/18565895 |
教材学习内容总结
操作系统责任:进程管理1. 进程创建与终止:操作系统创建进程时会分配资源(如内存、CPU时间片)并初始化进程控制块。程序结束后,操作系统回收资源。
2. 进程调度:操作系统用调度算法(如先来先服务、短作业优先、时间片轮转)在多个进程间分配CPU时间。
3. 进程同步与互斥:对于共享资源,操作系统用互斥锁实现互斥访问,用信号量等机制实现进程同步。
内存管理1. 内存分配:操作系统用多种方式(连续分配、非连续分配)为进程分配内存空间。
2. 内存保护:操作系统通过设置寄存器等机制,防止进程非法访问其他进程的内存。
3. 内存回收:进程结束或释放内存时,操作系统回收并重新利用内存。
文件系统管理:1. 文件存储与组织:操作系统用多种方式(顺序、索引、索引顺序)在存储设备上存储文件。
2. 文件目录管理:操作系统维护文件目录(单级、多级)来记录文件信息。
3. 文件访问控制:操作系统通过权限设置(如Linux的权限位)控制文件访问。
设备管理:1. 设备驱动程序管理:操作系统管理设备驱动程序,让其作为和硬件的接口。
2. 设备分配与回收:操作系统合理分配和回收设备(如打印机)。
3. 设备缓冲管理:操作系统用缓冲技术(如磁盘I/O缓冲区)提高设备使用效率。
CPU调度:CPU 调度是指操作系统从就绪队列中选择一个进程并为其分配 CPU 时间的过程。就绪队列是由已经准备好运行,只是在等待 CPU 资源的进程组成的队列。
调度目标
提高 CPU 利用率:尽可能让 CPU 处于工作状态,避免闲置。例如,在一个多任务环境中,通过合理调度使 CPU 不断地处理不同进程的任务,而不是长时间空闲。
提高系统吞吐量:系统在单位时间内完成的进程数量。例如,对于批量处理的任务,好的调度策略可以让更多的任务在短时间内完成。
减少等待时间:包括进程等待 CPU 的时间和等待其他资源的时间。比如,一个交互式的文本编辑进程,如果等待 CPU 时间过长,用户会感觉系统响应迟钝。
减少响应时间:从用户提交请求到系统首次响应的时间。在实时系统中,如工业控制、航空航天等领域,快速的响应时间至关重要。
磁盘调度:磁盘调度是指当有多个磁盘 I/O 请求时,操作系统决定这些请求的服务顺序,以优化磁盘的性能。磁盘 I/O 操作的性能很大程度上取决于磁头的移动时间(寻道时间),因为这通常是磁盘操作中最耗时的部分。
教材学习中的问题和解决过程(先问 AI)
- 问题1:磁盘调度算法的优缺点是什么?
- 问题1解决方案:1. 先来先服务(FCFS)算法,优点:简单易实现、公平对待所有请求。 缺点:寻道性能差、平均等待时间长。
- 最短寻道时间优先(SSTF)算法,优点:寻道性能好。缺点:可能导致部分请求饥饿、不公平。
- 扫描算法(SCAN),优点:寻道性能较好、避免饥饿。缺点:可能有偏向性、等待时间不稳定。
- 循环扫描算法(C - SCAN),优点**:等待时间更稳定、公平性较好。缺点:可能增加寻道时间、资源利用率有限。
基于AI的学习
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
- 错题1及原因,理解情况
- 错题2及原因,理解情况
- ...
其他(感悟、思考等,可选)
xxx
xxx
学习进度条
|
| 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长
|
|
-------- | :----------------😐:----------------😐:---------------: |:-----😐
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 200/200 | 2/2 | 20/20 | |
| 第二周 | 300/500 | 2/4 | 18/38 | |
| 第三周 | 500/1000 | 3/7 | 22/60 | |
| 第四周 | 300/1300 | 2/9 | 30/90 | |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
参考:软件工程软件的估计为什么这么难,[软件工程 估计方法](http://www.cnblogs.com/xinz/archive/2011/04/06/2007294
.html)
-
计划学习时间
:XX
小时 -
实际学习时间
:XX
小时 -
改进情况:
(有空多看看[现代软件工程 课件
软件工程师能力自我评价表](
http://www.cnblogs.com/xinz/p/3852177
.html))
参考资料
- 《计算机科学概论(第七版)》
- ...