3 ms·
Which class/university was it? Any chance the materials are online? I'm actually writing my own shell now; I'd be interested to compare :) The fork/exec/pipe
by chubot 11y ago
Which class/university was it? Any chance the materials are online?
I'm actually writing my own shell now; I'd be interested to compare :)
The fork/exec/pipe/dup calls are definitely an unusual and powerful paradigm. I think too many programmers don't know this because we were brainwashed to make "portable" programs, and that's the least portable part of Unix.
- yolesaber 11y agoOperating Systems at Bard College, a decidedly not top tier CS school but I still learned a fair bit :) The materials, as far as I know, are not available online. But we used Tannenbaum's book which you can read for free here - http://stst.elia.pub.ro/news/SO/Modern%20Operating%20System%20-%20Tanenbaum.pdf http://stst.elia.pub.ro/news/SO/Modern%20Operating%20System%... Enjoy!
- brunoc 11y agoCS61 at Harvard covers that stuff, building your own shell (and memory management, etc) in C and it's an introductory class. There is a lot of hand holding of course but I really loved that class.
- yolesaber 11y agoHarvard? Never heard of it. Good school?
- hga 11y agoDoes not have an ABET accredited CS major, for what that's worth.
- chubot 11y agoThanks! Found it: http://cs61.seas.harvard.edu/wiki/2015/Shell http://cs61.seas.harvard.edu/wiki/2015/Shell This looks pretty comprehensive for an undergrad project actually... they have a grammar and everything, with pipes and redirects, which are definitely the most Unix-y concepts. And they talk about interrupts, although no user-defined signal handlers or anything. FWIW I ported the POSIX shell grammar to ANTLR, though I'm writing it in C++ (and prototyping the architecture in Python). ANTLR is actually incapable of expressing the lexer AFAICT... http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3...