操作系统进程管理,内存管理,内核

时间:2014-04-09 03:38:35

标签: memory process operating-system kernel buffer

我在软件公司工作,在网络芯片组上进行硬件独立编码,实现完全多线程编码,处理各种缓冲区(CRU缓冲区,线性缓冲区),最佳地使用内存(堆栈存储器)。并通过消息队列完成IPC。并且多个锁,信号量用于并发机制。现在我将被分配到新的开发项目,在那里我必须了解并且必须在接下来的一个月内开发新功能。我感觉像亚马逊丛林的中间:)。

=>我处于OS概念的初级阶段。我觉得C语言的中级水平。所以期待,建议“Materail / Book可以帮助我提高/巩固我的操作系统技能”

我看过亚伯拉罕Silberschatz的OS Book和Tanenbaum的现代操作系统 - 第3版。两者都看起来很大,涵盖了操作系统的各个角落。为了将来的参考,我想要稳定而缓慢地研究那本书。

==>现在我正在寻找详细解释“主要概念”的网络资料/书籍。例如,我在一个在线材料中看到了虚拟内存概念,其中明确地解释了虚拟内存。

来自该材料的示例虚拟内存:

amesmol @茄子:〜/试验> objdump -f a.out

a.out:文件格式elf32-i386架构:i386,标志0x00000112:EXEC_P,HAS_SYMS,D_PAGED起始地址0x080482a0

说明:

注意程序的起始地址是0x80482a0.Program认为它的起始地址是实际的物理地址。但它是一个虚拟地址空间。其原始起始地址位于物理内存位置0x1000000。

就像这样(正确的观点和示例),您是否可以为OS概念(流程管理,内存管理,IPC)提出好的材料? 您能否提出改进/具体技巧的方法? (建议我可以做什么样的迷你作业项目等。)

提前致谢

1 个答案:

答案 0 :(得分:0)

如果你正在从事项目工作,你必须尽快阅读你提到的书籍,以获得理论解释,概念和术语。在那之后,即使你的阅读,我建议你去大学网站,以获得小项目的技能。一些建议的链接如下

http://www.eecg.toronto.edu/~lie/Courses/ECE344/

http://web.stanford.edu/~ouster/cgi-bin/cs140-winter13/pintos/pintos.html#SEC_Contents

http://www3.cs.stonybrook.edu/~porter/courses/cse624/f13/project.html

(JOS实施。如果您向他们发送特定查询,非常帮助教师)

http://www.brokenthorn.com/Resources/OSDev7.html

http://www.osdever.net/bkerndev/Docs/intro.htm

(以上两个链接不是大学链接,但作为初学者我建议开始使用)

除此之外,Lion对Unix代码的注释与行号参考必须在您的阅读中,以了解小规模OS的实现