操作系统
什么是操作系统
操作系统是大陆的翻译,湾湾的翻译应该会更加准确:作业系统。
操作系统本质就是运行在硬件之上,用户程序之下软件。
举个例子:当用户使用记事本打开某个文件,记事本会先调用操作系统的文件系统开放的接口,然后文件系统又会去调用硬盘开放的接口,其中,文件系统就属于操作系统的一部分。
操作系统的作用
- 其中之一的功能就是对硬件进行抽象,让用户程序感受不到跟硬件相关的内容。
- 另一个重要任务就是,让许多程序复用硬件,例如:后台挂着音乐,前台在玩游戏,就是同时运行两个程序。并且所有同时运行的事情互不干扰,这叫多路复用。
- 即使一个程序出现 bug ,也不会影响到其他程序,这叫隔离性,它的主要思想是,不同的活动不应该互相干涉。
- 另一方面,有时有的活动需要互相干扰,比如用文本编辑器打开一个文件,这叫共享。
- 有的时候,我们希望一些人能读取我的文件,同时希望另外一些人不能读取我的文件,这叫安全系统。
我们希望应用程序有良好的性能。
内核
kernel 是一个特殊的程序,它会一直运行着。它是计算机的资源守护者和管理者,也是开机之后启动的第一个程序。并且内核会帮助很多数据结构加快访问。
内核的代码和内核外的代码最本质的区别就是内核可以直接访问硬件,而内核外的代码不能,同时内核的代码是常驻内存的。
操作系统 API
程序如果要访问内核,一般都是通过**系统调用(System Call)**实现的,他们看起来像是程序的函数调用。