一道操作系统问题大家探讨一下

tcl_tk 2001-11-03 07:12:09
取自坦南保姆的操作系统习题.
题目: 请写一个shell程序,其功能是产生一个内容为一个整数序列的文件.要求它先读取文件中的最后一个整数,将其加1,然后将这个新整数追加到文件的末尾.在系统前台和后台同时运行它并使用相同的文件名.
问题:
1. 在因为竞争而造成的故障发生之前他能运行多久?请对其修改以防止发生竞争.(提示:使用 ln file file.lock将数据文件加锁)
2. 请问使用是一种很有效的加锁机制吗,为什么?
...全文
76 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Last_Dodo 2001-11-05
  • 打赏
  • 举报
回复
我不知道”坦南保姆的操作系统“是啥。就一般而言:
1。 如无锁,无法确定它能运行多久。因为在单CPU和多CPU上的结果可能不同。操作系统的time slice长度也会影响结果,等。锁的关键是查锁和取锁(check and set lock)必须是一道操作不能分开(atomic operation).
2. 不明白你的问题。可能是我不熟悉中文机算计术语。你是问:是否“ln file file.lock”是很有效的加锁机制?我上面说过check and set lock必须是atomic的"ln file file.lock"不一定满足这一点(again depends on operating system on "ln" operation. If "ln" operation is atomic, it is good way to abtain a lock).
somn 2001-11-04
  • 打赏
  • 举报
回复
“坦南保姆的操作系统”是什么书?
iProgram 2001-11-04
  • 打赏
  • 举报
回复
以前国产计算机防死锁的方法是奏一首“东方红”:)
tcl_tk 2001-11-04
  • 打赏
  • 举报
回复
这样的基础题都没人能回答吗? 来错地方了?

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧