Live data from Hacker News

A dream of an ultimate OS (1995)

okmij.org

21–30 of 188 posts

Re: A dream of an ultimate OS (1995)

#21
post #8

> But it does not have to be this way. If a database engine is implemented as a core system service, along with simple tools to browse and modify database records, the gordian knot of system configuration files disappears. MacOS comes very close to this ideal, with ResEdit as this universal database editor. Or AS/400, which is more or less a SQL database.

I used to work with an AS/400, and never once thought of it as a database - sure, it had DB2 pre-installed, but I don't see how that makes the OS itself a database?

Re: A dream of an ultimate OS (1995)

#22

I've been using osquery ( https://github.com/osquery/osquery ) for a while. It is neat and I can appreciate the idea of 'exposing OS interfaces as databases'.

osquery is cool. But, as far as I know, it doesn't expose the filesystem as a database, it is closer to /proc-as-a-database. (osquery can monitor specific files, in particular security-sensitive files, and expose events related to those files in SQL tables; but I don't think that facility is scalable from certain specific files to the entire filesystem.)

Re: A dream of an ultimate OS (1995)

#24
post #8

> But it does not have to be this way. If a database engine is implemented as a core system service, along with simple tools to browse and modify database records, the gordian knot of system configuration files disappears. MacOS comes very close to this ideal, with ResEdit as this universal database editor. Or AS/400, which is more or less a SQL database.

Or Windows with the registry. Wait...

But is ”uses a database” really the same thing as “based on a database for everything” as outlined in the article’s vision?

Re: A dream of an ultimate OS (1995)

#26
post #18
post #13

My ultimate OS is Linux, but it's rock stable, supports all hardware and runs OSX and Windows software natively. Heh

As an OS I agree, but the desktop experience leaves a lot to be desired. I'm currently trying to figure out how to properly drive a 4K monitor with my laptop and not have it end up lagging. Supposedly hardware acceleration is enabled on Firefox, but even trying to play even a 1080p YouTube video drops frames. On Windows it is buttery smooth, so it's not a hardware issue. Don't even get me started about scaling... (Cu…

It's not actually, enabled. It says that it is, but it's really not. It's still using your CPU to decode 4K video.

https://www.phoronix.com/scan.php?page=news_item&px=Chrome-N...

https://bugzilla.mozilla.org/show_bug.cgi?id=1210726

https://wiki.archlinux.org/index.php/Hardware_video_accelera...

Re: A dream of an ultimate OS (1995)

#27
> Macintosh definitely stands out in this respect. Many similar functions within MacOS are accomplished by exactly the same action (e.g., removing is by dragging into trash, opening is by double-clicking).

Really bad example here IMO. All OSes have the concept of opening by double-click. And OSX is not consistent about dragging to trash, eg, can you drag an open browser window to trash? If yes, what does that do? Does it delete the loaded web page from your computer? Or does it leave bits of it in various caches? Or does it delete the browser from your computer? Or does it delete the content from wherever it is a stored (an email in gmail)?

Re: A dream of an ultimate OS (1995)

#29
post #17

I can sorta agree; a database with tables and folders would be a much more useful basis for an operating system. After all, most programs will read and parse small configuration files. With a database it becomes necessary. Windows sorta does that with the Registry but A) the registry isn't the filesystem, B) the registry is a filesystem on top of NTFS and C) the registry sucks. If the Registry had the power of,say, P…

The Registry could have been a lot better.

It has no schema. Imagine if it had some sort of schema, declaring what sub-keys and values are allowed under each key. Imagine if the schema was self-documenting, with each key/value declaration in the schema had an associated description explaining what it was for.

Imagine if it had richer data types. For example, a "link" type, in which a value actually has the name of another key. If you try to delete the target, either it doesn't let you, or it sets the value to some sort of null value. (Basically, something like foreign keys in a relational database.) And an index to quickly find "back-references" (show me everything that points to this key.)

The registry should have included a database of installed packages/applications, and every key should have been marked with what package/application owns it, along with some sort of indexing to make it quick to find everything a package/application owns. Application uninstalls would have been a lot cleaner, and issues with apps leaving behind junk in the registry avoided.

Transactions: This was added in Windows Vista. But it could have been there from the beginning.

OTOH, remembering the registry was originally implemented in Windows 3.1, which had minimum system requirements of a 286 with 1MB of memory, maybe my suggestions above just wouldn't have been feasible.

Re: A dream of an ultimate OS (1995)

#30
post #8

> But it does not have to be this way. If a database engine is implemented as a core system service, along with simple tools to browse and modify database records, the gordian knot of system configuration files disappears. MacOS comes very close to this ideal, with ResEdit as this universal database editor. Or AS/400, which is more or less a SQL database.

> If a database engine is implemented as a core system service, along with simple tools

Windows has it, though user-level tools are lacking. https://docs.microsoft.com/en-us/windows/win32/extensible-st...

Post reply on HN