Liunx内核编程及编程

综述:当今在移动端领域,linux可谓占有举足轻重的地位。从linux操作系统的诞生,发展和成长过程依赖着5个重要的支柱:UNIX操作系统,Minix操作系统,GNU计划,POSIX标准和Internet.。  
一     linux操作系统的发展  
下面我们简述的说一下linux操作系统的成长过程。    
UNIX操作系统:它是由美国贝尔实验室的Ken.Thompson和Dennis Ritchie于1969年开发的一个分时操作系统。linux操作系统可以看作UNIX操作系统的克隆版本。    
Minix操作系统:也是UNIX的一种克隆系统,linux刚开始就是参照Minix系统于1991年开发的。    
GNU计划:它是"GNU's Not UNIX"的缩写。GNU项目已经开发出许多高质量的免费软件,其中包括emacs编辑系统,bash shell程序,gcc系列编译程序,GDB调试程序。这些软件为linux操作系统开发创造了一个合适的环境,是linux诞生的基础之一。没有GNU软件环境,linux将寸步难行。因此严格的说,"Linux"应该称为"GNU/Linux"系统。    
POSIX标准(可移植的操作系统接口):是由IEEE和ISO/IEC开发的一组标准,用于保证编写的应用程序可以在源代码级上在多种操作系统中移植。    
互连网:linux的强大,有很多原因是它拥有完备的网络系统,如果没有互联网,没有遍布在全世界计算机骇客的无私奉献,那么linux最多停留在linux 0.13的水平。    
Andriod采用Linux内核,但是在内核里加入了一系列的补丁,比如Binder ,ashmem,wakelock等。目前这些补丁中大多数已经进入Linux产品线。    
二 linux内核的组成部分   
inux内核的组成有五部分:  分别是 进程调度,内存管理,虚拟文件系统,网络文件系统,进程间通信。    
进程调度:使多个进程对CPU的访问,使得多个进程能在CPU中“微观串行,宏观并行”的执行。    
内存管理:主要的作用是控制多个进程安全地共享主内存区域。MMU完成从虚拟内存到物理内存的转换。    
虚拟文件系统:隐藏了各种硬件的具体细节,为有设备提供了统一的编程接口。它为上层应用提供了统一的接口函数,如read(),write()等,并调用具体底层文件系统或者设备驱动中实现的file_operations结构体的成员函数。    
网络接口:提供对各种网络标准的存取和各种网络硬件的支持。    
进程间通信:linux支持多种通信机制,包含信号量,共享内存,消息队列,管道,UNIX域套接字等。这些机制可协助多个进程,多资源的互斥访问,进程间的同步和消息传递。
三 内核的编译    
在编译内核之前需要配置内核,运行 make menuconfig配置内核,并生成一个.config配置文件,linux内核由三部分组成:Makefile(分布在内核源码中,定义编译的规则),配置文件(Kconfig 给用户提供编译选项的功能),配置工具(提供字型,图形界面等。)    
在linux内核中增加程序需要完成以下三项工作:将编写的源代码复制到linux源代码相应的目录中,在目录中的Kconfig文件中增加关于新源代码对应项目的编译配置选项。在目录的Makefile文件中增加对新代码的编译条目。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值