2024-2025-1 20241417 《计算机基础与程序设计》第十二周学习总结
作业信息
这个作业属于哪个课程 | <班级的链接>(如2024-2025-1-计算机基础与程序设计) |
---|---|
这个作业要求在哪里 | <作业要求的链接>2024-2025-1计算机基础与程序设计第十二周作业 |
这个作业的目标 | <复习前面所学,完成云班课作业> |
作业正文 | https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/homework/13275 |
教材学习内容总结
操作系统的基础概念
- 操作系统是计算机系统的核心软件,它介于硬件与应用程序之间,起着管理系统资源并提供用户交互界面的关键作用。其存在使得计算机的硬件资源(如 CPU、内存、输入输出设备等)能够被高效地协调利用,同时为各类应用程序的运行构建稳定的环境,是计算机系统正常运转不可或缺的部分。
操作系统的核心功能
- 进程管理:
- 进程是程序在计算机中的执行实例,包含代码、数据以及执行上下文等要素。操作系统负责进程的创建,依据需求启动新的进程;通过诸如先来先服务、最短作业优先、时间片轮转等调度算法,合理分配 CPU 时间片给不同进程,确保多进程能够并发执行,提高系统整体的运行效率;在进程完成任务或出现异常时,负责终止进程并进行相关资源的回收。此外,操作系统还需处理进程间的通信与同步问题,借助共享内存、消息队列、信号量等机制,使不同进程能够协同工作,共同完成复杂的系统任务。
- 内存管理:
- 主要负责计算机主存储器的管理工作。在程序启动时,操作系统为其分配适当的内存空间,以保障程序能够正常运行;当程序结束后,及时回收所占用的内存,以便重新分配给其他程序或系统使用。内存管理采用多种策略,如分区存储管理(包括固定分区、可变分区)、分页存储管理、分段存储管理等,这些策略旨在提高内存的利用率,同时保障内存数据的安全性与完整性,防止不同进程的内存空间相互干扰。
- 文件系统管理:
- 构建并维护计算机系统的文件组织结构,定义文件的逻辑结构(如顺序文件、索引文件等)与物理存储方式(在磁盘等存储介质上的存储布局)。为用户和应用程序提供全面的文件操作接口,涵盖文件的创建、删除、读取、写入、查找、属性设置等功能。同时,操作系统还负责文件的访问权限管理,通过设置不同的权限级别(如只读、可写、可执行等),确保文件数据的安全性与保密性,只有经过授权的用户或程序才能对特定文件进行相应操作。
- 设备管理:
- 负责对计算机系统中的各类外部设备(如键盘、鼠标、打印机、磁盘驱动器等)进行统一管理与控制。操作系统承担设备的分配任务,当多个程序同时请求使用某一设备时,依据一定的策略(如先来先服务、优先级等)合理安排设备的使用顺序与时间片;与设备驱动程序紧密协作,驱动程序作为操作系统与硬件设备之间的桥梁,使操作系统能够准确地向设备发送控制指令,并及时接收设备反馈的状态信息,从而保障设备的正常运行与高效使用。
操作系统的用户交互接口
- 命令行接口(CLI):
- 用户通过在命令提示符中输入特定的命令及参数与操作系统进行交互。这种接口方式具有高度的灵活性与精确性,能够执行各种复杂的系统操作,适用于专业用户或需要进行批量处理、自动化脚本执行等任务场景。不同操作系统(如 Linux、Windows 的命令行环境)各自拥有一套特定的命令集,用户需要熟悉这些命令的语法与功能才能充分发挥命令行接口的优势。
- 图形用户接口(GUI):
- 以可视化的图形界面呈现给用户,用户通过鼠标点击、键盘输入等直观操作即可完成常见的任务,如文件管理、程序启动、窗口切换等。图形用户接口极大地降低了计算机的使用门槛,提高了用户的操作便捷性与友好性,常见的操作系统如 Windows、macOS 等均提供了功能强大且美观的图形用户界面,使得普通用户能够轻松上手并高效地使用计算机系统。
操作系统的主要类型
- 批处理操作系统:
- 早期广泛应用的一种操作系统类型,用户将一批作业(包含多个任务或程序)一次性提交给操作系统,操作系统按照预定的顺序依次处理这些作业,期间无需用户干预。这种方式能够充分利用系统资源,提高作业处理的吞吐量,但缺乏交互性,用户无法在作业执行过程中进行实时控制,主要适用于数据处理中心等大规模数据处理场景,如银行的账务处理、科学研究中的数据计算等。
- 分时操作系统:
- 允许多个用户通过终端设备同时连接到计算机系统,操作系统将 CPU 时间划分为微小的时间片,轮流为各个用户服务,每个用户在自己的时间片内获得 CPU 的使用权,由于时间片切换速度极快,用户感觉自己独占计算机系统。分时操作系统注重交互性与响应速度,能够及时响应用户的操作请求,适用于多用户的交互式环境,如大学的计算机实验室、企业的办公网络等,用户可以在终端上进行文本编辑、程序开发、数据查询等操作。
- 实时操作系统:
- 主要应用于对时间响应要求极为严格的系统场景,如航空航天控制系统、工业自动化生产线监控系统、医疗设备控制系统等。实时操作系统必须确保在规定的时间内对外部事件做出准确的响应,否则可能导致严重的后果。它具有高度的可靠性与确定性,能够优先处理紧急任务,并提供精确的时间控制与任务调度机制,以保障系统的稳定运行与安全性。
- 网络操作系统:
- 侧重于网络环境下计算机资源的管理与共享,支持多台计算机之间的网络通信、文件共享、打印机共享等功能。网络操作系统提供了丰富的网络协议支持,如 TCP/IP 协议族,使得不同计算机能够在网络上进行有效的数据传输与资源共享。它还具备网络安全管理功能,如用户认证、访问控制等,保障网络环境的安全性与稳定性,常见的网络操作系统有 Windows Server、Linux 服务器版等,广泛应用于企业内部网络、校园网络等局域网环境。
- 分布式操作系统:
- 管理分布在不同地理位置的多台计算机节点,将系统任务分解并分配到各个节点上协同完成,对用户呈现出一个统一的、透明的计算环境,仿佛用户在使用一台超级计算机。分布式操作系统需要解决分布式计算中的诸多难题,如数据一致性、分布式事务处理、节点间的通信与协调等,它具有高可靠性、高可扩展性与高性能等优点,适用于大规模数据处理、云计算平台、分布式数据库等复杂应用场景,如互联网搜索引擎的数据处理、大型电商平台的订单处理等。
操作系统的发展历程与未来趋势
- 操作系统自诞生以来经历了漫长的发展过程,从早期简单的单任务、批处理操作系统逐步发展为如今功能强大、多任务、多用户、支持多种硬件设备与复杂网络环境的现代化操作系统。在这个过程中,硬件技术的不断进步(如 CPU 性能提升、内存容量增大、存储设备的革新等)推动了操作系统功能的不断扩展与优化,同时用户需求的多样化(如对图形界面、多媒体支持、网络功能、移动计算等的需求)也促使操作系统不断创新与变革。
- 展望未来,操作系统将朝着更加智能化、安全化、虚拟化、融合化的方向发展。智能化方面,操作系统将具备更强的自适应能力,能够根据用户的使用习惯、系统资源状况自动调整系统配置与性能优化策略;安全化将成为重中之重,面对日益复杂的网络安全威胁,操作系统将采用更加先进的加密技术、身份认证技术、入侵检测与防范技术等,保障系统与用户数据的安全;虚拟化技术将进一步深化,实现更高效的资源利用与灵活的系统部署,支持更多类型的虚拟化场景,如容器化应用;融合化趋势将愈发明显,操作系统将更好地融合云计算、大数据、人工智能、物联网等新兴技术,为用户提供更加一体化、便捷化的计算服务,例如在智能家居、智能交通等领域发挥核心作用,构建万物互联的智能生态系统。
教材学习中的问题和解决过程(先问 AI)
- 问题 1:操作系统启动缓慢如何处理?
- 问题 1 解决方案:检查开机启动项,禁用不必要的自启动程序和服务,减少系统启动时的资源占用。可以通过系统配置实用程序(如 Windows 中的 msconfig)或第三方启动项管理工具来进行操作。对硬盘进行碎片整理,优化文件系统的存储布局,加快数据的读取速度,特别是对于机械硬盘,碎片整理效果较为明显。若为固态硬盘,可检查是否开启了 Trim 功能,以保证固态硬盘的性能。更新设备驱动程序,确保硬件设备能与操作系统良好适配,避免因驱动问题导致的启动缓慢或兼容性故障。可以通过设备管理器或硬件厂商官方网站下载最新的驱动程序。检查系统日志,查看是否存在错误或异常信息,如磁盘错误、内存不足等问题,并针对性地进行修复或优化。例如,若发现内存不足,可考虑增加物理内存或优化内存使用设置。
- 问题 2:计算机频繁死机如何解决?
- 问题 2 解决方案:检查硬件温度,使用硬件监测软件查看 CPU、显卡等关键硬件的温度情况。若温度过高,可能是散热不良导致,清理电脑内部灰尘,检查散热器风扇是否正常运转,必要时更换更好的散热硅脂或散热器。检测内存是否存在故障,可使用内存检测工具(如 MemTest)进行检测,若发现内存错误,尝试更换内存条。排查软件冲突,近期安装的新软件可能与系统或其他软件存在冲突,尝试卸载近期安装的可疑软件,观察死机情况是否改善。更新操作系统和驱动程序到最新版本,以修复可能存在的系统漏洞和兼容性问题。检查硬盘健康状况,使用硬盘检测工具(如 HD Tune)查看硬盘是否存在坏道等问题,若硬盘有故障,及时备份数据并更换硬盘。
- 问题 3:网络安全遭受攻击如何应对?
- 问题 3 解决方案:立即断开网络连接,防止攻击进一步扩散和数据泄露。启用防火墙并设置严格的访问规则,阻止可疑的网络流量进入系统。检查防火墙日志,分析攻击源 IP 地址和攻击类型。更新病毒库和恶意软件防护工具,对系统进行全面的病毒查杀和恶意软件扫描,清除可能已经入侵的恶意程序。若遭受 DDoS 攻击,联系网络服务提供商,请求他们协助进行流量清洗和缓解攻击。同时,检查系统漏洞,及时安装操作系统和应用程序的安全补丁,加强系统的安全性。对重要数据进行备份,确保数据的安全性和完整性,以便在遭受攻击后能够快速恢复数据和系统。
基于AI的学习
代码调试中的问题和解决过程
- 问题1:定义字符数组时忘记给'\0'分配位置,导致编译错误
- 问题1解决方案:回顾并检查课本中字符数组定义
- 问题2:使用有关字符串的函数时,忘记添加string的头文件
- 问题2解决方案:提前加好
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 0/2 | 18/38 | |
第三周 | 500/1000 | 1/3 | 22/60 | |
第四周 | 300/1300 | 1/4 | 30/90 | |
第五周 | 300/1600 | 1/5 | 30/120 | |
第六周 | 300/1900 | 1/6 | 30/150 | |
第七周 | 300/2200 | 1/7 | 30/180 | |
第八周 | 300/2500 | 1/8 | 30/210 | |
第九周 | 300/2800 | 1/9 | 30/240 | |
第十周 | 300/3100 | 1/10 | 30/270 | |
第十一周 | 300/3400 | 1/11 | 30/300 | |
第十二周 | 300/3700 | 1/12 | 30/330 |