计算机软硬件体系结构

作者:泠沫
博客主页:泠沫的博客
专栏:Linux系统编程,文件认识与理解…
觉得博主写的不错的话,希望大家三连(✌关注,✌点赞,✌评论),多多支持一下!!
计算机软硬件体系结构_第1张图片

目录

  • 操作系统
    • 操作系统的本质
    • 操作系统的作用
  • “管理”
    • 管理的本质
    • 管理的方法
  • 软硬件体系结构

操作系统

操作系统的本质

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。简单理解,操作系统包括:

  • 内核(进程管理,内存管理,文件管理,驱动管理)
  • 其他程序(例如函数库,shell程序等等)

操作系统的本质是一款对下管理好软硬件,对上提供安全的、稳定的、高效环境的软件

既然我们知道了操作系统是一款软件,那么它平时保存在哪呢?

操作系统不运行时:
操作系统通常存储在硬盘或其他持久性存储介质中,比如固态硬盘、光盘或USB驱动器等,而不是在内存中运行。当计算机启动时,BIOS(基本输入/输出系统)会从存储质中加载引导程序这个引导程序会进一步加载操作系统到内存中。

操作系统运行时:
操作系统必须在计算机启动时被加载到内存中才能运行。在计算机启动时,BIOS会将操作系统的引得程序从硬盘上读取加载到RAM中。然后,在操作系统的引导程序的帮助下,整个操作系统的代码和数据都会被加载到内存中。

操作系统的作用

操作系统是计算机系统中的核心软件,它充当着计算机和用户之间的接口,管理硬件和软件资源,为用户提供基本的计算机服务和环境。具体来说,操作系统的主要作用包括:

  1. 管理计算机资源:操作系统控制访问计算机中的各种资源,例如内存、CPU、I/O设备等,以确保它们被合理地分配和使用。

  2. 提供用户接口:操作系统通过提供图形界面、命令行接口等方式,向用户展示计算机系统的状态和提供各种操作功能,包括文件管理、进程管理、网络连接等。

  3. 调度和管理进程:操作系统管理计算机系统中的进程,负责进程的调度、创建、终止和通信等,以及进程间的同步和并发控制。

  4. 提供安全性和保护性:操作系统确保计算机系统的安全性和保护性,通过访问控制、身份认证等技术,向用户提供安全的计算机环境,并防止恶意软件和攻击者对系统造成破坏。

  5. 管理和维护系统资源:操作系统负责监测和维护计算机系统的各种资源,包括内存、磁盘空间和网络连接等,以确保系统的正常运行和高效性能。

“管理”

这里的管理,本质上指的就是“面向对象”。

管理的本质

在介绍管理之前,笔者先给大家举个例子:
在一所学校中,有校长和老师以及学生。对于整个学校来说,校长作为一个管理者,他的主要任务就是把学生管好,把学校管好。可是我们仔细想想会发现,我们平时与校长交流的次数都很少,那么校长是如何管理学生的呢?其实,作为一个校长,他无非就是管理我们的成绩与生活,所以他只要知道我们的身份信息和成绩就能对我们实施管理,由此可见校长并不需要每天都跟在学生后面进行管理,他只需要拿到我们的成绩和身份信息就能间接的对我们进行管理。由此可见,管理的本质就是对数据进行管理!

作为一个校长,他只要拿到了我们的一系列数据就能对我们进行管理。而在我们的计算机当中,操作系统也是一个管理者,它对于各种硬件和资源的管理也就转变成了对硬件和资源数据的管理。

管理的方法

通过校长管理学生的例子我们可以看出,对于事物本身的管理,其实就是对该事物的数据进行管理。但是,回到校长管理学生的案例,如果我们只是简单的将所有学生的数据统计出来,然后对数据进行管理,这虽然可以,但是效率为免太低。如果数据量很大,管理起来就会耗费大量资源且效率低下。于是,校长想到了一种办法,他认为每个学生的数据类型都基本一致,于是他将每一个学生用一个结构体来描述,学生的基本信息就是结构体里面的成员变量,所以,一个个学生就被抽象成了一个个结构体,对于学生的管理就转变成里对于这些结构体的管理。将学生抽象成结构体之后,校长又将这些结构体用队列存储,如此校长便只需要知道整个结构体队列的头节点就可以将整个队列管理起来。最终,在校长的组织下,对于全校学生的管理就被抽象成了对一个结构体队列进行管理。这样就大大节约了成本并且还提高了效率。

笔者将上述校长管理学生的方法用六个字概括:先描述,再组织!

回到计算机当中,操作系统对于各种软硬件及资源的管理采用的也正是这种方法。操作系统将所有的软硬件资源先描述抽象成一个一个的结构体,然后再用合适的数据结构将这些结构体进行组织。如此,操作系统才能高效的管理好软硬件及各种资源。例如:操作系统管理一个一个的进程就是给每一个进程创建一个进程PCB,本质上就是一个结构体struct task_struct{},对于进程的管理就转变成了对该结构体的管理。

软硬件体系结构

在了解操作系统是如何管理之后,其实在操作系统和软硬件之间还有一层叫做驱动

驱动是一种软件程序,用于帮助操作系统管理计算机中的软硬件。驱动程序将硬件设备与操作系统连通起来。它提供了一个接口,使操作系统能够与硬件设备进行通信和控制。当操作系统需要与硬件交互时,在核心中使用API调用驱动,而驱动程序则负责向硬件发送相应指令。同时,驱动程序也会接收从硬件发送到操作系统的信息,并把这些信息格式化和传递给操作系统。

总而言之,操作系统是通过各种驱动程序管理软硬件的。以上就是软硬件体系结构中操作系统往下的部分。

可是,作为任何一款操作系统,它都不相信任何人。它不愿意将自己的全部细节暴露在外。但是它又得为给上层提供良好的服务,因此操作系统给上层用户提供了各种系统调用接口,这就让操作系统在不暴露自身内部情况下,又能让上层用户使用该操作系统。

但真正来说,在用户层和系统调用接口层中,还存在着一层叫做用户操作接口,例如我们平时所学的各种语言、shell和部分指令,其实这些用户操作接口都是对系统调用接口做了进一步的封装。

最后,如下图就是整个计算机的软硬件体系结构图。
计算机软硬件体系结构_第2张图片

你可能感兴趣的:(Linux系统编程,linux,网络,服务器)