2、kernel

来源:互联网 发布:mysql修改表字段语句 编辑:程序博客网 时间:2024/06/05 02:07

kernel是掌管一台pc硬件的程序,核心程序放置在内存当中且是受保护的,并且开机后就一直常驻在内存当中。

从最先面对硬件开发,转而面对kernel开发,但还不是简便的路径,而由操作系统提供接口来供程序开发。

比如c语言,system call会将其转换为kernel所能执行的任务函数;--->软件和硬件关系不大,而与kernel有很大关系,硬件和kernel也有很大关系。

kernel根据应用程序提供合理的资源分配(cpu、内存)


操作系统=kernel+接口

不同的硬件集成需要使用不同的操作系统,比如苹果的笔记本不使用兼容技术不能安装windows系统,又如32位的cpu不能安装64位的操作系统。

所用的应用程序都是在操作系统提供的接口下开发的,(每款软件都会指定相应的系统运行环境)


kernel主要功能:

1、分配、管理、调用计算机资源

2、提供system call interface供开发者使用、调用

3、进程管理:对进程排序以便cpu处理,加快整体效能

4、内存管理:当内存不足时,提供虚拟内存使用或者清空部分内存等

5、文件系统管理: I/O管理,文件格式,硬盘格式等

6、驱动管理:kernel并不是对所用硬件都直接管理,或者新硬件要适应已有的操作系统,不能要求kernel提供商重写kernel吧,就自行开发驱动,让kernel通过驱动来管理硬件。

0 0