Why the programs which run on Windows don't run or MAC or Linux [closed] - microprocessors

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
If the compiler converts the high level language (like C++, for example) to the machine code to be executed by the Microprocessor.
Why can't the programs which run on Windows run on Mac or Linux?

As long as a high-level program really is written 100% in C++ or another language and uses no external code at all, it is in fact relatively easy to make it compile on any OS with a compiler, and it will behave in the same way.
The difficulty is that virtually every program uses libraries of the OS, e.g. for Input/Output, UI drawing etc., and these are different on every OS under the sun. In practice, it is impossible to get anything realistic done in a computer program without taking advantage of the massive amount of helper code present in the OS, or in libraries shipped with the OS. This is what makes porting harder - usually not actually difficult, just tedious.

Because a lot of your calls are referencing elements of the OS.
Like drawing, acessing the filesystem. These calls have to be translated, like Java or Qt.

Related

Writing an operating system for arm architecture [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
How do I get started writing an operating system that runs on the arm architecture? I want to write a bootloader if possible and my own kernel. Can anyone help me get started?
I'd start by familiarising yourself with what is already out there - Linux is a good start. Look at the bootloaders used in the distributions on the rPi - what is used in Debian Squeeze for example, uBoot and BareBox. Another option is CFE - which is under BSD license and good during debugging/early development.
Another thing is to look at the ucLinux and ucLibC systems, along with buildroot and OpenWRT - all designed to squeeze it onto a small system.
Of course - building your own kernel - you are going to want to go far deeper - and spend time understanding MMU's, process management/multitasking, interrupts and so on. A good background in programming microcontrollers, a knowledge of assembler language and CPU/SOC architecture would be essential. With the ARM family - you'll want to know the various instruction sets supported, and which chips have features like MMU's, FPU's and similar.
Good luck - it sounds like an interesting project.

Editor for new programming language in Eclipse [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I really hope someone can help me out with this!
For the GOAL Agent Programming language, there is an existing IDE written in JEdit, which is not that good. Thus, we wanted to migrate the editing (at least) to the Eclipse platform.
The GOAL programming language involves several other filetypes on its own, including Prolog files for instance. To this end, a few grammars written in ANTLR exist, which work quite well.
My question now is, using these pre-existing grammars and built lexers/parsers and such, is it possible to easily create an Eclipse editor for this?
I have looked at some existing stuff, like Xtext (would have to write a new grammar, which probably is not even possible for GOAL or Prolog), IMP (abandoned a few years ago already?), etcetera. None of these seem to suffice.
Does anyone have any ideas/suggestions?
Thanks in advance!
Another option is http://www.eclipse.org/dltk/ not sure if you evaluated it already or not.
It doesn't pretend to generate the whole IDE for you :-) However, it abstracts common functionality, so you can focus mostly on your language features.
It is unfortunate that IMP indeed seems abandoned, as it covers exactly your scenario: your language, compiler, etc. is working already and now you need "just" the IDE.
Nevertheless, IMP is still working, and recently, it has been used to implement the IDE for the Frege programming language.

Building my first operating system [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I am a programmer with a good knowledge on Java, C, C++ and Ruby.
I know just got an idea of building an operating system, so I bought an empty hard disk and I connected to my SATA cable removing it from my old hard disk. I am somewhat aware of assembly language.
Now my problem is how to start my first program on the hard disk just like adding two numbers or something. Previously, I used micro processor kit to write my assembly level programs (also used MASAMS software).
Will you please let me know for the bare system without any kernel only by having some boot startup program in motherboard how to write programs?
I would suggest starting with a virtualization approach though, it will be much easier to debug and build for.
Once you have something a little more stable you can try it out on actual hardware.
Apart from reading up on the topic (I suggest buying a book or two), maybe you can start by looking at existing projects such as GeekOS for inspiration.
Good luck with your venture!
What you probably want is to write a boot sector program. This should help you. Also note you won't have any of the OS's facilities for printing to the screen so you will need to use the BIOS functions. I recommend you use a VM first instead until you get it right before trying to do it on an actual hard drive. Good luck!
I recommend you to start from MikeOS . It has preliminary introduction to assembly programming and all the tools you need to start your own OS ( including assembler, pc emulator, etc ), and also a very simple operating system which helps you to dive in .
After that, when got familiar with basics, you may want to take a look at OSDev for much more serious stuff . There a lot's of tutorial in there that you can make use of.

Can I write an OS in machine code? [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 11 years ago.
Can I write an operating system using machine language directly?
Please give me a general idea or sources as to how to do it.
First, study the x86 or ARM instruction sets. Then, study up on operating systems. You'll see why it's not a great idea: it's like filling a sandbox one grain at a time with tweezers.
Yes, all you need is a lot of patience, sanity, and a binary editor.
After awhile you will realize why assemblers were created, which is the lowest level I would generally bother going to.
** yes you can but this is very diffecult for any one
and if you do this what make programmers and all design programming lanaguages to make things
easily comparing by machine code
and this is project as you ask
it's an OS written in machine code it's still under developing
http://www.magicschoolbook.com/computing/os-project
note : your name is like my name iam glad to answer you
best wishes**

What is an Operating System (with respect to embedded systems)? [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 11 years ago.
I have seen Operating Systems described as "the software that controls the hardware". I don't understand what it really is however.
For example, if we are writing code for a calculator, if we write the code to implement the interface between the LCD and KEYPAD, that code is not considered an operating system is it?
what really does "Operating System" mean?
Jack, the wikipedia page on operating systems gives a pretty good overview to start with. To put it pretty simply, when you want to run multiple pieces of software on a single piece of hardware (in your case, the ARM chip) then something needs to control the access to the hardware. The operating system will schedule tasks and allocate hardware to allow the multiple different bits of software to co-exist peacfully. Without this control, there is no way to run multiple pieces of software at once. Your calculator example would not require an operating system, as it is a single piece of code to do a single job.
For compilers for the ARM devices, I would suggest looking at either GCC (which I believe can cross compile to ARM) or getting a development kit, which will likely come with a suite of tools to allow you to develop on it.
I'm afraid I can't help you on which version of ARM chips to choose though, as my experience with them is a little limited. If price of the hardware is an issue though, I believe the ARM 7 hardware will be cheaper, but it is always worth comparing.
Hope this helps.