Page 1 of 2
Beginner Mistakes Example - was "what do you hate on current OS"
Posted: Mon May 14, 2012 4:17 pm
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.
Re: What do you hate on the current OS that runs on your pc?
Posted: Mon May 14, 2012 4:54 pm
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.
Re: What do you hate on the current OS that runs on your pc?
Posted: Wed May 16, 2012 7:37 am
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.
Re: What do you hate on the current OS that runs on your pc?
Posted: Wed May 16, 2012 8:08 am
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.
Re: What do you hate on the current OS that runs on your pc?
Posted: Wed May 16, 2012 8:09 am
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,
Re: What do you hate on the current OS that runs on your pc?
Posted: Wed May 16, 2012 8:30 am
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.
Re: What do you hate on the current OS that runs on your pc?
Posted: Wed May 16, 2012 12:51 pm
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....
Re: What do you hate on the current OS that runs on your pc?
Posted: Wed May 16, 2012 12:51 pm
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).
Re: What do you hate on the current OS that runs on your pc?
Posted: Wed May 16, 2012 1:50 pm
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...
Re: What do you hate on the current OS that runs on your pc?
Posted: Wed May 16, 2012 2:08 pm
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.
Re: What do you hate on the current OS that runs on your pc?
Posted: Wed May 16, 2012 2:13 pm
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?
Re: What do you hate on the current OS that runs on your pc?
Posted: Wed May 16, 2012 2:27 pm
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 =)
Re: What do you hate on the current OS that runs on your pc?
Posted: Wed May 16, 2012 2:33 pm
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.
Re: What do you hate on the current OS that runs on your pc?
Posted: Wed May 16, 2012 3:20 pm
by sandras
I do find interface like
this much more appealing than all those glass, water, plasma UI's.
Re: What do you hate on the current OS that runs on your pc?
Posted: Wed May 16, 2012 3:39 pm
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.