iOS和android系统架构对比iOS是基于UNIX的,直接与底层硬件通信。系统底层、应用框架、应用软件都是采用C/C++或者Objective-C写成的,所以有很高的运行效率。android是基于Linux内核设计,在Linux内核上运行一个Java虚拟机,虚拟机再运行软件。就好似在一个系统上又...
分类:
移动开发 时间:
2015-08-30 23:01:38
阅读次数:
298
把握linux内核设计思想(一):系统调用
把握linux内核设计思想(二):硬中断及中断处理
把握linux内核设计思想(三):下半部机制之软中断
把握linux内核设计思想(四):下半部机制之tasklet
把握linux内核设计思想(五):下半部机制之工作队列及几种机制的选择
把握linux内核设计思想(六):内核时钟中断
把握linux内核设计思想(七):内核定时器和定时执...
分类:
系统相关 时间:
2015-08-17 23:39:05
阅读次数:
179
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
进程地址空间由进程可寻址的虚拟内存组成,Linux 的虚拟地址空间为0~4G字节(注:本节讲述均以32为为例)。Linux内核将这 4G 字节的空间分为两部分。将最高的 1G 字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为“...
分类:
系统相关 时间:
2015-08-16 12:17:23
阅读次数:
270
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
内存管理单元(MMU)负责将管理内存,在把虚拟地址转换为物理地址的硬件的时候是按页为单位进行处理,从虚拟内存的角度来看,页就是内存管理中的最小单位。页的大小与体系结构有关,在 x86 结构中一般是4KB(32位)或者8KB(64位)。
通过 get...
分类:
系统相关 时间:
2015-08-15 16:38:01
阅读次数:
527
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
上一节最后说到对于小内存区的请求,如果采用伙伴系统来进行分配,则会在页内产生很多空闲空间无法使用,因此产生slab分配器来处理对小内存区(几十或几百字节)的请求。Linux中引入Slab的主要目的是为了减少对伙伴算法的调用次数。
内...
分类:
系统相关 时间:
2015-08-15 16:32:22
阅读次数:
243
1.进程: (1)处于执行期的程序,但不止是代码,还包括各种程序运行时所需的资源,实际上进程是正在执行的 程序的实时结果。 (2)程序的本身并不是进程,进程是处于执行期的程序及其相关资源的总称。 (3)两个或两个以上并存的进程可以共享诸如打开的文件,地址空间等共享资源。 (4)在...
分类:
系统相关 时间:
2015-08-05 18:01:32
阅读次数:
189
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
linux为多任务系统,正常情况下都存在成百上千个任务。由于linux提供抢占式的多任务模式,所以linux能同时并发地交互执行多个进程,而调度程序将决定哪一个进程投入运行、何时运行、以及运行多长时间。调度程序是像linux这样的多任务操作系统的基础,...
分类:
系统相关 时间:
2015-07-31 23:36:20
阅读次数:
211
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
如同linux应用一样,内核的共享资源也要防止并发,因为如果多个执行线程同时访问和操作数据有可能发生各个线程之间相互覆盖共享数据的情况。
在linux只是单一处理器的时候,只有在中断发生或内核请求重新调度执行另一个任务时,数据才可能会...
分类:
系统相关 时间:
2015-07-31 23:34:57
阅读次数:
209
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
前面章节说到了把工作推后到除现在以外的时间执行的机制是下半部机制,但是当你需要将工作推后到某个确定的时间段之后执行,使用定时器是很好的选择。
上一节内核时间管理中讲到内核在始终中断发生执行定时器,定时器作为软中断在下半部上下文中执行。时钟中断...
分类:
系统相关 时间:
2015-07-29 21:25:28
阅读次数:
290
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
进程其实就是程序的执行时的实例,是处于执行期的程序。在linux内核中,进程列表被存放在一个双向循环链表中,链表中每一项都是类型为task_struct的结构,该结构称作进程描述符,进程描述符包含一个具体进程的所有信息,这个结构就是我们在操作系统中所说的PCB...
分类:
系统相关 时间:
2015-07-29 21:24:35
阅读次数:
223