关闭
当前搜索:

linux进程调度4

Linux可能运行在多核的环境下,Linux就会在这多个核直接负载均衡,每一个核跑的调度算法都是前面说的FIFO,RR,CFS。但是Linux会自动分布在多个核上,自动负载均衡。每个核都有可能把自己的tast_struct从自己的核推到旁边一个核,然后有一个核也可能把自己的推给旁边的,但是在Linux多核场景之下,每一个核都以劳动为乐,所以当别的核把任务推给它去跑的时候,他心里面很开心。它自己闲下...
阅读(104) 评论(0)

进程调度学习3

所有的操作系统在设计调度器的时候都追求两个目标中的一个,要么就是提高吞吐率,要么就是提高某些任务的相应,其实这两个目标之间有一定的矛盾,就像拔河的两个人一样,你往吞吐率这里多一点,响应就差一点,你往相应多一点,可能就牺牲吞吐率,什么是吞吐,就是我发一分钟去看这个linux,它把所有时间都用在解决负载,比如你有很多事情要做,你把时间花在有用功上,而不是无意义的上面,响应是指某些任务的响应要快,比如说...
阅读(69) 评论(0)

linux进程调度2

Fork前面创建的是一个进程,假设进程P1,调用fork之后,然后进程P2就被创建,P1是一个task_struct,p2也是一个task_struct,所以在内核里面这是两个task_struct,在内核的调度算法的层面上主要看到一个task_struct,他就会被调度,linux在P1刚刚把P2创建出来的时刻,linux会认为P1和P2之间会有某种内在的联系,前面有提到,task_struct...
阅读(70) 评论(0)

Linux进程调度学习1

当我们说进程的时候,就必然要说道线程,在Linux里面经典定义是 进程是一个支援分配的单位,所以,你搞清楚一个进程,就是搞清楚它的资源,当我们要说进程的时候,首先要说Linux里面是用一个什么样的数据结构去描述它 这是个process control block(进程控制块)这是OS里面通用的概念,在linux里面,进程控制块就是一个task_struct结构体 这个时候,我们应该怎么记住这...
阅读(77) 评论(0)

分析内核源码,设备树

U-Boot需要将设备树在内存中的存储地址传给内核。该树主要由三大部分组成:头(Header)、结构块(Structure block)、字符串块(Strings block)。 设备树在内存中的存储布局图如下 1.1 头(header) 1.2 结构块(struct block)  扁平设备树结构块是线性化的树形结构,和字符串块一起组成了设备树的主体,以节点形式保...
阅读(157) 评论(0)
    个人资料
    • 访问:15893次
    • 积分:1066
    • 等级:
    • 排名:千里之外
    • 原创:94篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    最新评论