首页 > 嵌入式软件 > linux

第二章 Linux内核

1 内核开发特点
1)内核编译时不能访问C库;
2)浮点数很难使用;
3)内核只有一个定长堆栈;
4)注意同步和并发。


第三章 进程管理

1current宏:查找当前运行进程的进程描述符。

2 进程状态(5种)
TASK_RUNNING :1)正在运行;2)在运行队列中等待执行。
TASK_INTERRUPTIBLE:进程正在睡眠,可以被信号唤醒。
TASK_UNINTERRUPTIBLE:进程正在睡眠,不会收到信号被唤醒。
TASK_ZOMBIE:僵死态,进程已经结束,父进程未使用wait4()。
TASK_STOPPED

3 进程上下文
进程进入内核空间时,current宏依然有效,内核“代表进程执行”。

4 进程创建
1)fork():拷贝当前进程创建一个子进程。
2)exec():读取可执行文件并载入地址空间开始运行。
3)写时拷贝(copy-on-wrtie):推迟数据拷贝,在需要写入数据时,数据才会被复制。
4)vfork():不拷贝父进程的页表项,子进程作为父进程的一个线程在它的地址空间运行,父进程被阻塞直至子进程退出,子进程不能向地址块空间写入数据。

5 线程
Linux把所有的线程都当作进程来实现。

6 内核线程:独立运行在内核中的标准进程。内核线程没有独立的地址空间,只能在内核空间中运行,创建内核线程用kernel_thread()。

7 进程终结
1)释放资源;
2)进入TASK_ZOMBIE;
3)等待wait4()。




换一批

延伸阅读

[行业资讯] 开源平台化成科技公司必由之路 包括微软

开源平台化成科技公司必由之路 包括微软

曾经的科技市场有自己的玩法,那就是通过占有独一无二的资源来获取强大的议价能力。不过,现在新趋势正在逐渐瓦解这一传统玩法,公司向平台化发展并与人才、技术和信息生态......

关键字:Linux 微软

[行业资讯] Linux Kernel 5.0或在达成600万Git Objects时到来

Linux Kernel 5.0或在达成600万Git Objects时到来

早两天,Linus Torvalds在Google+上表示,Linux内核当前正在从4.0向5.0大版本迈进(half-way between),同时接近600万Git的目标。之前的大版本,比如Linux 3.0或Linux 4.0......

关键字:Linux5.0

[行业资讯] 2016年最佳Linux发行版排行榜

2016年最佳Linux发行版排行榜

2015年,不管在企业市场还是个人消费市场都是 Linux 非常重要的一年。作为一个自2005年起就开始使用 Linux 的 Linuxer ,我门见证了 Linux 在过去十年的成长。2016 Linux......

关键字:ezgo Linux openSUSE Linux

[行业资讯] Linux基金会宣布举办新会议,支持开源大数据社区协作

Linux基金会宣布举办新会议,支持开源大数据社区协作

Apache: Big Data大会,开源项目提交者将汇聚一堂,促进Apache大数据技术的应用Marketwired 2015年5月28日美国加利福尼亚州旧金山消息――致力于促进Linux和协作开发发展的......

关键字: Linux 开源大数据

[行业资讯] Linux之父:讨厌封闭 回绝乔布斯

Linux之父:讨厌封闭 回绝乔布斯

一个21岁的芬兰大学生,在学生宿舍里写了一个操作系统的内核——Linux,然后公布于众,吸引了成千上万的程序员为之增补、修改和传播,短短几年就拥有了千万的用户......

关键字:linux 苹果 乔布斯
条评论

我 要 评 论

网友评论

大家都爱看