Operating System
文章平均质量分 82
Lulu_zhu
求Android软件开发工作
展开
-
Notes on "Understanding the Linux kernel“
操作系统基本概念 主要目标: 与硬件部分交互,为包含在硬件平台上的所有底层可编程部件提供服务。 为运行在计算机系统上的应用程序提供执行环境。 多用户系统 (multiuser system) 能并发和独立执行分别属于两个或多个用户的若干应用程序的计算机。 并发concurrently意味着几个应用程序能同时处于活动状态并竞争各种资源,如CPU,内存,硬盘等。 独立independen原创 2015-10-25 21:31:52 · 335 阅读 · 0 评论 -
Notes on Understanding the Linux Kernel
第六章内存管理RAM中一部分永久保存了内核代码和内核静态数据结构。而剩余部分就是动态内存。系统的性能取决于如何有效管理动态内存。 本章通过三部分内容介绍内核分配动态内存。“页框管理”和“内存区管理”两节分别介绍两种对连续物理内存区处理的技术。“非连续内存区管理”一节介绍了处理不连续的内存区。页框管理Intel的奔腾处理器采用两种不同的页框大小,4k和4M。Linux采用4KB页框大小作为标准的内存原创 2015-11-19 17:30:11 · 285 阅读 · 0 评论 -
Notes on Understanding the Linux Kernel
第七章进程地址空间内核中的函数可以直接获得动态内存,调用__get_free_pages()使用伙伴系统获得页框,kmem_cache_alloc()或kmalloc()使用slab分配器为专用或通用对象分配块,以及vmalloc()获得一块非连续的内存区。如果锁清秋的内存区能被满足,这些函数都返回一个线性地址,这个线性地址就是所分配的动态内存区的起始地址。内核使用一种新的资源成功实现了对进程动态内原创 2015-11-21 21:24:15 · 320 阅读 · 0 评论 -
Notes Understanding the Linux kernel
第三章 进程 进程,轻量级进程和线程 进程是程序执行时的一个实例。从内核观点看,进程的目的是担当分配系统资源的实体。 当一个进程创建时,它几乎与父进程相同。它接受父进程地址空间的一个逻辑拷贝,从进程创建系统调用的下一条指令开始执行与父进程相同的代码。尽管父子进程可以共享含有程序代码的页,但是它们有各自独立的数据拷贝(栈和堆),因此子进程对一个内存单元的修改对父进程是不可见的,反之亦然。 从原创 2015-11-03 00:11:54 · 305 阅读 · 0 评论 -
Notes on Understanding the Linux Kernel
中断和异常中断通常被定义为改变处理器指令顺序的事件。这些事件对应于CPU芯片内部和外部的硬件电路产生的电信号。 中断通常被分为同步中断和异步中断 同步中断是指指令执行时由cpu控制单元产生的,之所以称为同步,是因为只有在指令执行完成后,CPU才会发出中断。 异步中断指的是由其他硬件设备根据cpu时钟信号随机产生。 中断是由间隔定时器和IO设备发出的,异常是由程序错误产生的。 中断信号的作用中断信号原创 2015-11-17 16:04:32 · 285 阅读 · 0 评论 -
Linux内核4级页表的演进
原文链接:http://larmbr.com/2014/01/19/the-evolution-of-4-level-page-talbe-in-linux/ Linux内存寻址的页表的升级,实际上是跟进64位操作系统对于内存管理的升级。 换言之,本质上并没有什么技术变化,是对三级页表的演变。 Linux内核4级页表的演进 larmbr | 20转载 2015-11-18 16:49:05 · 3451 阅读 · 0 评论 -
Notes on Understanding the Linux Kernel
第五章 定时测量硬时钟内核与三种时钟打交道 实时时钟 Real Time Clock RTC 时间标记计数器 Time Stamp Counter TSC 可编程间隔定时器 Programmable Interval Time PIT 实时时钟RTC独立于CPU和其他所有芯片,靠小电池供电。Linux获取时间和日期。时间标记计数器Linux通过寄存器获得更精确的时间测量。|2^32/f| f是以原创 2015-11-17 17:36:03 · 300 阅读 · 0 评论 -
Notes on Understanding The Linux Kernel
第二章 内存寻址 内存地址 逻辑地址 logical address 包含在机器语言指令中用来指定一个操作数或一条指令的地址。每个逻辑地址由一个段segment和偏移量offset组成,偏移量指明了从段开始的地方到实际地址之间的距离。 线性地址 linear address 也称虚拟地址 virtual address 是一个32位无符号整数,可以用来表示高达4G的地址。线性地址通常用十六进原创 2015-10-26 23:50:04 · 341 阅读 · 0 评论 -
Notes on Understanding the Linux Kernel
第六章 内存管理RAM的一部分被永久分配给内核来存放内核代码以及静态数据结构。另一部分称作动态内存,这是进程以及内核都需要的资源。整个系统的性能取决于如何有效的管理动态内存。 通过三部分来介绍内核如何给自己分配动态内存。 页框管理和内存管理两节分别介绍的是两种对连续物理内存去处理的技术。 非连续内存区管理一节介绍了第三种技术:处理不连续的内存区。页框管理Linux采用4KB的页框大小作为标准的原创 2016-10-12 23:47:36 · 247 阅读 · 0 评论