Linux:简单了解操作系统
冯诺依曼体系结构
我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。
截至目前,我们所认识的计算机,都是有一个个的硬件组件组成
-
输入设备:包括键盘, 鼠标,扫描仪, 写板等 (采集获取数据)
-
输出单元:显示器,打印机等(数据输出)
-
存储器:内存(8G)
-
运算器:中央处理器(CPU)
-
控制器:中央处理器(CPU)
关于冯诺依曼,必须强调几点:
- 这里的存储器指的是内存
- 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)
- 外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。
- 一句话:所有的硬件都是围绕着内存工作,内存是中间的数据缓冲带
硬盘和内存的存储介质是不一样的,内存的存储介质是一种易失性介质(数据断电后丢失)
操作系统(Operator System)
概念
任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括:
- 系统内核:进程管理,内存管理,文件管理,驱动管理(管理计算机上的软硬件资源)
- 外部应用:函数库,shell程序等等(让计算机更加好用)
操作系统如何管理计算机上的软硬件资源:
设计OS的目的
- 与硬件交互,管理所有的软硬件资源
- 为用户程序(应用程序)提供一个良好的执行环境
定位
在整个计算机软硬件架构中,操作系统的定位是:高效管理的软件——管理计算机上的软硬件资源,使计算机更加好用
如何理解 “管理”
- 管理的例子
- 描述被管理对象 (用struct结构体)
- 组织被管理对象 (用链表或其他高效的数据结构)
系统调用和库函数概念
- 系统调用接口:操作系统向用户提供的功能接口
- 库函数:对常见功能进行接口(系统调用接口)封装,使某一个功能接口使用更加方便
库函数与系统调用的接口关系:上下级的调用关系
如有不同见解,欢迎留言讨论~~