论坛凯发k8国际首页 综合技术论坛

【完结9章】操作系统入门与实践-凯发k8国际

浏览 257 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2024-01-05  
【完结9章】操作系统入门与实践-参透技术本质
网盘地址:https://pan.baidu.com/s/1oy18wdscpi3hlydj1wpnbg 提取码: bivr
腾讯微云下载地址:https://share.weiyun.com/n5kj1ojt 密码:edn8s7


视频课程分享——操作系统入门与实践-参透技术本质,已完结9章,附源码。

从本质来看,操作系统其实就是一套软件。

它属于底层软件,可以说是一个大管家,专门负责把所有的硬件和上层软件(中间件、数据库、应用程序等)管理和连通起来,并进行资源调配,完成用户下达的任务。

操作系统包揽了很多底层的复杂工作,大大简化了应用软件的开发难度。
比如说,我开发一个视频播放器,就不需要写那些底层硬件代码。
操作系统还有一个重要作用,就是方便用户使用。
用户有了操作系统,就能更好地管理计算机,进行人机交互(下达命令,查询结果和状态)。
新手学习操作系统,最麻烦的是认名字和认类别。接下来,小枣君就从时间线的角度,对所有的操作系统关系进行一下梳理。

操作系统是一个控制计算机硬件和软件资源的系统软件,它为应用程序提供了一个运行环境。操作系统扮演着资源分配、进程管理、文件管理和驱动程序管理等关键角色。了解操作系统的概述,有助于我们深入理解其原理与实践。

操作系统的基本原理
1.进程管理:
进程是计算机运行程序的实体,是操作系统进行资源分配和调度的基本单位。进程管理的主要任务包括进程的创建调度、同步和通信等。了解进程管理的原理,可以帮助我们合理利用计算机资源,提高计算机系统的运行效率
2.内存管理
内存是计算机系统中用于存储数据和指令的关键资源。内存管理的主要任务是实现进程的内存分配和回收,保证进程间的隔离和安全性。了解内存管理的原理,可以帮助我们高效地利用内存资源,提高系统的性能
3.文件管理
文件是计算机系统中用于存储和组织数据的基本单位。文件管理的主要任务是实现对文件的创建、读取、写入和删除等操作,保证文件的完整性和安全性。了解文件管理的原理,可以帮助我们更好地组织和管理数据,提高工作效率。
4.设备管理
设备是计算机系统中与外部环境进行交互的接口。设备管理的主要任务是实现对设备的控制和调度,保证设备的可靠性和可用性。了解设备管理的原理,可以帮助我们更好地利用设备资源,提供良好的用户体验。


操作系统如何管理数据
前面我们知道 , 操作系统是通过管理软硬件资源的数据信息 , 再通过中间执行者--驱动 , 来管理到这些软硬件资源。我们不妨再具体一点 , 操作系统是如何具体来处理这些数据信息的呢?

我们这次站在校长(os)如何管理处理数据的角度 ,在上面的那个例子当中 , 校长是如何汇总处理这些海量的来自各个学院各个专业的学生的信息数据呢?

每个学生的数据是不是应该统一汇总在一起 , 而不是张三的数据信息混杂着李四的数据信息 , 各个学院专业的学生是不是应该统一的串在一起呢 , 而不是外国语学院的学生信息会和材料学院的学生信息混到一起。这就是我们下面要解决的[1][2]两个问题:

[1] 如何聚合同一个学生个体的数据  (如何聚合一个软硬件资源个体的数据信息)

首先第一步 , 校长必须要让获取的个体数据变得不再杂乱 , 即一次性看到的就是张三同学的全部信息 , 而不是张三同学的绩点成绩后面却配着李四同学的任职情况 , 再后面混着王五同学的竞赛信息 , 这并不方便校长对于数据的管理以及处理 , 这非常不方便校长进行数据的处理。

在c/c 中我们有结构体struct/类class 来帮助我们聚合一个个体对象的全部信息。

所以只要我们把张三同学的绩点成绩 ,担任职务 ,学号信息等等都统一在这一个struct中即可。

struct stu
{
    string name;
    long long id;
    int grade[10];
    //...
}; //用结构体来汇总单个学生个体的所有信息
同样的 , 类比上面聚合学生数据信息的例子 , 操作系统对于各个软硬件资源个体的数据管理 , 其实也都是首先用结构体来汇总每个软硬件个体的数据信息的。比如一个一个进程个体(软件资源) , 都是由一个一个结构体(名字叫struct task_struct)汇总起来的 , 里面存储的是进程个体的数据信息比如进程标号,上下文数据等等。

struct task_struct
{
    int pid;
    int code, exit_code;
    int status;
    mem* p;
};//这个是软件资源中 一个进程个体数的数据信息汇总
[2] 如何将多个学生的数据结构体 关联组织起来  (如何关联多个分散的数据信息个体)

现在每个学生个体的信息都聚合在一个一个的struct中了(你可以看作是结点) , 一所学校中学生有许多 , 大几千肯定有 , 而且都来自不同的学院专业 , 这亦不方便校长进行数据处理 , 因为我们在大几千个&&没有关联&&混杂各个学院专业的学生信息个体中 , 查找修改的效率必然是很低的 , 校长这时则会按照不同学院专业, 分别将这些独立结构体个体们都关联组织在一起。

在计算机学科中 , 我们有数据结构这个利器 , 校长将这些结构体个体关联组织起来 , 其实就是用数据结构来将一个一个结点组织起来 , 例如我们可以用链表 , 二叉树 , 红黑树 , 哈希表等数据结构将这些结构体关联组织起来。

所以我们只要把外国语学院的学生数据个体struct按照数据结构组织起来 , 将材料学院的学生数据个体struct按照数据结构也组织起来 , 那么就方便校长对这些数据的增删查改 , 也即方便校长对数据的管理与处理 。
 
global site tag (gtag.js) - google analytics
网站地图