#2024-2025 学号 20241325 《计算机基础与程序设计》第九周学习总结
学期 2024-2025-1 学号 20241325 《计算机基础与程序设计》第九周学习总结
作业信息
这个作业属于哪个课程 | <班级的链接>(2024-2025-1-计算机基础与程序设计) |
---|---|
这个作业要求在哪里 | <作业要求的链接>(2024-2025-1计算机基础与程序设计第九周作业) |
这个作业的目标 | 操作系统责任 内存与进程管理 分时系统 CPU调度 文件、文件系统 文件保护 磁盘调度 |
作业正文 | https://www.cnblogs.com/wangxianglong999/p/18565966 |
教材学习内容总结
操作系统管理
操作系统承担着多方面重要的责任,以下是一些主要方面:
硬件管理
- 处理器管理:
操作系统负责对中央处理器(CPU)进行合理分配和调度。它要决定哪个进程或线程能够获取CPU资源以及获取多长时间,通过有效的调度算法(比如先来先服务、短作业优先、时间片轮转等),确保多个程序能有条不紊地在CPU上运行,避免某个程序长时间独占CPU而导致其他程序无法执行,充分发挥CPU的运算能力。例如,在一台电脑同时运行着文字处理软件、音乐播放软件和浏览器等多个程序时,操作系统会快速切换它们对CPU的使用,让用户感觉这些程序是在同时运行。 - 内存管理:
操作系统要对计算机的内存资源进行管理。一方面,它要为各个运行的程序分配内存空间,确保程序有地方存放数据和指令;另一方面,要进行内存的回收与整理工作。比如,当一个程序关闭后,操作系统会及时回收该程序占用的内存,然后将这些回收来的内存重新分配给其他需要内存的程序。并且,为了更高效地利用内存,操作系统还会采用虚拟内存技术,把硬盘的一部分空间当作内存来使用,当内存不够用时,将暂时不用的数据存放到虚拟内存中,需要时再调回内存,就像给内存做了一个扩展仓库一样。 - 设备管理:
计算机连接着各种各样的外部设备,如键盘、鼠标、显示器、打印机、硬盘、U盘等。操作系统要负责识别这些设备,为它们安装相应的驱动程序(或者调用已有的合适驱动),使得这些设备能够正常工作。同时,操作系统还要协调设备之间的数据传输,比如当用户从硬盘拷贝文件到U盘时,操作系统就会管理数据从硬盘读出,然后通过总线传输到U盘的整个过程,保证数据传输的准确性和高效性。
软件资源管理
- 文件管理:
操作系统提供了文件系统来对计算机中的文件和文件夹进行组织、存储和管理。它定义了文件的命名规则、存储结构(像树形目录结构等),用户可以通过操作系统提供的界面方便地创建、删除、移动、复制文件或文件夹。例如,在Windows操作系统中,用户可以在资源管理器里轻松地对电脑上的文档、图片、视频等各种文件进行分类管理,还能通过搜索功能快速找到自己想要的文件。 - 进程管理:
进程是程序在计算机中的一次执行过程。操作系统要负责进程的创建、调度、终止等操作。当用户双击打开一个程序时,操作系统就会为这个程序创建相应的进程,然后根据系统的负载等情况合理安排进程的执行顺序和时间片分配,当进程完成任务或者出现异常情况时,操作系统会将其终止并释放相关资源。而且,操作系统还要管理进程之间的通信和同步,比如多个进程可能需要共享一些数据,操作系统就要协调好它们对共享数据的访问,避免出现数据不一致等问题。
用户接口提供
- 命令行界面(CLI):
早期的操作系统以及现在一些专业场景下,会提供命令行界面。用户通过输入特定的命令及参数来让操作系统执行相应的操作,比如在Linux系统中,用户可以输入“ls”命令查看当前目录下的文件列表,“mkdir”命令创建新的文件夹等。这种方式虽然需要用户记住较多的命令,但对于批量操作、自动化脚本编写等有很大优势,效率很高。 - 图形用户界面(GUI):
现在常见的操作系统如Windows、macOS等都有图形用户界面。它通过窗口、图标、菜单、按钮等可视化元素呈现给用户,用户可以使用鼠标点击、拖拽等直观的操作方式与计算机进行交互,大大降低了用户使用计算机的门槛,普通用户不需要记忆复杂的命令就能方便地完成诸如打开软件、浏览网页、编辑文档等各类操作。
系统安全保障
- 用户认证与权限管理:
操作系统通过设置用户账号和密码等方式对登录系统的用户进行认证,确保只有合法的用户能够进入系统。而且,对于不同的用户或者用户组,操作系统会分配不同的权限,比如普通用户可能只能读取和修改自己创建的文件,而管理员用户则可以对系统中的很多关键文件和设置进行更改,以此来保护系统数据的安全和完整性,防止未经授权的访问和恶意篡改。 - 病毒防护与安全更新:
操作系统会配合杀毒软件等安全工具来抵御病毒、恶意软件等的入侵。同时,操作系统厂商会定期发布安全更新补丁,修复系统中存在的安全漏洞,比如Windows操作系统会提示用户安装更新,这些更新往往是针对新发现的可能被黑客利用的漏洞进行修补,让操作系统能时刻保持较好的安全防御能力。
提供运行环境与资源协调
- 为应用程序提供运行环境:
操作系统为各类应用程序提供了统一的运行平台,应用程序开发时会基于操作系统提供的编程接口(API)来编写代码,这样它们就能利用操作系统管理的硬件和软件资源进行运行。例如,游戏软件依靠操作系统对显卡、内存等资源的调配来呈现出精美的画面和流畅的游戏体验,办公软件也是借助操作系统提供的文件读写、图形显示等功能来实现文档编辑等操作。 - 资源协调与优化:
在多用户、多任务的环境下,操作系统要协调各个用户、各个任务对系统资源的使用需求,平衡不同程序之间的资源分配,当系统资源紧张时,合理调整分配策略,优先保障关键任务的运行,同时尽量减少对其他任务的影响,让整个计算机系统能高效、稳定地运行。
总之,操作系统在计算机系统中起着核心的、全方位的协调和管理作用,是保障计算机正常运行以及用户方便使用计算机的关键所在。
内存与进程管理是操作系统中极为重要的两个部分,它们相互配合、相互影响,共同保障计算机系统高效稳定地运行,以下为你详细介绍:
内存管理
内存管理的目标
- 高效利用内存资源:计算机的内存容量是有限的,内存管理要确保各个运行的程序都能获得合适的内存空间来存放数据和指令,避免内存空间的浪费,提高内存的使用率。例如,在同时运行多个办公软件和浏览器标签页时,内存管理机制要合理分配内存,让这些程序都能正常工作,而不会出现因内存不足某个程序无法启动的情况。
- 保障内存数据的安全与完整性:不同的程序在内存中有各自的数据存储区域,内存管理要防止一个程序错误地访问或修改其他程序在内存中的数据,维持数据的有序和准确。
内存管理的主要功能
- 内存分配:
操作系统需要根据程序的需求为其分配内存空间。常见的分配方式有静态分配和动态分配。静态分配是在程序编译时就确定好其所需内存大小,并一次性分配到位,像一些简单的嵌入式系统中的小程序可能采用这种方式;而动态分配则是程序在运行过程中根据实际需要向操作系统申请内存,例如,当一个程序在运行时需要临时存储大量用户输入的数据,它就可以动态地向操作系统请求更多内存空间。操作系统会从空闲内存区域中划分出合适的部分分配给该程序,空闲内存区域的管理通常采用诸如空闲链表、位图等数据结构来记录哪些内存块是可用的。 - 内存保护:
通过硬件(如内存管理单元,MMU)和软件机制相结合来实现。每个程序在内存中有自己的逻辑地址空间,MMU会将逻辑地址转换为物理地址,并且在这个转换过程中进行权限检查。比如,一个程序只被允许读取和写入自己的内存区域,如果它试图访问其他程序的内存区域,硬件就会拦截这个非法访问,并通知操作系统采取相应措施,可能是终止这个违规的程序,以此来保护各个程序内存数据的安全。 - 内存回收与整理:
当一个程序运行结束后,操作系统要及时回收该程序占用的内存空间,使其重新变为可用的空闲内存,以便分配给其他需要的程序。另外,在长期运行、频繁分配和回收内存的过程中,内存可能会出现碎片化的情况,即空闲内存被分割成许多小块,难以满足一些程序较大内存块的需求。这时,操作系统会采用内存整理技术,比如移动已分配内存中的数据,将空闲内存合并成较大的连续块,提升内存整体的可用性。 - 虚拟内存管理:
虚拟内存是操作系统利用硬盘的一部分空间来扩展内存的一种技术。当内存不够用的时候,操作系统会将暂时不使用的内存数据存放到硬盘上的交换空间(在Windows中常称为页面文件,在Linux中一般叫交换分区)中,等需要这些数据时再从交换空间调回内存。例如,在同时打开多个大型软件如视频编辑软件、游戏软件等,物理内存快要耗尽时,虚拟内存就开始发挥作用,把一些当前不活跃的软件占用的内存页面置换到硬盘上,从而让系统能够继续运行更多的程序,不过由于硬盘读写速度比内存慢很多,过度依赖虚拟内存会导致系统运行速度变慢。
进程管理
进程的概念与特点
- 进程定义:进程是程序在计算机中的一次执行过程,它是操作系统进行资源分配和调度的基本单位。一个程序可以对应多个进程,比如同时打开多个浏览器窗口,每个窗口就是一个独立的进程,它们虽然都是基于浏览器程序,但各自有独立的运行状态、数据等。
- 进程的组成:通常包含程序代码、程序计数器(记录当前执行指令的位置)、寄存器内容(用于临时存储数据等)、堆(用于动态分配内存存放数据)、栈(存储局部变量、函数调用等信息)以及进程控制块(PCB,记录进程的各种属性,如进程标识符、状态、优先级等)。
进程管理的主要功能
- 进程创建:
当用户通过双击图标、在命令行输入命令等方式启动一个程序时,操作系统就会为该程序创建相应的进程。这个过程中,操作系统会为进程分配必要的资源,包括内存空间、打开文件资源等,初始化进程的相关数据结构(如PCB),并将进程置于合适的初始状态(一般是就绪状态,等待获取CPU资源来运行)。例如,启动一个文本编辑软件时,操作系统会为它创建进程,分配一定的内存用于存放软件代码和用户编辑的文档内容等。 - 进程调度:
由于计算机系统中往往有多个进程同时存在且都希望获取CPU资源来运行,操作系统就需要通过进程调度机制来决定哪个进程可以使用CPU以及使用多长时间。常见的调度算法有先来先服务(按照进程请求CPU的先后顺序进行分配)、短作业优先(优先分配CPU给执行时间短的进程,可提高系统整体的吞吐量)、时间片轮转(给每个进程分配一个固定的时间片,轮流在CPU上运行,保证公平性和响应速度,常用于多用户分时系统)、优先级调度(根据进程的优先级高低来分配CPU,优先级高的进程优先获得CPU,常用于实时系统等)等。例如,在一个分时操作系统中,多个用户同时登录并运行不同的程序,时间片轮转调度算法就会让每个用户的进程轮流在CPU上运行一小段时间,使得每个用户都感觉自己独占了计算机系统。 - 进程同步与通信:
多个进程在运行过程中可能需要相互协作,这时就涉及到进程同步的问题,即协调它们的执行顺序和对共享资源的访问顺序。比如,有两个进程,一个负责生产数据,另一个负责消费数据,那么消费进程必须在生产进程生产出数据后才能去获取并处理,否则就会出现错误。操作系统通过信号量、互斥锁、条件变量等机制来实现进程同步。另外,进程之间有时也需要进行信息的传递,即进程通信,常见的通信方式有管道(用于有亲缘关系的进程之间单向通信,比如父子进程间,一个进程向管道写入数据,另一个从管道读取数据)、消息队列(进程可以向消息队列发送消息,其他感兴趣的进程可以从中获取消息,不受亲缘关系限制)、共享内存(多个进程共享同一块内存区域来交换数据,速度快,但需要做好同步和保护工作)等。 - 进程终止:
当一个进程完成了自己的任务,或者出现了无法继续运行的错误(如程序出现严重的逻辑错误、非法访问内存等),操作系统就会终止该进程。在终止时,操作系统会回收该进程占用的所有资源,包括释放内存、关闭打开的文件、撤销相关的系统资源等,确保系统资源能重新被有效利用,并且不会因为这个终止的进程留下一些混乱的数据或状态影响其他进程的正常运行。
总之,内存管理为进程提供了运行的空间基础,而进程管理则是围绕着如何合理地利用CPU等资源让各个进程有序高效地运行,它们共同构成了操作系统中保障系统稳定、高效运行的关键环节。