[请益] 猪屎屋工作,求书单

楼主: PeeHighTW (台湾尿高人)   2023-01-07 17:36:19
Hi all
目前正在猪屎屋工作,仍处在读书的阶段,
每次在读前辈们的 Code ,心里都会想“这种 Code 我大概写不出来” QQ,或者是硬件相关知识不太明白,
比方说为什么要设 memory barrier 这些,
甚至是 Linux 的 READ_ONCE 也是我工作之后才知道
如何读 Register、cache 的操作等等
还有上层设定 HAL 层的函式、设 callback 等等。
因为不同的平台可能用到的 hardware 不一样,而程式码要去能够去编译给不同的平台
因此上层跟 HAL 层要切的很开,而目前读的程式码确实办到了
要是我来写肯定只会用 define 去包QQ
大概看得懂是用函式指标去包跟传 callback,但真的要我写可能有困难
想问版友有没有推荐的书籍?
简单来说,就是硬件知识 + 如何写出好 C code。
目前有两本在我的名单内:
1. 21世纪 C 语言
2. 程序员的自我修养
2. 我看一下目录,我大概都懂,不晓得还需不需要买来看;
前者感觉偏向 C 语言的部分,读了应该对我有帮助,但关于硬件部分我还是没头绪(控 register、cache、CMOS)
再请大大推荐书籍了,谢谢
作者: noahleft (NoahLeft)   2023-01-07 17:45:00
很多东西只看书也很难学会,通常是刚好碰到这种情况然后才去找对应的资讯程序员的自我修养我有,但很多细节真的是遇到了才会理解
作者: e12518166339 (耐纶)   2023-01-07 18:18:00
如果单纯的想应征一般新人的韧体开发,应该可以不用这么焦虑,你问的这个很多人即便已经工作三年可能也不懂,如果真的那么焦虑,那就好好写学校作业,有多余的时间就把csapp的lab拿来做做看
作者: OriginStar   2023-01-07 18:38:00
Intel® 64 and IA-32 Architectures SoftwareDeveloper Manual,到Intel网站就可以下载了。我早期大概国高中时有买本Intel 8086指令集的书,简单说就是讲解电脑是如何运作,然后可以透过什么指令让电脑做什事,例如透果某中断让电脑发出逼声,当然早期电脑是比较简单的
作者: undersky (undersky)   2023-01-07 19:19:00
演员的自我修养(X
作者: enthos (影斯作业系统)   2023-01-07 19:23:00
ARM有一本超好的旧书是这本吗? Arm System DevelopersGuide: Designing And Optimizing System Software 2004
作者: RouterHsieh (醉卧美人膝,醒掌天下权)   2023-01-07 20:04:00
不介意看英文的话我觉得CSAPP应该蛮有用的XD
作者: loadingN (sarsaparilla)   2023-01-07 20:48:00
白嫖LWN.net
作者: menesn (迷思)   2023-01-07 22:14:00
Design Pattern
作者: Gaogaigar   2023-01-07 22:53:00
csapp 其实介意英文也有简体版
作者: Hsins (翔)   2023-01-07 23:08:00
CSAPP 的本体是作业
作者: Lipraxde (Lipraxde)   2023-01-07 23:15:00
硬件知识喔...在学校学到的如果能应用到工作中,配合内部的文件,应该就很够用了吧?
作者: deflife (无极而生)   2023-01-08 00:32:00
jserv的课
作者: leoloveivy (cried)   2023-01-08 00:54:00
看书不如在可接受的时间多包一些issue来解也可以提升又有钱好像有一本简体嵌入式还行啦
作者: twicm (WhyMe)   2023-01-08 01:04:00
Memory barrier 需要读一下 ISA 关于MMU 的部分和指令集里barrier 相关的指令,再配合应用的场景
作者: OriginStar   2023-01-08 10:27:00
https://imgur.com/sRT1HBZhttps://imgur.com/G6lq5NJ贴图是Volume 3A: System Programming Guide与Volume 1: Basic Architecture 一部分内容如果原PO的疑问是为何要使用某个指令,可以去K一些CPU发展的书籍或文章
作者: jj0321 (JJ与你倒数唷)   2023-01-08 11:09:00
作者: bnd0327 (阿噗噗)   2023-01-08 11:40:00
已经进去了就不用自己吓自己,都是人写出来的扣
作者: hackfox (自家朘仔歪,嫌人尿桶漏)   2023-01-08 12:18:00
你这症头多code review几遍就好了,你要的不是学习,而是经验
作者: GoalBased (Artificail Intelligence)   2023-01-08 12:50:00
你学数学的时候 问题就不出来是多看几本书 还是多写几次
作者: dmeiki (熊麻吉)   2023-01-08 13:30:00
Jserv的课。
作者: jasonwung (路人JJ)   2023-01-08 22:15:00
memory barrier可以参考这个#1WzRShDV (C_and_CPP)
作者: a27417332 (等号卡比)   2023-01-09 02:39:00
推楼上,其实那些东西基本原理就是学校教过的忘记的话可以去找一些计算机结构的课程来补
作者: brightest (fff)   2023-01-09 07:52:00
Arm architecture reference manual
作者: leolarrel (真.粽子无双)   2023-01-09 09:52:00
为什么这样程度的人可以在猪屎屋工作?
作者: gR7P4zXH (tpn7gpdx)   2023-01-09 11:07:00
楼上粗暴
作者: newking761 (J三小)   2023-01-09 12:16:00
因为现在没得挑人啊
作者: pacino (carry me)   2023-01-09 12:18:00
好奇,有人在学校学的可以无缝接轨?
作者: NCTUFAIWEN (交大废文王子)   2023-01-09 12:19:00
callback写法就只是经验而言,直接复制贴上也可以动cache知识如果薄弱成这样的话...应该回去K计组吧==
作者: labbat (labbat)   2023-01-10 00:31:00
怎么没有人提risc-v
作者: snaketsai (さいでんし)   2023-01-10 22:00:00
xv6 RISC-V book
作者: lovebridget (= =")   2023-01-10 23:49:00
不重要 都是by case 就照那包code写法写就对工作大部分都改值而已 不应该也不可以大改你去问写的前辈 假设还没离职 多半也照着写而已
作者: labbat (labbat)   2023-01-11 00:45:00
连编译工具都传10年同版本没有变,变革是应该的
作者: OnlyRD (里巷人)   2023-01-11 21:15:00
不就基本的Linux kernel development & LDD3 看一遍概念就都有了?细节的部分你就google一下就好啦,网络上一堆论坛跟分享。剩下硬件相关要深入,spec拿出来k,都有写,懒一点至少application or development guide要看啊。
作者: askacis (ASKA)   2023-01-20 12:38:00
Linux kernel 是你最好的老师

Links booklink

Contact Us: admin [ a t ] ucptt.com