第九周作业
学期(如2024-2025-1) 学号(20241418) 《计算机基础与程序设计》第九周学习总结
教材学习内容总结
内存与进程管理:内存管理的基本概念
内存空间划分:
操作系统将内存划分为不同的区域。在物理内存层面,有内核空间和用户空间。内核空间用于存放操作系统内核代码和数据,它可以直接访问硬件设备等关键资源,是受保护的区域。用户空间则是供应用程序使用的内存区域。
从逻辑内存角度,还可以分为代码段、数据段、堆和栈。代码段存放程序的可执行代码,它是只读的,以防止程序在运行过程中意外修改自身代码。数据段用于存放全局变量和静态变量,这些变量在程序的整个生命周期内都存在。堆是用于动态分配内存的区域,程序可以在运行时通过诸如 C 语言中的malloc函数或 Java 中的new关键字来在堆上申请内存空间,并且在不需要时释放这些空间。栈主要用于函数调用,它存储函数的局部变量、函数参数以及返回地址等信息。
内存地址:
内存中的每个存储单元都有一个唯一的地址,就像家庭住址一样。在物理内存中,这些地址是硬件层面的真实地址。而在操作系统和程序使用过程中,还会涉及到虚拟地址。虚拟地址是程序所看到的地址,通过内存管理单元(MMU)进行虚拟地址到物理地址的转换。这种转换机制使得每个程序都可以有自己独立的地址空间,好像它独占了整个内存一样,提高了内存的安全性和利用率。
CPU调度: 调度的基本概念
调度的必要性:在多道程序系统中,多个进程同时存在于内存中,而 CPU 只有一个(在单处理器系统中)或多个(在多处理器系统中)。为了让每个进程都能得到执行的机会,合理地利用 CPU 资源,就需要 CPU 调度。例如,在一个同时运行着文字处理软件、音乐播放软件和浏览器的计算机系统中,CPU 需要在这些进程之间进行切换,以保证每个进程都能正常运行。
调度层次:
高级调度(作业调度):主要是从外存的后备队列中选择作业调入内存,为其创建进程等资源分配。例如,当用户提交了一系列的任务(如打印文档、运行数据分析程序等),作业调度会决定先将哪个任务调入内存开始执行。它的频率相对较低,因为作业调度主要关注的是外存中等待运行的任务和内存资源的分配。
中级调度(内存调度):主要是将暂时不能运行的进程从内存换出到外存的交换区,当这些进程再次具备运行条件时,又将它们从外存换入内存。这有助于解决内存紧张的问题。比如,当内存中的进程过多,导致系统性能下降时,中级调度会将一些暂时不活跃的进程换出,为其他活跃进程腾出空间。
低级调度(进程调度):是最频繁的调度,它负责从就绪队列中选择一个进程并将 CPU 分配给它。这是 CPU 调度的核心部分,直接决定了哪个进程能够使用 CPU 资源。例如,在每一个时间片结束后或者一个进程阻塞后,低级调度就会发挥作用,选择下一个合适的进程运行。
文件保护:文件保护的概念和目的
概念:文件保护是指防止文件被未经授权的访问、修改、删除等操作,确保文件的安全性、完整性和保密性。它是操作系统安全机制的重要组成部分。
教材学习中的问题和解决过程(先问 AI)
问题一:文件保护的作用?
解答:
维护数据完整性
防止意外修改:在多人协作的环境中,如软件开发团队共同处理代码文件、设计团队修改设计文档,文件保护机制(如访问控制列表)可以确保只有被授权的人员能够修改特定文件。这样能避免因误操作或未经授权的修改而破坏文件内容的完整性。例如,在一个软件项目中,初级程序员没有权限修改核心架构文件,只有资深架构师才有修改权限,这就防止了可能导致系统故障的意外修改。
抵御恶意篡改:通过加密技术和数字签名,文件保护能够有效抵御来自外部或内部的恶意篡改。数字签名就像是文件的 “电子身份证”,可以验证文件的来源和完整性。例如,当政府部门发布重要文件时,文件上的数字签名可以让接收者确认文件没有被篡改。如果文件内容在传输或存储过程中被修改,数字签名验证就会失败。
保障数据保密性
限制访问权限:通过用户权限级别和访问控制矩阵等方式,文件保护严格限制了谁能访问特定的文件。在企业中,人事档案、商业机密文件等敏感信息只对相关部门的特定人员开放。例如,公司的薪酬文件只有人力资源部门的特定管理人员能够访问,普通员工和其他部门的人员被禁止访问,这就保证了公司内部敏感数据的保密性。
加密敏感数据:对于高度机密的文件,如银行客户的账户信息、医疗患者的隐私病历,加密是一种重要的文件保护手段。加密后的文件内容在没有正确解密密钥的情况下呈现为乱码。例如,银行系统采用高级加密标准(AES)对客户账户余额、交易记录等文件进行加密,即使黑客窃取了存储文件的硬盘,没有解密密钥也无法获取文件中的敏感信息。
问题二:如何实现磁盘调度?
解答:
先来先服务(FCFS)调度算法
基本原理:按照磁盘 I/O 请求到达的先后顺序进行服务。例如,有一系列磁盘请求,请求的磁道号分别为 50、100、150、20,按照 FCFS 算法,磁头会先移动到 50 号磁道,然后到 100 号,接着 150 号,最后 20 号。
最短寻道时间优先(SSTF)调度算法
基本原理:每次选择离当前磁头位置寻道时间最短的请求进行服务。例如,磁头当前在 50 号磁道,有请求在 40、60、90 号磁道,那么会先选择 40 号磁道的请求进行处理,因为它离 50 号磁道的距离最短。
扫描(SCAN)调度算法(电梯算法)
基本原理:磁头从磁盘的一端开始,向另一端移动,在移动过程中处理经过的磁道上的请求。当到达磁盘的另一端时,磁头改变移动方向,继续处理请求。就像电梯在楼层间上下运行一样。例如,磁头从最内层磁道开始向外层移动,在移动过程中服务经过的磁道上的请求。