Are 'good' designs really worthwhile?

Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
User avatar
lollynoob
Member
Member
Posts: 150
Joined: Sun Oct 14, 2007 11:49 am

Are 'good' designs really worthwhile?

Post by lollynoob »

Hey.

I've been wondering lately, how long has it been since operating systems were designed to be operated? The biggest focus I've seen on this forum (aside from "how do i computer the boot" type questions) seems to be on security. Security in the sense of things like paging and memory protection (and maybe on a more advanced level, file permissions and other Unix things). But with all this development on how to put applications in white padded rooms when they execute, I've yet to see any developments on how to make the operating system more usable. Now by usable, I don't mean things like whiz-bang graphics or point-n-click menus (which are arguably more confusing than a text console); I mean general usability. I mean usability in the sense that when I install a program, change a configuration setting, or run a package manager, I don't have to enter my root password at every step; in the sense that I don't have to reboot my computer for every driver (and in some cases, software) installation. I mean usability for programmers as well; usable in the sense that to make a little box on the screen I don't have to write a 200-line base of code (win32, I'm looking at you) before I actually start my own program; usable in the sense that if I want to make a game, I shouldn't have to use someone else's API to make it. If I, as a programmer, want to use the screen as an array of pixels, I should damn well be able to.

Now, DOS did this. A VGA screen mode was one "int 10h" away, the hardware was left open to be accessed by user programs, and (gasp) when programs screwed up, they could screw up a lot of things; now, people generally think it had a horrible design that should have died earlier than when it did. But those people are missing something. A lot of users loved DOS. Sure, there were some gripes, but the volume of those compared to those regarding windows 3.1, 95, 98, and onwards is tiny at best. Overall, the end-users loved their C:\>. Isn't that what's important? I guess not.

Memory protection was developed to save users from badly written programs. How about we, as operating system and software developers, save them from awful programs by not writing them?
Pyrofan1
Member
Member
Posts: 234
Joined: Sun Apr 29, 2007 1:13 am

Post by Pyrofan1 »

Memory protection was developed to save users from badly written programs. How about we, as operating system and software developers, save them from awful programs by not writing them?
every hear of malware? A malicious program on an OS that has no memory protection could access and corrupt the kernel's memory or that of another program.
User avatar
lollynoob
Member
Member
Posts: 150
Joined: Sun Oct 14, 2007 11:49 am

Post by lollynoob »

every hear of malware? A malicious program on an OS that has no memory protection could access and corrupt the kernel's memory or that of another program.
Since when is it the operating system's job to make sure its users don't run britny_spers_naked.jpg.exe? I don't feel the need help stupid users; if anything, malware will weed them out. To that same effect, guns should have muzzle protection so you can't shoot yourself in the mouth.
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Post by JamesM »

lollynoob wrote:
every hear of malware? A malicious program on an OS that has no memory protection could access and corrupt the kernel's memory or that of another program.
Since when is it the operating system's job to make sure its users don't run britny_spers_naked.jpg.exe? I don't feel the need help stupid users; if anything, malware will weed them out. To that same effect, guns should have muzzle protection so you can't shoot yourself in the mouth.
If you're not going to provide malware protection in your OS, your OS will not be considered 'usable' by any means.
User avatar
01000101
Member
Member
Posts: 1599
Joined: Fri Jun 22, 2007 12:47 pm
Contact:

Post by 01000101 »

[edit] oops, JamesM got there before me lol [/edit]
Since when is it the operating system's job to make sure its users don't run britny_spers_naked.jpg.exe? I don't feel the need help stupid users; if anything, malware will weed them out. To that same effect, guns should have muzzle protection so you can't shoot yourself in the mouth.
then you will never create a successful mainstream OS.
The end.

if you provide no protection, why will someone want to use an OS that is just asking to be infected by every little script on the net. Also, what happens when a bug occurs? you can't possibly weed out EVERY bug from the start, and if a bug (eg: buffer overflow) occurs, you have no memory protection to stop it from doing exactly that; overflowing into other process space or overwriting crucial execution code.
User avatar
lollynoob
Member
Member
Posts: 150
Joined: Sun Oct 14, 2007 11:49 am

Post by lollynoob »

why will someone want to use an OS that is just asking to be infected by every little script on the net.
Sounds a bit like windows to me. There will always be ways to exploit operating systems; I've just decided to not spend my time writing "gotcha, lol!"s for malicious software.
Also, what happens when a bug occurs? you can't possibly weed out EVERY bug from the start, and if a bug (eg: buffer overflow) occurs, you have no memory protection to stop it from doing exactly that; overflowing into other process space or overwriting crucial execution code.
Hopefully, programmers will check for things like buffer overflows before they release their software. It's not my job, as the kernel developer, to account for the mistakes of other people.

Granted, all of this has no way of being successful in the "real world," but I just figure it's the way things should be.
User avatar
bewing
Member
Member
Posts: 1401
Joined: Wed Feb 07, 2007 1:45 pm
Location: Eugene, OR, US

Post by bewing »

To some extent I agree with you, lollynoob.

I program win32, and I hate exactly the same thing you hate. Accessing the wrong pixel on the screen is not nearly as destructive as accessing another program's code or data areas, or an unprotected disk sector. It is not the OS'es job (or WINGDI's job -- or even my C/C++ <i>compiler's</i> job!) to protect me (as a programmer) from *myself*.

On the other hand, an OS that crashes is, by definition, unreliable. And worthless. The point of protecting apps from each other is to stop OS crashes. This *is* important. Virii are also an increasing irritation on the 'Net. An OS that can ignore them would make its users happy.

I completely disagree that a secure OS is impossible. It is rather easy in fact. It is just very had to make it secure *and* efficient enough to be usable.

The people who liked the DOS c:\> prompt were technophiles. They were not 85% of the population. It takes a gui to make a computer usable for a technophobe. Everyone here is very happy typing in a grep command into a cygwin "DOS" window, as one of 15 windows, on a WinXP Pro machine. You are preaching to the choir on that one.

But there are two major points:
1) Each of us does have their own ideas about how to make their OS more usable -- for users and programmers. But those ideas are not the ones we discuss. Because we aren't sure if they will work or not; and because that is something you can only decide after you've been actually using the finalized OS for a few years (shall we say, that stage is a ways away for most of us).

2) Major new innovations in usability are the "killer apps" of OS design. They only happen once every few decades. For you to expect to see several such ideas floating around a forum like this is unreasonable. :wink:
User avatar
Dex
Member
Member
Posts: 1444
Joined: Fri Jan 27, 2006 12:00 am
Contact:

Post by Dex »

@lollynoob, I agree with you, its like putting bar's on your house windows so burglars do not rob you, but i like my house windows without bar's, yes its not as safe as bar's, but i do not want to live in a prison.

That why my OS does not have any protection, just like the XBOX
http://www.extremetech.com/article2/0,1 ... 116,00.asp
And i would say the xbox was successful and from all the homebrew thats been made, i do not see many virus.

The number of virus for the OS, are proportioned to the number of user's.
That meens hobby OS's should be the safest OS's out there.
User avatar
lukem95
Member
Member
Posts: 536
Joined: Fri Aug 03, 2007 6:03 am
Location: Cambridge, UK

Post by lukem95 »

..and by that standard, your os Dex is one of the insecurest on this forum ;)
~ Lukem95 [ Cake ]
Release: 0.08b
Image
User avatar
lollynoob
Member
Member
Posts: 150
Joined: Sun Oct 14, 2007 11:49 am

Post by lollynoob »

..and by that standard, your os Dex is one of the insecurest on this forum
It all depends on if you think security is important. Folks who like to turn their computer into some sort of fortress obviously aren't his target audience.
User avatar
JackScott
Member
Member
Posts: 1031
Joined: Thu Dec 21, 2006 3:03 am
Location: Hobart, Australia
Contact:

Post by JackScott »

Operating System design is all about tradeoffs.

For example, UNIX makes everything into a file. It's really simple. If you learn computers by rote, however, it makes it harder because configuring UNIX files is almost impossible. Making it easier for one person makes it harder for another.

On a broader scale, it's efficiency vs. security, etc. One can't argue that one is more important, they are all equally important (and equally difficult to perfect). So one HAS to make a choice. Dex chose to sacrifice security to make his OS simpler and faster.
User avatar
lukem95
Member
Member
Posts: 536
Joined: Fri Aug 03, 2007 6:03 am
Location: Cambridge, UK

Post by lukem95 »

lollynoob wrote:
..and by that standard, your os Dex is one of the insecurest on this forum
It all depends on if you think security is important. Folks who like to turn their computer into some sort of fortress obviously aren't his target audience.
i was actually complimenting him in disguise, by saying his OS has one of the most amount of users.

I care about security in my os, but not to the extent that some people will. The way i see it, i want to eliminate as many BoF's and other bugs as possible, and have memory/process protection. I will run my apps in ring 0 for now, but if (big if) i ever get enough users to warrant further protection, ring 3 wont be a hard transition.
~ Lukem95 [ Cake ]
Release: 0.08b
Image
User avatar
JackScott
Member
Member
Posts: 1031
Joined: Thu Dec 21, 2006 3:03 am
Location: Hobart, Australia
Contact:

Post by JackScott »

lukem95 wrote:I will run my apps in ring 0 for now, but if (big if) i ever get enough users to warrant further protection, ring 3 wont be a hard transition.
And kill half the programs that depend on directly interfacing with hardware? This happened to DOS...
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: Are 'good' designs really worthwhile?

Post by Brendan »

Hi,
lollynoob wrote:Memory protection was developed to save users from badly written programs. How about we, as operating system and software developers, save them from awful programs by not writing them?
As a programmer, would you prefer:
1) An OS that lets you know that you've got some sort of bug so you can find and fix it fast
2) An OS that silently lets you trash everything without letting you know you've got some sort of bug, so you can't find and fix the bug until several end-users have reported mysterious problems and you've spend several months trying to find it

People aren't machines - they make mistakes. If you want to save people from awful programs then you need something to catch these mistakes. The more mistakes you catch the better software will be.


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
User avatar
piranha
Member
Member
Posts: 1391
Joined: Thu Dec 21, 2006 7:42 pm
Location: Unknown. Momentum is pretty certain, however.
Contact:

Post by piranha »

every hear of malware? A malicious program on an OS that has no memory protection could access and corrupt the kernel's memory or that of another program.
Well, what if I am just making this kernel for me really, and only I intend to use it? I doubt that there will be a malware program for just my OS.

My kernel has some protection, and some security (permissions, memory protection and ring3) and thats it.

-JL
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
Post Reply