学期(如2024-2025-1) 学号20241428 《计算机基础与程序设计》第9周学习总结
作业信息
这个作业属于哪个课程 | <班级的链接>(如2024-2025-1-计算机基础与程序设计) |
---|---|
这个作业的目标 | 操作系统责任、内存与进程管理、分时系统、CPU调度、文件、文件系统、文件保护、磁盘调度 |
作业正文 | https://i.cnblogs.com/posts/edit |
教材学习内容总结
定义:分时操作系统是一种联机的多用户交互式操作系统,它通过时间片轮转的方式使一台计算机为多个终端服务,对每个用户能保证足够快的响应时间,并提供交互会话能力
。
原理:
时间片轮转调度:分时操作系统采用时间片轮转调度算法来管理CPU资源,每个任务或用户被分配一个固定长度的时间片,在该时间片内运行自己的程序
。
虚拟化技术:分时操作系统通过虚拟化技术将计算机的物理资源按需分配给不同的用户或任务,每个用户或任务都被分配到一份虚拟的计算机环境
。
中断处理机制:分时操作系统通过中断处理机制实现了对外部事件的响应和处理,使得系统能够实现实时响应用户的操作和外部事件
。
特点:
交互性(同时性):用户与系统进行人机对话,用户在终端上可以直接输入、调试和运行自己的程序
。
多路性(多用户同时性):多用户同时在各自终端上使用同一CPU和其他资源,充分发挥系统的效率
。
独立性:用户可彼此独立操作,互不干扰,互不混淆
。
及时性:用户在短时间内可得到系统的及时回答
。
应用场景:
分时操作系统适合办公自动化、教学及事务处理等要求人机会话的场合
。
典型的例子包括Unix和Linux操作系统,它们可以同时连接多个终端并且每隔一段时间重新扫描进程,重新分配进程的优先级,动态分配系统资源
。
与实时系统的区别:
分时系统中,CPU是不可抢占的,即便高优先级的任务就绪了,也不能马上中断低优先级任务而得到执行,必须要等到低优先级任务主动挂起(sleep)或者时间片结束才能得到执行
。
实时操作系统是可抢占性的内核,高优先级任务就绪而低优先级任务正在执行没有sleep的时候,高优先级任务会打断低优先级任务而立即得到执行
。
这些知识点概述了分时系统的核心概念、工作原理、特点以及应用场景,帮助理解分时系统如何工作以及它在现代计算中的作用。
一、磁盘结构与访问原理
磁盘结构
磁盘由多个盘片组成,每个盘片有上下两个盘面。盘面被划分为若干个同心圆,称为磁道。每个磁道又被划分为若干个扇区,扇区是磁盘存储数据的基本单位。
磁盘有一个可移动的读写磁头,用于在盘面上进行数据的读写操作。磁头通过移动到相应的磁道,并等待盘片旋转到指定扇区的位置来访问数据。
访问时间组成
寻道时间:是指磁头从当前位置移动到指定磁道所需要的时间,它是磁盘访问时间中最主要的部分,取决于磁头移动的速度和要移动的距离。
旋转延迟时间:是指盘片旋转将目标扇区转到磁头下方所需要的时间,它取决于盘片的转速,平均旋转延迟时间通常是盘片旋转半圈所需的时间。
传输时间:是指将数据从磁盘读出或写入磁盘所需要的时间,主要取决于磁盘的传输速率和要传输的数据量。
二、磁盘调度的目的
磁盘调度的主要目的是为了减少磁盘 I/O 请求的平均等待时间,提高磁盘 I/O 系统的效率,从而使整个计算机系统的性能得到提升。通过合理安排磁盘 I/O 请求的执行顺序,使得磁头移动的总距离最短或使等待时间总和最小。
三、常见磁盘调度算法
先来先服务(FCFS)算法
工作原理:按照磁盘 I/O 请求到达的先后顺序依次进行处理。
优点:公平简单,易于实现。
缺点:未考虑磁头当前位置和请求的分布情况,可能导致磁头频繁大幅度移动,寻道时间过长,磁盘 I/O 效率低下。
最短寻道时间优先(SSTF)算法
工作原理:每次选择距离磁头当前位置寻道距离最短的磁盘 I/O 请求进行处理。
优点:能有效减少磁头的移动距离,降低寻道时间,提高磁盘 I/O 效率。
缺点:可能导致某些请求长时间得不到处理,产生饥饿现象,即距离磁头较远的请求可能一直被忽略。
扫描(SCAN)算法
又称电梯算法。
工作原理:磁头从磁盘的一端开始,向另一端移动,在移动过程中处理经过的所有磁盘 I/O 请求,到达磁盘的另一端后,再反向移动继续处理请求,如此循环。
优点:避免了饥饿现象,同时也能在一定程度上减少磁头的移动距离。
缺点:可能存在磁头在一端长时间停留,而另一端的请求等待时间过长的情况。
循环扫描(C-SCAN)算法
工作原理:磁头从磁盘的一端开始,向另一端移动,在移动过程中处理经过的所有磁盘 I/O 请求,到达磁盘的另一端后,直接快速返回起始端,再重新开始移动处理请求,如此循环。
优点:进一步解决了 SCAN 算法中磁头在一端停留时间过长的问题,使等待时间分布更加均匀。
缺点:返回起始端的过程中不处理任何请求,可能造成一定的资源浪费。
四、磁盘调度算法的选择
选择磁盘调度算法时需要考虑多种因素,如磁盘的负载情况、请求的分布特点、对公平性和效率的要求等。在实际应用中,通常会根据具体的系统需求和运行环境来综合判断,选择最适合的磁盘调度算法,以实现磁盘 I/O 系统的最佳性能。
教材学习中的问题和解决过程(先问 AI)