【发布时间】:2014-05-22 01:13:09
【问题描述】:
我在软件公司工作,在网络芯片组上完成硬件独立编码,实现了完全多线程编码,处理了各种缓冲区(CRU 缓冲区,线性缓冲区)并优化了内存(堆栈内存)。 IPC 通过消息队列完成。多锁、信号量用于并发机制。现在我将被分配到新的开发项目,我必须了解并在接下来的一个月内开发新功能。我感觉就像在亚马逊丛林的中间 :)。
=> 我在操作系统概念方面处于初级阶段。我感觉像是 C 语言的中级水平。所以期待,建议“可以帮助我提高/具体化我的操作系统技能的材料/书籍”
我看到了 Abraham Silberschatz 的 OS Book 和 Tanenbaum 的 Modern Operating Systems - 第 3 版。两者看起来都很大,涵盖了操作系统的各个角落。我想稳稳地、慢慢地研究那本书,以备将来参考。
==> 现在我正在寻找详细解释“主要概念”的网络资料/书籍。例如,我在一份在线材料中看到了虚拟内存概念,其中清楚地解释了虚拟内存。
该材料中的虚拟内存示例:
amesmol@aubergine:~/test> objdump -f a.out
a.out:文件格式elf32-i386架构:i386,标志0x00000112:EXEC_P,HAS_SYMS,D_PAGED起始地址0x080482a0
解释:
注意程序的起始地址是 0x80482a0。程序认为它的起始地址是实际的物理地址。但它是一个虚拟地址空间。其原始起始地址位于物理内存位置 0x1000000。
像这样(正确的观点和示例),你们能否为操作系统概念(进程管理、内存管理、IPC)推荐好的材料? 您能否提出改进/具体化这些技能的方法? (建议我可以做什么样的迷你作业等。)
提前致谢
【问题讨论】:
-
你是对的。我只是问那些已经这样做的人,并有他们的参考清单。所以它阻止我重新发明轮子:)。看来您正在学习嵌入式 linux。所以你可以建议我参考链接,它可以帮助我节省时间
-
有很多书。对于一个主题,一本书是好的,对于另一本书中的另一个主题是好的。 o'reilly 的书很好。
-
而且你无法通过书本获得好的知识。你只能通过系统练习来获得。所以最好参加培训:)
-
很棒的资源,涵盖了很多主题:wiki.osdev.org/Main_Page
标签: memory process operating-system kernel buffer