推荐
书很好,不仅仅讲了所有的技术,而且讲到了技术发展的历史,我印象最深刻的就是讲调度算法那一节,从FCFS,SJF到STCF再到RR,最后到MLFQ,按照顺序讲到,提到前一个算法的缺陷以及后一个算法如何改进,并且在最开始使用metric去度量算法的优异,我第一次把所有这些算法都记住了,不像很多书籍只是列举算法细节而已。基本上所有的章节都是这样排列,这样的教科书很容易让人理解。
另外就是我在看书过程中收集到的一些笑话(我知道这很无聊,只因为看到笑话太多所以收集了),有些很冷,有些黑M$,还有些只有技术宅才能看懂吧:
http://pages.cs.wisc.edu/~remzi/OSTEP/dialogue-concurrency.pdf:
Professor: Well, imagine we have a peach –
Student: (interrupting) Peaches again! What is it with you and peaches?
Professor: Ever read T.S. Eliot? The Love Song of J. Alfred Prufrock, “Do I dare to eat a peach”, and all that fun stuff?
Student: Oh yes! In English class in high school. Great stuff! I really liked the part where –
Professor: (interrupting) This has nothing to do with that – I just like peaches. Anyhow, imagine there are a lot of peaches on a table, and a lot of people who wish to eat them. Let’s say we did it this way: each eater first identifies a peach visually, and then tries to grab it and eat it. What is wrong with this approach?
http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched-mlfq.pdf
[CS97] “Inside Windows NT”
Helen Custer and David A. Solomon
Microsoft Press, 1997
The NT book, if you want to learn about something other than UNIX. Of course, why would you? OK, we’re kidding; you might actually work for Microsoft some day you know.
http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched.pdf
For example, grocery stores commonly have a “ten-items-or-less” line to ensure that shoppers with only a few things to purchase don’t get stuck behind the family preparing for some upcoming nuclear winter.
http://pages.cs.wisc.edu/~remzi/OSTEP/dialogue-persistence.pdf
Professor: Ha! Yes. But persistence here means something else. Let me explain. Imagine you are outside, in a field, and you pick a –
Student: (interrupting) I know! A peach! From a peach tree!
Professor: I was going to say apple, from an apple tree. Oh well; we’ll do it your way, I guess.
Student: (stares blankly)
Professor: Anyhow, you pick a peach; in fact, you pick many many peaches, but you want to make them last for a long time. Winter is hard and cruel in Wisconsin, after all. What do you do?
http://pages.cs.wisc.edu/~remzi/OSTEP/vm-intro.pdf
In the early days, building computer systems was easy. Why, you ask? Because users didn’t expect too much. It is those darned users with their expectations of “ease of use”, “high performance”, “reliability”, and so forth that really have led to all these headaches. Next time you meet one of those computer users, thank them for all the problems they have caused.
http://pages.cs.wisc.edu/~remzi/OSTEP/vm-segmentation.pdf
[DD68] “Virtual Memory, Processes, and Sharing in Multics”
Robert C. Daley and Jack B. Dennis
Communications of the ACM, Volume 11, Issue 5, May 1968
An early paper on how to perform dynamic linking in Multics, which was way ahead of its time. Dynamic linking finally found its way back into systems about 20 years later, as the large Xwindows libraries demanded it. Some say that these large X11 libraries were MIT’s revenge for removing support for dynamic linking in early versions of UNIX!
http://pages.cs.wisc.edu/~remzi/OSTEP/dialogue-distribution.pdf
Student: Sounds interesting. Time to learn something for real?
Professor: It does seem so. Let’s get to work! But first things first ... (bites into peach he has been holding, which unfortunately is rotten)
http://pages.cs.wisc.edu/~remzi/OSTEP/vm-beyondphys-policy.pdf
[BNS69] “An anomaly in space-time characteristics of certain programs running in a
paging machine”
L. A. Belady and R. A. Nelson and G. S. Shedler
Communications of the ACM, 12:6, June 1969
Introduction of the little sequence of memory references known as Belady’s Anomaly. How do Nelson and Shedler feel about this name, we wonder?
http://pages.cs.wisc.edu/~remzi/OSTEP/file-implementation.pdf
[B02] “The FAT File System”
Andries Brouwer
September, 2002
Available: http://www.win.tue.nl/aeb/linux/fs/fat/fat.html
A nice clean description of FAT. The file system kind, not the bacon kind. Though you have to admit, bacon fat probably tastes better.
http://pages.cs.wisc.edu/~remzi/OSTEP/file-ffs.pdf
It should be noted that these heuristics are not based on extensive studies of file-system traffic or anything particularly nuanced; rather, they are based on good old-fashioned common sense (isn’t that what CS stands for after all?).
http://pages.cs.wisc.edu/~remzi/OSTEP/file-journaling.pdf
fsck Pronounced either “eff-ess-see-kay”, “eff-ess-check”, or, if you don’t like the tool, “eff-suck”. Yes, serious professional people use this term.
http://pages.cs.wisc.edu/~remzi/OSTEP/threads-sema.pdf
Because the value of the semaphore simply alternates between 1 and 0, this usage is sometimes known as a binary semaphore. Yes, this is something you just have to remember; life is unfair that way sometimes.
http://pages.cs.wisc.edu/~remzi/OSTEP/threads-sema.pdf
The problem is famous because it is fun and somewhat intellectually interesting; however, its practical utility is low. However, its fame forces its inclusion here; indeed, you might be asked about it on some interview, and you’d really hate your OS professor if you miss that question and don’t get the job. Conversely, if you get the job, please feel free to send your OS professor a nice note, or some stock options.
另外就是我在看书过程中收集到的一些笑话(我知道这很无聊,只因为看到笑话太多所以收集了),有些很冷,有些黑M$,还有些只有技术宅才能看懂吧:
http://pages.cs.wisc.edu/~remzi/OSTEP/dialogue-concurrency.pdf:
Professor: Well, imagine we have a peach –
Student: (interrupting) Peaches again! What is it with you and peaches?
Professor: Ever read T.S. Eliot? The Love Song of J. Alfred Prufrock, “Do I dare to eat a peach”, and all that fun stuff?
Student: Oh yes! In English class in high school. Great stuff! I really liked the part where –
Professor: (interrupting) This has nothing to do with that – I just like peaches. Anyhow, imagine there are a lot of peaches on a table, and a lot of people who wish to eat them. Let’s say we did it this way: each eater first identifies a peach visually, and then tries to grab it and eat it. What is wrong with this approach?
http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched-mlfq.pdf
[CS97] “Inside Windows NT”
Helen Custer and David A. Solomon
Microsoft Press, 1997
The NT book, if you want to learn about something other than UNIX. Of course, why would you? OK, we’re kidding; you might actually work for Microsoft some day you know.
http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched.pdf
For example, grocery stores commonly have a “ten-items-or-less” line to ensure that shoppers with only a few things to purchase don’t get stuck behind the family preparing for some upcoming nuclear winter.
http://pages.cs.wisc.edu/~remzi/OSTEP/dialogue-persistence.pdf
Professor: Ha! Yes. But persistence here means something else. Let me explain. Imagine you are outside, in a field, and you pick a –
Student: (interrupting) I know! A peach! From a peach tree!
Professor: I was going to say apple, from an apple tree. Oh well; we’ll do it your way, I guess.
Student: (stares blankly)
Professor: Anyhow, you pick a peach; in fact, you pick many many peaches, but you want to make them last for a long time. Winter is hard and cruel in Wisconsin, after all. What do you do?
http://pages.cs.wisc.edu/~remzi/OSTEP/vm-intro.pdf
In the early days, building computer systems was easy. Why, you ask? Because users didn’t expect too much. It is those darned users with their expectations of “ease of use”, “high performance”, “reliability”, and so forth that really have led to all these headaches. Next time you meet one of those computer users, thank them for all the problems they have caused.
http://pages.cs.wisc.edu/~remzi/OSTEP/vm-segmentation.pdf
[DD68] “Virtual Memory, Processes, and Sharing in Multics”
Robert C. Daley and Jack B. Dennis
Communications of the ACM, Volume 11, Issue 5, May 1968
An early paper on how to perform dynamic linking in Multics, which was way ahead of its time. Dynamic linking finally found its way back into systems about 20 years later, as the large Xwindows libraries demanded it. Some say that these large X11 libraries were MIT’s revenge for removing support for dynamic linking in early versions of UNIX!
http://pages.cs.wisc.edu/~remzi/OSTEP/dialogue-distribution.pdf
Student: Sounds interesting. Time to learn something for real?
Professor: It does seem so. Let’s get to work! But first things first ... (bites into peach he has been holding, which unfortunately is rotten)
http://pages.cs.wisc.edu/~remzi/OSTEP/vm-beyondphys-policy.pdf
[BNS69] “An anomaly in space-time characteristics of certain programs running in a
paging machine”
L. A. Belady and R. A. Nelson and G. S. Shedler
Communications of the ACM, 12:6, June 1969
Introduction of the little sequence of memory references known as Belady’s Anomaly. How do Nelson and Shedler feel about this name, we wonder?
http://pages.cs.wisc.edu/~remzi/OSTEP/file-implementation.pdf
[B02] “The FAT File System”
Andries Brouwer
September, 2002
Available: http://www.win.tue.nl/aeb/linux/fs/fat/fat.html
A nice clean description of FAT. The file system kind, not the bacon kind. Though you have to admit, bacon fat probably tastes better.
http://pages.cs.wisc.edu/~remzi/OSTEP/file-ffs.pdf
It should be noted that these heuristics are not based on extensive studies of file-system traffic or anything particularly nuanced; rather, they are based on good old-fashioned common sense (isn’t that what CS stands for after all?).
http://pages.cs.wisc.edu/~remzi/OSTEP/file-journaling.pdf
fsck Pronounced either “eff-ess-see-kay”, “eff-ess-check”, or, if you don’t like the tool, “eff-suck”. Yes, serious professional people use this term.
http://pages.cs.wisc.edu/~remzi/OSTEP/threads-sema.pdf
Because the value of the semaphore simply alternates between 1 and 0, this usage is sometimes known as a binary semaphore. Yes, this is something you just have to remember; life is unfair that way sometimes.
http://pages.cs.wisc.edu/~remzi/OSTEP/threads-sema.pdf
The problem is famous because it is fun and somewhat intellectually interesting; however, its practical utility is low. However, its fame forces its inclusion here; indeed, you might be asked about it on some interview, and you’d really hate your OS professor if you miss that question and don’t get the job. Conversely, if you get the job, please feel free to send your OS professor a nice note, or some stock options.
有关键情节透露