20241313 刘鸣宇 《计算机基础与程序设计》第九周学习总结

2024-2025-1 20241313 刘鸣宇 《计算机基础与程序设计》第九周学习总结

作业信息

这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)
这个作业的目标 <写上具体方面>
作业正文 ... 本博客链接

教材学习内容总结

《计算机科学概论》
第十章——操作系统
操作系统的角色与定义
定义:
操作系统是一种管理计算机硬件与软件资源的程序,它为计算机用户和应用程序提供了一个方便且高效的交互界面,同时协调计算机各个部件有条不紊地工作。
作用:
操作系统扮演着资源管理者的角色,负责管理计算机系统中的多种资源,比如处理器(CPU)、内存、输入输出设备以及存储设备等,确保各个程序和用户任务都能合理地使用这些资源,提高整个系统的运行效率。
操作系统的功能模块
处理器管理(CPU 管理)
进程的概念:
进程是正在执行的程序实例,它包含了程序代码、相关的数据以及执行时所需的系统资源等信息。例如,当我们同时打开浏览器、文字处理软件,操作系统会为它们分别创建进程,每个进程独立运行,但又由操作系统来协调调度它们对 CPU 的使用。
进程调度:
操作系统需要决定哪个进程在何时使用 CPU,常用的调度算法有先来先服务、短作业优先、时间片轮转等。例如时间片轮转算法,会给每个进程分配一个固定的时间片(如每个进程轮流使用 CPU 10 毫秒),时间一到,无论该进程是否执行完,都暂停该进程,将 CPU 分配给下一个进程,以此保证各个进程都能得到及时响应。
多任务处理:
现代操作系统支持多任务,也就是能同时运行多个程序,让用户感觉这些程序是在 “同时” 执行,实际上是操作系统快速地在各个进程间切换 CPU 资源,实现并发执行的效果。
内存管理
内存分配:
操作系统负责为正在运行的程序分配内存空间,把物理内存划分为不同的区域分配给不同的进程使用。例如,当启动一个游戏程序,操作系统会根据游戏的需求从空闲内存中划分出合适的空间给该游戏进程存放数据和代码。
内存保护:
确保各个进程只能访问分配给自己的内存区域,防止一个进程误操作或者恶意访问其他进程的内存,保障系统的稳定性和数据安全。比如不同的应用程序不能随意篡改彼此在内存中的数据。
虚拟内存:
利用磁盘空间来扩展物理内存的容量,当物理内存不够用时,操作系统会将暂时不用的内存数据交换到磁盘上的虚拟内存区域(通常是磁盘上的分页文件),等需要时再将其换回物理内存,使得程序可以运行比实际物理内存更大的应用,不过频繁的内存数据交换会影响系统运行速度。
设备管理
设备驱动程序:
是操作系统与硬件设备之间的桥梁,不同的硬件设备(如打印机、鼠标、键盘等)都需要对应的驱动程序,以便操作系统能正确识别并控制它们工作。例如,安装打印机时需要安装相应的打印机驱动,这样操作系统才能指挥打印机进行文档打印操作。
输入输出(I/O)控制:
操作系统协调设备与内存、CPU 之间的数据传输,管理设备的输入输出操作顺序,提高设备使用效率。比如,当多个程序都需要从硬盘读取数据时,操作系统会合理安排读取顺序,避免设备冲突,优化数据传输过程。
操作系统的类型
批处理操作系统:
早期的一种操作系统类型,用户将一批作业(程序和相关数据)提交给计算机系统,操作系统按照一定的顺序依次处理这些作业,在作业处理过程中用户不需要进行交互,常用于大型数据处理等场景,优点是系统资源利用率高,但缺乏交互性。
分时操作系统:
允许多个用户通过终端同时连接到计算机系统,操作系统将 CPU 时间划分成很短的时间片,轮流分配给各个用户的任务,使得每个用户都感觉自己独占计算机系统,像现在的多用户服务器系统常采用分时操作系统的原理,具有良好的交互性。
实时操作系统:
主要用于对时间响应要求严格的应用场景,比如工业控制、航空航天等领域,要求操作系统能够在规定的时间内对外部事件做出准确响应,保障系统的实时性和可靠性,往往优先级调度机制更为关键,优先处理紧急的实时任务。
个人计算机操作系统:
像 Windows、macOS、Linux 等,专为个人计算机设计,注重用户体验、易用性以及对多种软件和硬件设备的兼容性,支持多任务处理、图形化界面等,方便用户日常办公、娱乐等使用。
操作系统的用户接口
命令行接口(CLI):
用户通过输入特定的命令文本与操作系统进行交互,命令有严格的语法格式,比如在 Linux 系统中,用户可以输入 “ls” 命令查看当前目录下的文件列表,适合专业技术人员,能够高效地完成复杂操作。
图形用户接口(GUI):
通过图形化的界面元素,如窗口、菜单、图标、按钮等,让用户使用鼠标等设备进行操作,直观易懂,方便普通用户使用,像 Windows 操作系统中,用户可以通过点击 “开始” 菜单,选择相应的程序来启动运行,极大地降低了使用门槛。
思维导图:
操作系统

├── 操作系统概念
│ ├── 定义
│ │ - 介于硬件和用户之间的接口
│ │ - 管理计算机系统中每个部件的活动
│ │ - 控制和管理整个计算机系统的硬件和软件资源
│ └── 特征
│ ├── 并发
│ │ - 多个程序同时执行的能力
│ │ - 并行性与并发性的区别
│ ├── 共享
│ │ - 资源可供多个进程共同使用
│ │ - 互斥共享方式
│ ├── 虚拟
│ │ - 通过虚拟化技术扩充硬件功能
│ └── 异步
│ - 进程执行走走停停,不可预知的速度

├── 操作系统功能
│ ├── 处理器管理
│ │ ├── 进程控制
│ │ ├── 进程同步
│ │ ├── 进程通信
│ │ └── 处理器调度
│ ├── 存储器管理
│ │ ├── 内存分配
│ │ ├── 地址映射
│ │ ├── 内存保护
│ │ └── 内存扩充
│ ├── 文件管理
│ │ ├── 文件存储空间管理
│ │ ├── 目录管理
│ │ ├── 文件读写管理
│ │ └── 文件保护
│ └── 设备管理
│ ├── 设备分配
│ ├── 设备传输控制
│ └── 设备独立性

├── 用户接口
│ ├── 命令行界面(CLI)
│ ├── 图形用户界面(GUI)
│ └── 系统调用[14]

└── 操作系统类型
├── 单用户单任务操作系统
├── 单用户多任务操作系统
├── 多用户操作系统
└── 分时操作系统[14]
第十一章——文件系统和目录
文件系统概述
定义与作用:文件系统是操作系统用于组织、存储和管理文件及目录的一套机制,它在磁盘等存储设备上构建起一种逻辑结构,使得用户和应用程序能够方便地对数据进行访问、存储和操作,相当于给存储设备里的数据搭建了一个有序的管理框架。
重要性:通过文件系统,能够高效地定位、读取、写入以及删除文件,保障数据的完整性和安全性,并且可以灵活地分配磁盘空间,让不同的用户、不同的应用程序都能合理利用存储资源。
文件相关知识
文件类型:
文本文件:主要由字符编码组成,内容可以直接通过文本编辑器查看和编辑,比如常见的.txt 文件,像我们写的文章、代码等以纯文本形式保存的就是文本文件。
二进制文件:以二进制格式存储数据,其内容不能直接被人读懂,需要特定的应用程序来解读,例如.exe 可执行文件、.jpg 图像文件、.mp3 音频文件等,这些文件内部的数据是按照特定的二进制结构来组织的,只有对应的软件(如图片查看器看.jpg 文件、音乐播放器听.mp3 文件)才能正确解析并展示其内容。
文件操作:
创建:用户或应用程序可以通过操作系统提供的功能创建新文件,比如在 Windows 操作系统中,在某个文件夹内右键点击空白处,选择 “新建”,再选择具体的文件类型(如新建文本文档)就能创建一个新文件。
打开:借助相应的软件工具来打开文件,以读取或修改其内容。不同类型的文件通常需要对应的应用程序来打开,如用 Word 软件打开.docx 文件,用 Adobe Reader 打开.pdf 文件等。
读取:从文件中获取数据,比如一个程序要读取配置文件中的参数设置,就会按照文件系统的规则从相应的文件里提取所需的文本或数值信息。
写入和修改:向文件中添加新内容或者更改原有内容,像我们在编辑文档时对文字的增删改操作就是在对文件进行写入和修改。
删除:将文件从存储设备中移除,不过一般操作系统会先把文件移到回收站(在有回收站机制的系统中),只有清空回收站或者直接彻底删除时,文件才真正从磁盘上被删除,释放其所占的磁盘空间。
文件属性:
文件名:用于唯一标识一个文件,方便用户和操作系统识别、查找,文件名通常由主文件名和扩展名两部分组成,扩展名往往代表了文件的类型,例如 “report.docx” 中 “report” 是主文件名,“docx” 是扩展名,表示这是一个 Word 文档文件。
文件大小:表明文件占用存储设备的空间量,通常以字节(Byte)、千字节(KB)、兆字节(MB)、吉字节(GB)等为单位,不同的文件根据其内容多少会有不同的大小,比如一个简单的几行字的文本文件可能只有几 KB,而一部高清电影文件可能达到几个 GB。
创建时间、修改时间和访问时间:这些时间戳记录了文件从创建开始的相关时间信息,创建时间就是文件最初生成的时间,修改时间是文件最后一次被更改内容的时间,访问时间则是最近一次打开查看文件的时间,有助于了解文件的使用历史和变化情况。
目录(文件夹)相关知识
目录结构:
层次结构(树形结构):
大多数现代文件系统采用树形的目录结构,以根目录为起点,像一棵树的树干,往下分支形成各级子目录(文件夹),每个子目录下又可以包含文件以及再下级的子目录,例如在 Windows 系统中,“C 盘” 就是一个根目录分区,下面有 “Program Files”“Users” 等文件夹作为一级子目录,“Users” 目录下又有各个用户的文件夹等,这种结构便于组织和分类管理大量的文件。
绝对路径和相对路径:
绝对路径是从根目录开始完整描述文件或目录位置的路径表示方式,比如在 Linux 系统中,“/home/user/documents/report.txt” 就是文件 “report.txt” 的绝对路径,表示它位于根目录下 “home” 目录的 “user” 子目录下的 “documents” 文件夹内;相对路径则是相对于当前所在目录来描述其他目录或文件的位置,比如当前目录是 “/home/user”,要访问 “documents” 文件夹内的文件,相对路径就是 “documents/report.txt”,相对路径在编写程序、进行命令行操作等场景下方便快捷地定位文件。
目录操作:
创建:
可以在已有的目录下创建新的子目录,用于对文件进一步分类存放,如在 Windows 资源管理器中,选中某个文件夹后右键点击,选择 “新建”->“文件夹” 就能创建新的目录。
重命名:改变目录的名称,便于更好地体现其包含文件的类别等信息,不过要注意重命名可能会影响到一些基于原目录名的程序操作或文件路径引用。
移动和复制:移动目录可以改变其在文件系统中的位置,复制则是生成一个和原目录及其内容完全相同的副本到其他位置,方便备份或者调整文件组织方式,比如在操作系统的文件管理器中,通过拖曳操作或者菜单中的 “剪切”“复制”“粘贴” 功能来实现目录的移动和复制。
删除:
移除不需要的目录,但要注意只有当目录为空(即目录下没有文件和子目录)或者在删除时选择同时删除其包含的所有内容时才能成功删除,否则需要先清空目录内的文件和子目录后再删除该目录。
磁盘管理与文件系统性能
磁盘分区:
把物理磁盘划分为多个逻辑分区,每个分区可以采用不同的文件系统,也方便对不同用途的数据(如系统文件、用户文件等)进行分别管理,例如可以把硬盘分为 C 盘用于安装操作系统,D 盘用于存放用户文档、软件安装文件等,不同分区的大小可以根据实际需求来设定。
磁盘调度算法:
当有多个文件读写请求时,操作系统采用磁盘调度算法来确定读写磁盘扇区的顺序,以减少磁盘臂移动等带来的时间损耗,提高磁盘读写效率,常见的算法有先来先服务、最短寻道时间优先、扫描算法(电梯算法)等。例如扫描算法就类似于电梯运行,磁头沿着磁盘表面单向移动,在移动过程中处理经过的读写请求,到达磁盘边缘后再反向移动继续处理,以此提高磁盘读写的整体效率。
文件系统的维护与优化:
包括磁盘碎片整理(在部分文件系统中),随着文件的不断写入、删除和修改,文件在磁盘上的存储可能会变得零散,碎片整理就是把文件的各个部分重新排列整合,使其连续存放,从而加快文件的读取速度;还有磁盘空间清理,定期删除无用的文件,释放磁盘空间,保障文件系统的高效运行。
思维导图:
文件系统和目录

├── 文件系统基础
│ ├── 文件定义
│ ├── 文件属性
│ │ ├── 基本属性(大小、类型、创建日期等)
│ │ └── 权限(读、写、执行)
│ └── 文件分类
│ ├── 普通文件
│ ├── 目录文件
│ └── 特殊文件

├── 文件存储
│ ├── 存储介质
│ │ ├── 硬盘
│ │ └── SSD
│ ├── 文件分配
│ │ ├── 连续分配
│ │ ├── 链式分配
│ │ └── 索引分配
│ └── 空闲空间管理
│ ├── 位图
│ └── 链表

├── 文件目录
│ ├── 目录结构
│ │ ├── 线性目录
│ │ ├── 树形目录
│ │ └── 通用目录
│ ├── 目录项
│ │ ├── 文件名
│ │ ├── 文件属性
│ │ └── 文件位置
│ └── 路径
│ ├── 绝对路径
│ └── 相对路径

├── 文件操作
│ ├── 创建文件
│ ├── 删除文件
│ ├── 读取文件
│ ├── 写入文件
│ ├── 重命名文件
│ └── 复制文件

├── 文件访问控制
│ ├── 用户身份验证
│ ├── 权限检查
│ └── 审计日志

├── 文件系统性能
│ ├── 缓存
│ ├── 预读和后写
│ └── 文件系统优化

└── 文件系统安全
├── 加密
├── 完整性检查
└── 防病毒
《C语言程序设计》第八章
主要讲解了数组(包含一维数组、二维数组等)介绍其定义、初始化、元素访问方式以及字符数组与字符串处理知识,同时涵盖算法基础相关内容,通过本章的学习,熟练掌握运用数组进行数据处理及理解基础算法思路。

教材学习中的问题和解决过程(先问 AI)

基于AI的学习

posted @ 2024-11-24 12:23  Camellia×  阅读(5)  评论(0编辑  收藏  举报