操作系统介绍
在早期想让计算机执行程序的话就要参考一堆硬件功能函数,且要学习机器语言才能编写程序,如果能将所有硬件都驱动,并且提供一个开发软件的参考接口来给工程师开发软件的话,那开发软件就变得很简单,这就是操作系统
操作系统内核(Kernel)
操作系统其实也是一组程序,该程序的重点是在于管理计算机的所有活动以及驱动系统中的所有硬件,让硬盘可以被访问,让内存可以加载/读出程序代码数据等
你的计算机嫩不能做到某些事情都与内核有关,比如内核并不支持tcp/ip协议,那无论什么网卡,都无法提供网络功能。
但是只有内核也不行,内核是控制管理的核心,如果用户能够直接使用到内核的话,万一用户将内核程序破坏,将导致系统的崩溃,因此内核程序所放置到内存中的区块是收到保护的,并且开机后常驻在内存中。
所以整个系统如果只有内核的话,我们只能看着准备好的操作系统,但无法操作,这时就需要软件了。
既然硬件都是有内核进行管理,那么如果我想开发软件的话,就要去参考这个内核的相关功能。
为了解决这个问题,操作系统通常会提供给一整组的开发接口(又称系统调用)给工程师开发软件,工程师只要遵循该开发接口既可以开发软件,比如学习c语言只要参考c语言的函数即可,不需要再去考虑其他内核的相关功能,因为内核的系统调用接口会自动将c语言的相关语法转换成内核可以了解的任务函数。
操作系统的角色:
硬件—内核—系统调用—应用程序,其中内核和系统调用层组成了操作系统。
为了保护内核,并且让程序员容易的开发软件,操作系统除了内核之外,还会提供一整组的开发接口。也就是系统调用层
总结:
1, 操作系统的内核直接参考硬件规格组成,因此同一个操作系统程序不能在不一样的硬件架构上运行。比如windows xp操作系统不能在架构的计算几上运行。
2,操作系统只能管理者整个硬件资源, 包括CPU,内存,输入输出设备等,如果没有应用程序辅助,操作系统只能让计算机准备完成,不能运行功能。
3,应用程序的开发都是参考操作系统的开发接口,因此该应用程序只能在该操作系统上运行。
4,内核功能:
系统调用接口
程序管理 : 内核必须控制工作的先后秩序,良好的cpu调度能加快系统性能。
内存管理
文件系统管理
设备驱动
5,操作系统与驱动程序
驱动程序的提供应该是硬件厂商的事情,硬件厂商要退出硬件时,应该自行参考操作系统的驱动程序开发接口,开发驱动程序,只要用户安装了驱动程序,就可以在他们的操作系统系统上面驱动硬件了。
posted on 2016-06-18 21:54 sichenzhao 阅读(129) 评论(0) 编辑 收藏 举报