Beginner Mistakes Example - was "what do you hate on current OS"

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!
Mikemk
Member
Member
Posts: 409
Joined: Sat Oct 22, 2011 12:27 pm

Beginner Mistakes Example - was "what do you hate on current OS"

Post by Mikemk »

I run Windows 7 - It can't run Macintosh software such as Xcode. That's why I'm trying to make an OS that can run anything.
Programming is 80% Math, 20% Grammar, and 10% Creativity <--- Do not make fun of my joke!
If you're new, check this out.
User avatar
bubach
Member
Member
Posts: 1223
Joined: Sat Oct 23, 2004 11:00 pm
Location: Sweden
Contact:

Re: What do you hate on the current OS that runs on your pc?

Post by bubach »

m12 wrote:I run Windows 7 - It can't run Macintosh software such as Xcode. That's why I'm trying to make an OS that can run anything.
Classic. If that was a realistic goal - don't you think that everybody would already have done it? Also, you don't seem to have the required knowledge to get a bootsector working, so you can:

a) get back to us in 50-70 years when you are done
b) read this, realize your mistake and try something realistic and suitable to your knowledge level. like printing a string in real mode.
"Simplicity is the ultimate sophistication."
http://bos.asmhackers.net/ - GitHub
Mikemk
Member
Member
Posts: 409
Joined: Sat Oct 22, 2011 12:27 pm

Re: What do you hate on the current OS that runs on your pc?

Post by Mikemk »

Perfectly possible, and it won't take forever either. PS I'm not looking to emulate systems, I'm looking to natively run formats, such as pe and whatever is in .dmg.
Programming is 80% Math, 20% Grammar, and 10% Creativity <--- Do not make fun of my joke!
If you're new, check this out.
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re: What do you hate on the current OS that runs on your pc?

Post by Solar »

I.e., you haven't even understood what you're talking about so confidently, you don't even realize the enormity of your fail, which is so utter and complete that I cannot even begin to put it into words.

Thanks, you really made my day.
Every good solution is obvious once you've found it.
User avatar
Griwes
Member
Member
Posts: 374
Joined: Sat Jul 30, 2011 10:07 am
Libera.chat IRC: Griwes
Location: Wrocław/Racibórz, Poland
Contact:

Re: What do you hate on the current OS that runs on your pc?

Post by Griwes »

m12 wrote:Perfectly possible, and it won't take forever either. PS I'm not looking to emulate systems, I'm looking to natively run formats, such as pe and whatever is in .dmg.
It will take forever. Take a look at Wine and ReactOS. Running executables from other OSes isn't just supporting their formats, but also API. Do you realize how complex and twisted the WinAPI is?

Read that "Beginner mistakes" page carefully, as it targets at people who "know better".

Also, programming is 10% math, 10% grammar/syntax and 80% creativity (yeah, and it sums up to 100%).


@Solar, :D
Reaver Project :: Repository :: Ohloh project page
<klange> This is a horror story about what happens when you need a hammer and all you have is the skulls of the damned.
<drake1> as long as the lock is read and modified by atomic operations
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re: What do you hate on the current OS that runs on your pc?

Post by Solar »

Solar wrote:...so utter and complete that I cannot even begin to put it into words.
OK, I'll try being actually helpful.

When a computer executes a program, there is machine code in memory. The operating system aims a CPU core at the entry address, which then starts executing the instructions from there onwards as fast as it can. Frequently, functionality will be used that isn't included in the program itself - system functions, GUI functions, library functions. For those, the thread of execution will take a detour through third party libraries, or the OS proper.

For that to work, the program's machine code must "know" where those other functions are. Since it cannot know that, it has to be told, and this happens while loading the program into memory: The program tells the OS which libraries and functions it is using, and the OS tells the program in turn where to find them (loading them first if necessary). This requires some "meta-information", in addition to the raw machine code itself, like the names of the libraries and functions, and where in the machine code they are accessed (so the OS can put the appropriate memory addresses in there). There are several ways how to add this meta-information to the machine code of a program. One of them is called "PE", and used for Windows programs. One is called ".dmg", and used for MacOS programs. One is called "ELF", and used for e.g. Linux programs.

So, let's say you write an OS that can "read" PE, .dmg, and ELF. You could, for example, load ELF "gcc" and figure out that it needs "linux-vdso.so.1", "libc.so.6" and "ld-linux-x86-64.so.2". Or you could load PE "AcroRd32.exe" and figure out that it needs "ntdll.dll", "kernel32.dll", "USER32.dll", "GDI32.dll" and a couple more...

...and at this point, it should dawn on you that you just blissfully ran right into a wall, rebounded, ignored bubach's comment that it might not have been a smart move, cried "I can do this, perfectly possible, won't take forever!", and ran into that wall again. You're not looking smart with that bump on your forehead.
Every good solution is obvious once you've found it.
Rudster816
Member
Member
Posts: 141
Joined: Thu Jun 17, 2010 2:36 am

Re: What do you hate on the current OS that runs on your pc?

Post by Rudster816 »

m12 wrote:Perfectly possible, and it won't take forever either. PS I'm not looking to emulate systems, I'm looking to natively run formats, such as pe and whatever is in .dmg.
Reminds me of the time when I wondered why I couldn't see a programs source code by opening up the .exe in Notepad. It's been a couple of days since then though....
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Re: What do you hate on the current OS that runs on your pc?

Post by Brynet-Inc »

Solar wrote:One is called ".dmg", and used for MacOS programs.
It's just a disk image, OS X makes extensive use of loopback mounting. The image contains the MachO executable (..no extension), data files, and shared libraries (dylib).
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re: What do you hate on the current OS that runs on your pc?

Post by Solar »

...and "ELF" could also refer to an object file that isn't executable at all. I think such fine print is lost on our candidate...
Every good solution is obvious once you've found it.
User avatar
Jezze
Member
Member
Posts: 395
Joined: Thu Jul 26, 2007 1:53 am
Libera.chat IRC: jfu
Contact:

Re: What do you hate on the current OS that runs on your pc?

Post by Jezze »

To go back on topic a bit.

There are so many things I dislike in operating systems.

I hate graphical applications. It seems like the user interface was created first and then data was applied to it. I want it to work the other way around - supply the data first and then afterwards apply the graphics. In this way I can apply whatever graphic I want (or no graphic for that matter) on the data as long as it is available to me which it often isn't. I want all resources of the computer to be accessible easily and in a uniform way to maximize interoperability between programs even at the cost of speed. And for god sake don't intermingle data with layout as they do with HTML. I wish I could browse all over the internet and it would all be consistent and all pages just looks and behave the same.

I hate when things are overly complex. As default make it as easy as possible and then you can apply whatever tweaks you want. When I plug my computer into the network I want all my other computers to recognize it immediately and I want all my configurations and all my stuff to be available to me as soon as I've identified myself. I don't want to know what computer my pictures from Christmas '96 is, they should be exactly at the same place no matter where I log in and I don't want this to be on some cloud where I have no control. I hate the term cloud.

I also hate when something behaves in a different manner every time I run it. Sometimes it is very quick to copy a file from one place to another and sometimes it seem to stall because at the same time some other program working in the background is doing something else like taking backups or whatever. I hate not knowing exactly what my computer is doing all the time. I hate having to wait for programs to open and I hate microdelays that really don't have a justified reason (like an internet connection). I hate proprietary software and software companies. I hate when standards are not met so something works in one program but not another (think browsers). I hate to buy new hardware every other year because an upgrade made everything slow and I hate when companies force upgrades on me because they stop supporting what I use. I hate when stuff is packed together rather than separated. I hate when things are hidden or obfuscated into eternity. I hate when my screen is filled with stuff I'm not interested in at the moment. I hate mouse interfaces. I hate drop shadows and glass-effects. I hate when programs that are 1% faster but 50% bigger in size or complexity. I hate popups. I hate window managers because they don't add anything.

As long as I'm on the topic I can say I hate mentality. I hate self-righteous narrow-minded programmers who are very good at arguing their case even if their opinions are totally pointless but not clever enough to see why and I hate trying to explain my viewpoint, both because I don't really care to argue anymore and I know they won't listen or understand anyway. I hate consumers because they don't understand they are getting screwed. I hate myself for sometimes being both of the previously mentioned categories.

I could go on forever. I basically hate everything.
Fudge - Simplicity, clarity and speed.
http://github.com/Jezze/fudge/
User avatar
Griwes
Member
Member
Posts: 374
Joined: Sat Jul 30, 2011 10:07 am
Libera.chat IRC: Griwes
Location: Wrocław/Racibórz, Poland
Contact:

Re: What do you hate on the current OS that runs on your pc?

Post by Griwes »

Jezze wrote:I could go on forever. I basically hate everything.
Seems so. Do you also hate having CPU and terminal that are faster than those from previous millenium? Your vision of utopia is monochrome land of keyboards and 80x25 text mode, I guess?
Reaver Project :: Repository :: Ohloh project page
<klange> This is a horror story about what happens when you need a hammer and all you have is the skulls of the damned.
<drake1> as long as the lock is read and modified by atomic operations
User avatar
Jezze
Member
Member
Posts: 395
Joined: Thu Jul 26, 2007 1:53 am
Libera.chat IRC: jfu
Contact:

Re: What do you hate on the current OS that runs on your pc?

Post by Jezze »

No I wouldn't say I'm a person who thinks everything was better before it is just that I think some trends or directions of software today is heading down a path I don't want to follow.

I wanted the previous post to be a bit of humorous but I think it just came off as being very bitter. =) As soon as I started writing it all just came flooding out and I got into a craze. Sorry about that =)

Edit: Yeah! 200 posts =)
Last edited by Jezze on Wed May 16, 2012 2:37 pm, edited 2 times in total.
Fudge - Simplicity, clarity and speed.
http://github.com/Jezze/fudge/
Nable
Member
Member
Posts: 453
Joined: Tue Nov 08, 2011 11:35 am

Re: What do you hate on the current OS that runs on your pc?

Post by Nable »

> I hate drop shadows and glass-effects
haha! I use alpha-blending to have simultaneous access to information from 2-3 layers of windows. It doesn't look so good in text-based UI (because symbols are at the same positions on all layers), only in GUI it works so good.
sandras
Member
Member
Posts: 146
Joined: Thu Nov 03, 2011 9:30 am

Re: What do you hate on the current OS that runs on your pc?

Post by sandras »

I do find interface like this much more appealing than all those glass, water, plasma UI's.
Mikemk
Member
Member
Posts: 409
Joined: Sat Oct 22, 2011 12:27 pm

Re: What do you hate on the current OS that runs on your pc?

Post by Mikemk »

I WILL get an OS that can run {nearly} anything, and then you can laugh all you want - At the mountains on your foreheads for not wanting to progress.
Programming is 80% Math, 20% Grammar, and 10% Creativity <--- Do not make fun of my joke!
If you're new, check this out.
Locked