mike.irons@lynx.northeastern.edu (05/04/91)
Someone was asking about the compiler the Glenn mentioned. They want'ed to know what it was. I'll hazzard to guess (I don't know for a fact, but I'm pretty sure) that Dr T. compiled it with THE ACK. Not to be confused with what we call ACK. The later should really read ' The Minix C compiler that was made using the ACK'. ACK is a compiler making kit that runs on larger machines, such as the sun-stations we have here. Along with it is the source to several compilers (pascal, BASIC, C, occam) and the ability to cross-compile these languages to Minix. With the ACK comes the nice feature of not running into the 64K boundry like on the PC's. There is also a more 'heavy duty' optimiser with the ACK, so the executables will hopefully be smaller. On a different note. I just read the quote from the POSIX.1 spec that came over the net. It seemed to me that, though they didn't want to say how, that the #! TYPE feature should be implemented in those two exec calls. They wouldn't aspouce the #! convention, but did drop the hint. They seemes to be rater clear that this type of thing should be handled before the shell was called. In reletion to minix, I think it should be handled in the 'kernel' (really fs/mm ?) becouse of the slow fs and the lack of code sharing. There would be more delay with 1) exec fails 2) ship it off to sh 3) sh open and reads file 4) sh exec proper binary. This will produce a hole in memory. 2) open and read 1st two bytes. 3) execs proper binary. This produces no memory hole. This wouldn't be as much of a problem but, Minix doesn't move things around so memory holes can be a real pain. The FS is sloowww and the first requires the additional loading of the shell, since there is no code sharing. As such the performance factors alone would seam to dictate that the 'kernel' solution would be the best for _minix_ if it is left up the the designer by the POSIX.1 specs. What do other people think?? mike.irons@lynx.northeastern.edu acm118@dworkin.ccs.northeastern.edu PS - Is this getting out? I can't tell.