我正在尝试学习 Linux 系统编程,哪本是最好的学习这本书?
慢系统调用和快系统调用有什么区别?我了解到如果进程捕捉到一些信号,慢系统调用会阻塞,因为捕捉到的信号可能会唤醒被阻塞的系统调用,但我不能完全理解这种机制。任何例子将不胜感激。
我正在寻找一个在线课程,类似于涵盖 Linux 系统编程的伯克利和斯坦福课程。可以使用史蒂文斯(带有一些涵盖 linux 特性的补充材料)作为文本的课程(注意:可以使用不使用)。
目的:我已经通读了史蒂文斯的大部分内容——介于 1/3 和 2/3 之间。本质上,我想尽可能轻松地填补空白。一组视频讲座似乎是最好的方式。但不是一些 youtube dweeb 试图表明他可以系他的 Linux 鞋带。[1]
[1]并非所有的 youtube 条目都是这样,但是您必须费力费力才能找到有价值的条目。除非你运气好。
假设
是否有允许这样的系统调用/文件系统?
如果没有,使用btrfs_clone(此处提到)以及如何模仿这种行为是个好主意吗?
我对 linux 系统编程只有一个非常基本的想法。我没有使用linux系统编程做过任何真正的项目。在我现在的公司,我做系统管理员类型的工作,但我对 Linux 系统编程更感兴趣。我想自己做一些项目,以便在我申请其他公司的工作时可以将这些项目放在我的简历中。请告诉我是否有任何项目可以通过做一些真正的编程来学习更多的 linux 系统编程。
请注意,我只有 C 编程经验,没有 Linux 系统编程经验。但我对 linux 系统编程非常了解。
谢谢。
有没有一种简单的方法可以找出 C 函数声明在哪个头文件中?cd进入/usr/include并运行 ( grep -E 'system.*\(' *.h -R) 需要一些反复试验,但没有更简单的方法来做到这一点吗?
有人可以用一种易于理解的方式解释类 Unix 系统中内存映射的概念(通过 mmap() 系统调用实现)吗?我们什么时候需要这个功能?
我正在努力思考贝壳如何移动屏幕光标(移动输入箭头键等)。
我已经做了很多测试,但我没有发现任何允许在终端中移动屏幕光标的系统调用。这是使用特定的终端扩展完成的吗?如果是这样,是否有任何文档说明如何为 xterm 实现这一点?
这让我发疯了,感谢您对此的任何启发。
C 库提供了 write()、read()、open() 等函数,我们可以在 C 程序中使用它们来进行系统调用。在哪里可以找到这些函数的源代码?
system-calls ×3
c ×2
architecture ×1
books ×1
command-line ×1
filesystems ×1
linux ×1
memory ×1
programming ×1
shell ×1
terminal ×1