Linux入门-操作系统基础

1 操作系统构成

image-20200227084851394.png

1.1 硬件

CPU、内存、显卡、硬盘、输入设备、输出设备等

1.2 内核

操作系统的核心,负责管理系统的进程、内存、设备驱动程序、文件系统和网络系统,任何程序的执行及分配资源都需要通过内核调度,此外内核还有自己的调度算法来满足不同进程的需求

1.3 系统调用

内核的功能接口,应用程序和系统之间的接口,应用程序通过这些接口将请求传给内核,内核将处理结果返回给应用程序。系统调用是操作系统的最小功能单位。

1.4 shell

是一种应用程序,实现用户与操作系统的交互;也是一种语言,用于解释和执行用户命令。shell解释命令后,通过系统调用指挥内核,实现具体的操作。

1.5 库函数

对系统调用的一层封装,系统调用为内核提供给应用程序的接口,高效而精简;库函数将一些复杂但经常使用的、重复的处理封装成一个函数提供给应用程序调用。

1.6 应用

为满足用户不同的需求开发出的软件,从而使用各种硬件来帮忙处理。

2 内核功能

2.1 内存管理

内核负责创建和销毁进程, 并处理它们与外部世界的联系(输入和输出),不同进程间通讯(通过信号,管道,或者进程间通讯原语)对整个系统功能来说是基本的,也由内核处理。 另外, 调度器, 控制进程如何共享CPU,是进程管理的一部分。更通常地,内核的进程管理活动实现了多个进程在一个单个或者几个CPU 之上的抽象。

2.2 进程管理

计算机的内存是主要的资源, 处理它所用的策略对系统性能是至关重要的。内核为所有进程的每一个都在有限的可用资源上建立了一个虚拟地址空间。内核的不同部分与内存管理子系统通过一套函数调用交互,从简单的malloc/free对到更多更复杂的功能。

2.3 文件管理

Linux 在很大程度上基于文件系统的概念;几乎Linux中的任何东西都可看作一个文件。内核在非结构化的硬件之上建立了一个结构化的文件系统,结果是文件的抽象非常多地在整个系统中应用。另外,Linux 支持多个文件系统类型,就是说,物理介质上不同的数据组织方式。例如,磁盘可被格式化成标准Linux的ext3文件系统,普遍使用的FAT文件系统,或者其他几个文件系统。

2.4 驱动管理

几乎每个系统操作终都映射到一个物理设备上,除了处理器,内存和非常少的别的实体之外,全部中的任何设备控制操作都由特定于要寻址的设备相关的代码来进行。这些代码称为设备驱动。内核中必须嵌入系统中出现的每个外设的驱动,从硬盘驱动到键盘和磁带驱动器。

2.5 网络管理

网络必须由操作系统来管理,因为大部分网络操作不是特定于某一个进程: 进入系统的报文是异步事件。报文在某一个进程接手之前必须被收集,识别,分发,系统负责在程序和网络接口之间递送数据报文,它必须根据程序的网络活动来控制程序的执行。另外,所有的路由和地址解析问题都在内核中实现。

你可能感兴趣的:(Linux入门-操作系统基础)