【 在 JulyClyde (七月) 的大作中提到: 】
: 标 题: Re: 问几个 kbs 代码的问题
: 发信站: 水木社区 (Tue Apr 8 09:07:26 2008), 转信
:
:
: 【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】
: : 在看 atppp 的那篇 kbsIntro.txt,写的挺好,有些疑问,版上有人知道的话
: : 指点一下,省的我去看代码了。
: : * 版面文章索引文件有 .DIR, .JUNK,那么删除一个帖子时是把 .DIR 中
: : 对应的 fileheader 去掉,后头索引项往前挪吗?我觉得不大可能是这样,
: : 但 fileheader 里头 FILE_DEL 注释说“版主标记删除 X”,那么不是“已删除
: : 标记”了。
: : * 我原先以为用户登录就是用的 login 或者 ssh,然后派生个 bbs 作为 shell,
: : 看 INSTALL.debian 后才知道有 bbsd, sshbbsd,请问自己写 telnetd 和 sshd
: : 有什么好处?
: 可以自定义身份验证机制。不过你也可以用bbsd -i(inetd模式)配合ssh
不是这个原因,用自己的 telnetd 有各种好处,一个是省了一次 fork, 一个是省了一对 pty 设备,自己的 sshd 的好处同上,而且还省一个 sshd 进程,防止 ssh 可能有的其他强大功能带来安全问题,比如有些人是不知道需要禁止掉 ssh 执行命令或者 port forward 的。
: : * kbsIntro.txt 里提到代码里用了 sysv shm,这个跟 tmpfs + mmap 相比
: : 有什么好处?apue 里提到 sysv shm 有数目和大小限制,而且 sysv 的那套
: : IPC 机制在进程退出时是不会自动释放的,所以我觉得尽量不用为好。
这个分情况讨论,如果 mmap 不带 tmpfs 使用,你会发现进程退出的时候系统会强制刷写所有的 dirty page, 造成很大的开销。带 tmpfs 的话将就可以忍,但使用起来也很麻烦,启动时候要从硬盘上拷贝到 tmpfs, 中间为了防止断电或者死机要定期拷贝回去,sysv shm 需要的工作量跟这个差不多,而且明显要少很多开销,因此一起看就很划算了,另外这里进程退出不自动摧毁 shm 的效果反而是我们所需要的。如果他退出了就销毁了对我们来说操作还挺麻烦。
: 所以有clearipc.sh这个脚本。大概是历史问题?
: : BTW,问这些不是说 kbs 的实现不好怎么的,我其实是 unix 编程初手,kbs
: : 的做法跟我凭空想的很不一样,不知道里头藏了什么玄机。
:
:
: --
: ╱╲ █ 冷咖啡离开了杯垫 ◣
: ╰╯ █ 我忍住的情绪在很后面
: ξ █ 拼命想挽回的从前
: █D █ 在我脸上依旧清晰可见
: ┳━━━━━┳ ●█ ——周杰伦《不能说的秘密》
: ┃ ┃ ︵■█
:
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 124.207.144.*]
--
FROM 220.181.38.*