Live data from Hacker News

Minoca OS: A new open source operating system

blog.minocacorp.com

91–100 of 196 posts

Re: Minoca OS: A new open source operating system

#91
post #78
post #57

Earlier quoted context omitted.

I don't think it's lack of confidence. It's just a realistic acknowledgement that it's a small start and in fact was unlikely to be useful. But he wanted feedback on how to make it useful. I think Linus is just a practical person who is good at assessing reality. He doesn't get caught up in grand visions without action. I don't think he is holier than thou now either. He's just busy and forcefully trying to get contr…

Good at assessing reality?? The same Linus that fundementally did not believe in source code management for what 20? Years because it made developers "soft"!?

Did the kernel work for those 20 years? Are git and bitkeeper fundamentally different than his options at the time?

I would consider the possibility that he knows something that you don't.

Re: Minoca OS: A new open source operating system

#92
post #73
post #26

>Under the hood, Minoca contains a powerful driver model between device drivers and the kernel. The idea is that drivers can be written in a forward compatible manner, so kernel level components can be upgraded without requiring a recompilation of all device drivers. This sounds really smart and it looks great overall <3

That's the "port driver"+"mini port driver" model of Windows.

Not surprising considering the Minoca founders both worked on the Windows kernel team, according to Linked In. :)

Re: Minoca OS: A new open source operating system

#93
post #83

I'm very excited about this! Minoca is an interesting system, and I applaud any attempt to make driver-writing less inherently horrible. Minoca OS has been around for a while, but the news is that they're GPLv3. I think that's a great thing! The MIT license is good for software that wants to permeate through everything , but for building a community, the GPL is a good idea. It seems that for any operating system to b…

> It seems that for any operating system to be successful, it has to carry around POSIX compatibility like an extremely expensive entry pass. Curious - what are your main objections with POSIX? Is there another system you prefer?

The best thing about POSIX at this point is back compatibility, nothing to be sneered at!

But it carries a lot of (in retrospect) bad habits and decisions from the 60s and 70s as well as a tendency to redundancy due to some competing standards that were unified and need for some back compatibility.

Now not everyone agrees on what is good and what is bad, so some experimentation in this area is good for everyone. Examples of what bother me include the ludicrousness of ioctl(), messed up / redundant semaphore semantics, ditto for IPC, primitive memory mgmt semantics, fork() -- a great hack for its time but since it's 99.9999% of the time followed by exec() should be split into separate address space and thread management), outdated and simultaneously simplistic and baroque security model(s), and various IO issues to many to go into in a HN comment.

But my loathed feature is undoubtably someone else's sacred cow. As I said, letting more flowers bloom is in everybody's interest.

Re: Minoca OS: A new open source operating system

#94
post #78

Earlier quoted context omitted.

Good at assessing reality?? The same Linus that fundementally did not believe in source code management for what 20? Years because it made developers "soft"!?

He (a) changed his mind, (b) wrote git.

How he reconciled (b) with his generational ignorance of SCM would be interesting to hear from him.

(a) better late than never!

Re: Minoca OS: A new open source operating system

#95

I'm very excited about this! Minoca is an interesting system, and I applaud any attempt to make driver-writing less inherently horrible. Minoca OS has been around for a while, but the news is that they're GPLv3. I think that's a great thing! The MIT license is good for software that wants to permeate through everything , but for building a community, the GPL is a good idea. It seems that for any operating system to b…

Seems to me like POSIX compatibility is actually a cheap pass that gives you access to a huge software environment. Right on the homepage they mention already having packages for Python, Ruby, Git, Lua, and Node... would that, and thousands of other packages, be feasible without a workable POSIX layer?

> would that, and thousands of other packages, be feasible without a workable POSIX layer?

I think my problem is the core concept. POSIX stands for Portable Operating System Interface (and X stands for Xtreme?). In an age where we spin up entire operating systems to start a single application, why are we defining portability at the operating system level when network portability works so much better?

Keep in mind, this is also an age where systems like Qubes OS can make separate VMs cooperate with each other.

The only sell for POSIX I can think of is performance, and I don't know if I buy it anymore. Why do programs have to be cross-compatible when the concept of an operating system no longer means owning the hardware?

Re: Minoca OS: A new open source operating system

#96

Earlier quoted context omitted.

Seems to me like POSIX compatibility is actually a cheap pass that gives you access to a huge software environment. Right on the homepage they mention already having packages for Python, Ruby, Git, Lua, and Node... would that, and thousands of other packages, be feasible without a workable POSIX layer?

> would that, and thousands of other packages, be feasible without a workable POSIX layer? I think my problem is the core concept. POSIX stands for Portable Operating System Interface (and X stands for Xtreme?). In an age where we spin up entire operating systems to start a single application, why are we defining portability at the operating system level when network portability works so much better? Keep in mind, th…

> and X stands for Xtreme?

The X in POSIX is for unIX. Kinda like a pun on all the *nix things that were floating around back then (Xenix, Minix, AIX, Sinix, Ultrix, IRIX, ...)

Re: Minoca OS: A new open source operating system

#97
post #84

Earlier quoted context omitted.

Why the initial capital on local variable names? I don't think I've ever seen that in C code. (Usually types and exported functions are capitalized.) It kind of makes the code look like Pascal. Nothing wrong with that, really.

This looks like the NT kernel coding style, especially with the pointless typedefs for things like PVOID and the PascalCased function names with prefixes like `IopPerformIoOperation`. I looked up the Minoca founders on Linked In and, behold, they both worked as engineers on the Windows NT team. :)

NT source code typically (and I say typically, because it's a mish-mash of tens of thousands of people's work over 35 years of development) has local variable names in first-letter-lower camel case. If these guys worked on Windows, it's kind of surprising they didn't follow that convention.

Re: Minoca OS: A new open source operating system

#98
post #93
post #83

Earlier quoted context omitted.

> It seems that for any operating system to be successful, it has to carry around POSIX compatibility like an extremely expensive entry pass. Curious - what are your main objections with POSIX? Is there another system you prefer?

The best thing about POSIX at this point is back compatibility, nothing to be sneered at! But it carries a lot of (in retrospect) bad habits and decisions from the 60s and 70s as well as a tendency to redundancy due to some competing standards that were unified and need for some back compatibility. Now not everyone agrees on what is good and what is bad, so some experimentation in this area is good for everyone. Exam…

Well, I'm not going to disagree except to say that there are posix_spawn and vfork. I don't think anyone thinks the IPC solutions on offer are great but perhaps we should lower our expectations on that.

Re: Minoca OS: A new open source operating system

#99
post #93
post #83

Earlier quoted context omitted.

> It seems that for any operating system to be successful, it has to carry around POSIX compatibility like an extremely expensive entry pass. Curious - what are your main objections with POSIX? Is there another system you prefer?

The best thing about POSIX at this point is back compatibility, nothing to be sneered at! But it carries a lot of (in retrospect) bad habits and decisions from the 60s and 70s as well as a tendency to redundancy due to some competing standards that were unified and need for some back compatibility. Now not everyone agrees on what is good and what is bad, so some experimentation in this area is good for everyone. Exam…

I think the main issues with POSIX are:

- (Correct) IO is ridiculously non-portable and painful in so many ways that it isn't even funny anymore

- Locks are ridiculously non-portable and painful to the point where you're better off just using "mkdir"

- POSIX is stuck in the "everything is bytes and we slap an encoding on it some of the time" era thinking. This makes it painful and hard to implement proper text handling in many instances. This also leads to a lot of bad behaviours.

- Memory management is IMHO lacking from a user space perspective. For example, it's practically impossible to implement a cooperative memory cache on this. To the best of my knowledge no OS has the necessary interfaces, though.

- ioctl as you mentioned

- SysV/POSIX IPC is so bad that no one ever bothered actually using it for anything

- Personally I think it's a misleading API (conceptually, see above, the text example for example) almost to the point of deceptiveness. It's very easy to write correct looking programs that behave far from intended, especially in edge cases. IMHO code using it is practically unreviewable in everything but the most trivial cases. Non-portability is practically guaranteed, you have to test every platform. Portable code usually turns out to be quite ugly due to platform deficiencies and minor API incompatibilities.

Re: Minoca OS: A new open source operating system

#100
post #39

Perhaps a stupid question but where is the architecture doc? (I think that should be the starting point, especially if you want help from a community.) I'm also interested in what theoretical results from the last 25 years are being used. Some references to papers would be nice. Since the biggest hurdle is separation and thus security, I can imagine the OS has an embedded theorem prover, but I see no mention of it.

This link was posted elsewhere in the thread:

http://www.minocacorp.com/documentation/developers/knowledge...

Post reply on HN