Re: OS and Inter Application Communication‏‏

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 24/04/15 03:50, Andrew Saxsma wrote:

> Hi Everybody - Very general question.  Coming from an embedded C
> background, I'm used the entire body of code, including the
> operating system, compiled and linked into one boot executable and
> one application executable, with little use of standard C libraries
> or an operating system, and a compiler is specialized for a specific
> target microprocessor.  Recently I've started PC programming, where
> the operating system and each application are all compiled
> separately. In the PC world, are compilers specialized for both a
> target processor AND an operating system? How does the spawning take
> place? What is the primary means for applications to communicate
> with each other and the operating system? Where can I go to learn
> more?

This is a very large topic, and not strictly about GCC.  However,
yes, compilers are specialized for both a processor and OS.

It's important to reaize that the system call interface effectively is
a barrier between user space programs and kernel programs.  User space
does not (and cannot) have any idea what is going on in kernel space.
Programmers tend to specialize in user space work or kernel work:
spawning processes is very much a kernel thing.

There are lots of ways appliations can communicate with each other.
The main ones are sockets
(http://en.wikipedia.org/wiki/Berkeley_sockets) and shared memory.

The basic design of an operating system kernel is still recognizably
the same as it was in UNIX circa 1973, and classic works like Bach's
"The Design of the Unix Operating System" are still in print 30 years
after they were first published.  They're rather out of date on
details, as you'd expect.

Some operating systems like Windows are not based on UNIX and are
somewhat different in detail, but the concepts are much the same.

It all depends on how much you want to learn.  Do you really want to
know how an OS works, or just enough to write user-space programs?

Andrew.




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux