Linked by bcavally on Mon 21st Dec 2009 17:18 UTC
BeOS & Derivatives Today there are many operating systems available. Every vendor or community round it tries to make it as good as possible. Having different goals, different legacy and different cultures, they succeed in it more or less. We (end users) end up with big selection of operating systems, but for us the operating systems are usually compromise of the features that we would like to have. So is there an operating system that would fit all the needs of the end user? Is is the BeOS clone Haiku?
Thread beginning with comment 400660
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: Legacy architecture == bad?
by malxau on Tue 22nd Dec 2009 09:33 UTC in reply to "RE: Legacy architecture == bad?"
malxau
Member since:
2005-12-04

What people like you forget is that those very smart computer engineers were making decisions based on completely different computing needs and hardware. For example I really doubt they would build an OS today with a shared library system when 1TB drives can be had for $100.


If the size of code on disk were the only issue, that may be valid. However, the reality is more nuanced. Unix was not born with shared libraries - they actually arrived there later (mid 90s), and arrived largely to reduce RAM footprint, since multiple processes can now share the same code pages.

Today shared libraries (or DLLs or frameworks) largely exist to minimize servicing problems. If a security bug is found in one component, a shared library enables it to be patched once. Static linking results in the same patch being issued multiplicatively.

Although shared libraries aren't distributed as part of applications as much as they used to be, this is really a reflection of operating systems/distributions incorporating more functionality themselves, so that applications distribute less. The basic architecture of shared libraries + smallish program specific code hasn't changed in a long time.

Reply Parent Score: 2

strcpy Member since:
2009-05-20

The basic architecture of shared libraries + smallish program specific code hasn't changed in a long time.


Yes it has. Like already mentioned, the use of shared libraries is at its best when too much is not shared. But today your typical GUI application can easily depend on at least twenty libraries. For laughs, run ldd for say Firefox.

Edited 2009-12-22 09:47 UTC

Reply Parent Score: 2

nt_jerkface Member since:
2009-08-26

Unix was not born with shared libraries - they actually arrived there later (mid 90s), and arrived largely to reduce RAM footprint, since multiple processes can now share the same code pages.

Unix has had shared libraries before the mid 90s, but I'm guessing you mean the repository systems that offer a greater level of management. RAM is also no longer an issue when the typical notebook comes with 2 gigs.


Today shared libraries (or DLLs or frameworks) largely exist to minimize servicing problems.


They require far more maintenence than software distribution systems that rely on developers to provide a self-installing executable. They also aren't as reliable for application stability.


If a security bug is found in one component, a shared library enables it to be patched once.


The corollary is that if a security bug isn't found it can be exploited in multiple applications. However a security breach from an exploit in a common library is rare. It's far more likely to exist in the main executable. Furthermore the repository system presents a security risk since a security update can be delayed until dependency issues are resolved. Allowing multiple versions of a program is also a problem.

The main benefit of the repository system is that software is provided to the user from a trusted source but the shared library aspect isn't needed to achieve this.


The basic architecture of shared libraries + smallish program specific code hasn't changed in a long time.


You would describe Firefox and OpenOffice as having smallish program specific code?

I'm not sure why people still defend the shared library system when its benefits are so limited on modern machines. It's a mediocre system at best and a nightmare for users at worst. Users should not have to get on a forum to ask for help in fixing Firefox after it has been broken from an upgrade.
http://forums.opensuse.org/network-internet/422267-firefox-broken-a...

Linux distros should look to GoboLinux as an example of how to move away from the shared library system:
http://www.glenscott.co.uk/2008/10/22/gobolinux-proves-that-amigaos...

Reply Parent Score: 2