冯诺依曼系统结构
概念
当今世界大部分计算机都是遵循冯诺依曼系统结构的。
存储器:内存
输入设备:键盘,摄像头,话筒,磁盘,网卡…
输出设备:显示器,音响,磁盘,网卡…
运算器与控制器共同组成了CPU
运算器:算术运算,逻辑运算
控制器:响应外部事件,协调外部就绪事件,比如:拷贝数据到内存
操作系统概述
操作系统是什么
操作系统实际上是由操作系统内核和一堆应用组成的。
操作系统内核:实际上是一堆代码运行起来之后形成的进程。这里放了一个linux内核源码,感兴趣的小伙伴可以自行下载链接
应用实际上指的是依附在系统内核上完成某些功能,例如:淘宝,微信等
操作系统在做什么事
首先我们需要了解计算机的组成
计算机实际上是由硬件和软件组成的,硬件是指CPU,内存,硬盘,显卡,网卡等,软件就是操作系统。
简单了解了计算机的组成之后,我们就可以意识到,如果需要让计算机执行某些程序,实现某些功能,那么我们的软件需要去操作硬件,那么实际上我们的操作系统就是沟通硬件与一些应用软件之间的桥梁。
用专业术语来说就是:操作系统在整合软硬件资源,让这些软硬件资源合理使用,合理分配。
操作系统怎么完成这些事的
而操作系统到底是如何实现整合计算机软硬件资源的呢?
是通过管理,这种管理是用描述(结构体)+组织(串联结构体)来实现的。先用结构体描述对象属性,再用数据结构将这些对象组织起来。
操作系统组织结构图
系统调用和库函数
1.系统调用
linux内核开发者们自己设计的对外提供的函数,也称之为系统调用接口。我们使用这样的接口时,就称之为系统调用。
2.库函数
操作系统内核对外提供的接口太复杂,导致大部分程序员使用起来很不方便,因此大佬程序员们在其对外提供的接口上,又增加了一系列第三方库,这样可以使得非常复杂的系统调用接口也能够较为方便的被使用,这种第三方库就被称为库函数,例如:c标准库中的printf scanf等都是在系统调用接口的基础上进一步进行了封装。