操作系统(Operator System) 【详解】

发布时间:2024年01月22日

概念

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。简单来说,操作系统就是一款进行软硬件资源管理的软件。
操作系统包括:
1.内核(进程管理,内存管理,文件管理,驱动管理)
2.其他程序(例如函数库,shell程序等等)

设计操作系统的目的

  1. 与硬件进行交互,管理所有的软硬件资源。
  2. 为用户程序(应用程序)提供一个良好的执行环境。

操作系统如何管理与被管理

对于计算机底层的硬件,肯定有一个软件来对这些硬件进行管理;eg:内存什么时候读取数据?什么时候刷新缓存区…这些都由软件来管理,而这个软件就是操作系统。
在这里插入图片描述
但是操作系统肯定不能直接和底层硬件交互,eg:如果操作系统自己来完成键盘的读取操作,你的键盘读取方式改变了,操作系统那边就需要重新编译,这对操作系统的维护成本太高了。
所以我们在之间加了一层驱动程序,驱动程序可以单独去控制底层硬件。eg:键盘有键盘驱动,网卡有网卡驱动…。驱动简单来讲就是去访问这个硬件,去访问硬件的读,写,状态…。
在这里插入图片描述

从图中我们也可以看出操作系统主要进行四项管理:

  1. 内存管理:内存分配,内存共享,内存保护…。
  2. 驱动管理:对计算机设备驱动程序的分类,更新,删除等操作。
  3. 文件管理:文件存储空间的管理,目录管理,文件操作管理以及文件保护…。
  4. 进程管理:对进程的调度。

而操作系统再往上,就是我们使用命令行或者图形化界面进行各种操作,这一层被称为用户层。
在这里插入图片描述
但操作系统为了保护自己,对上只暴露了一些接口,而不会让用户直接访问操作系统,这一系列接口被称为系统调用接口。
在这里插入图片描述
但这些系统调用接口对我们普通用户来说使用成本又太高了,因为要使用系统调用前提条件是你得对系统有一定了解。所以在系统调用接口之上又构建出了一批库,例如libc和libc++。实际上在语言级别上使用的各种库,就是封装了系统调用接口的,我们就是通过调用这些库当中的各种函数(例如printf和scanf)进行各种程序的编写。
在这里插入图片描述

管理:先描述,后组织

eg:学校管理学生,校长不了解学生,但是可以进行管理,根据的是数据:基本信息,健康信息,成绩信息等…。
先描述:
在这里插入图片描述
后组织:
在这里插入图片描述

总结:
计算机管理硬件:

  1. 描述起来,用struct结构体。
  2. 组织起来,用链表或者其他高效的数据结构。
文章来源:https://blog.csdn.net/weixin_74461263/article/details/135737158
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。