随笔分类 - 编译原理及操作系统
摘要:Linux进程调度原理 Linux进程调度机制 Linux进程调度的目标 1.高效性:高效意味着在相同的时间下要完成更多的任务。调度程序会被频繁的执行,所以调度程序要尽可能的高效; 2.加强交互性能:在系统相当的负载下,也要保证系统的响应时间; 3.保证公平和避免饥渴; 4.SMP调度:调度程序必须
阅读全文
摘要:linux进程的地址空间,核心栈,用户栈,内核线程 地址空间:32位linux系统上,进程的地址空间为4G,包括1G的内核地址空间,和3G的用户地址空间。内核栈:进程控制块task_struct中保存了2个page大小的信息。为什么每一个进程都是用各自的内核栈呢?引用(http://hi.baidu...
阅读全文
摘要:需要考证考证结果:其内核栈是独立的 206 static struct task_struct *dup_task_struct(struct task_struct *orig) 207 { ...
阅读全文
摘要:Linux 进程栈和线程栈的区别 http://www.cnblogs.com/luosongchao/p/3680312.html总结:线程栈的空间开辟在所属进程的堆区,线程与其所属的进程共享进程的用户空间,所以线程栈之间可以互访。线程栈的起始地址和大小存放在pthread_attr_t 中,...
阅读全文
摘要:Linux进程管理知识整理1、进程有哪些状态?什么是进程的可中断等待状态?进程退出后为什么要等待调度器删除其task_struct结构?进程的退出状态有哪些?TASK_RUNNING(可运行状态)TASK_INTERRUPTIBLE(可中断等待状态)TASK_UNINTERRUPTIBLE(不可中断...
阅读全文
摘要:Linux 线程模型的比较:LinuxThreads 和 NPTLGNU_LIBPTHREAD_VERSION 宏大部分现代 Linux 发行版都预装了 LinuxThreads 和 NPTL,因此它们提供了一种机制来在二者之间进行切换。要查看您的系统上正在使用的是哪个线程库,请运行下面的命令:$ ...
阅读全文
摘要:posix 线程(一):线程模型、pthread 系列函数 和 简单多线程服务器端程序一、线程有3种模型,分别是N:1用户线程模型,1:1核心线程模型和N:M混合线程模型,posix thread属于1:1模型。(一)、N:1用户线程模型“线程实现”建立在“进程控制”机制之上,由用户空间的程序库来管...
阅读全文
摘要:linux上应用程序的执行机制执行文件是如何在shell中被"执行"的。本文中尽可能少用一些源码,免得太过于无聊,主要讲清这个过程,感兴趣的同学可以去查看相应的源码了解更多的信息。1.父进程的行为:复制,等待执行应用程序的方式有很多,从shell中执行是一种常见的情况。交互式shell是一个进程(所...
阅读全文
摘要:Linux多线程编程和Linux 2.6下的NPTL在Linux 上,从内核角度而言,基本没有什么线程和进程的区别--大家都是进程。一个进程的多个线程只是多个特殊的进程他们虽然有各自的进程描述结构,却共享了同一 个代码上下文。在Linux上,这样的进程称为轻量级进程Light weight proc...
阅读全文
摘要:http://www.cnblogs.com/zhaoyl/p/3620204.html首先从OS设计原理上阐明三种线程:内核线程、轻量级进程、用户线程内核线程内核线程就是内核的分身,一个分身可以处理一件特定事情。这在处理异步事件如异步IO时特别有用。内核线程的使用是廉价的,唯一使用的资源就是内核栈...
阅读全文
摘要:http://blog.csdn.net/yusiguyuan/article/details/12154823在《linux内核设计与实现》中第三章讲解了进程管理,在关于进程和线程的概念之间的区别还是由点模糊。书中说道: 进程就是处于执行期的程序。但进程并不仅仅局限于一段可执行程序代码。通常进程还...
阅读全文
摘要:http://blog.csdn.net/tigerjibo/article/details/8299686前言:从 内核的角度来说,它并没有线程这个概念。Linux把所有线程都当做进程来实现。内核并没有准备特别的调度算法或者定义特别的数据结构来表示线程。相反, 线程仅仅被视为一个与其他进程共享某些...
阅读全文
摘要:http://blog.csdn.net/tq02h2a/article/details/4317211看了看linux 2.6 kernel的源码,下面结合代码来分析一下在X86体系结构下,互斥锁的实现原理。代码分析1. 首先介绍一下互斥锁所使用的数据结构:struct mutex {引用计数器1...
阅读全文
摘要:linux是实时系统还是分时操作系统http://www.cnblogs.com/xiawen/p/3317302.html1.实时操作系统定义 实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速...
阅读全文
摘要:http://blog.csdn.net/hzhzh007/article/details/6532988“ 信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在sem_wait的时候,就阻塞在 那里)。而互斥锁是用在多线程多任务互斥的,一...
阅读全文
摘要:怎样写一个解释器 http://blog.csdn.net/yang_7_46/article/details/8157390
阅读全文