[systemd-devel] Linux kernel API

ScotXW shcsottrxw at yahoo.com
Fri Nov 1 16:05:23 PDT 2013


On 11/01/2013 06:51 PM, Greg KH wrote:
> On Fri, Nov 01, 2013 at 06:47:00PM +0100, ScotXW wrote:
>> Hi,
>>
>> systemd is written exclusively for the Linux kernel because this
>> offers advantages over the POSIX API. To illustrate the difference
>> between Linux kernel API and POSIX API I created a diagram, see [1].
>
> Linux doesn't implement all of the POSIX api in the kernel, other
> portions of it are in other userspace pieces.

Would you please name a couple beside the libc?

> Linux, like all other Unix-like operating systems, also includes some
> apis that are not in POSIX, which is nothing new.

DRI1? DRI2? What else, what is of advantage to usage on the "typical 
home computer"?

>> On topic: It could be used to illustrate the reasons for this decision.
>> 1. Could you have a look and check whether it is correct?
>
> It isn't.

Any hints?

>> 2. Ideas?
>
> What are you trying to show, and why?

1. I do not program.
2. I use Linux on my home computer, that means, that besides "office" 
and "browsing" I play computer games, watch videos and listen to music. 
I can already do all of those things, but it could always be better. I 
like Wayland, so I created this [1]. I like playing video games and 
watching videos, so I created this [2].

I would like to play "Rigs of Rods" [3] (on Fedora or on Debian), and I 
cannot "simply" do that. On Windows I could __simply__ download, install 
and play it. On Linux I cannot! I would like to contribute to solve this 
issue **at its root.** The "Debian Way" (=adapt and maintain 37.500 
packages) failed for RoR because it is not (yet) in the Debian repos. 
Actually it is not even packaged for any Linux distro.

I would like to watch videos by using the silicon decoder in the GPU I 
bought, rather then utilizing 90% CPU. I have enough CPU-power, but 
since I paid for the GPU, why not put it to good use?

Since I do not write code, I thought I could help a very little bit with 
the documentation. Make Linux kernel-based OSes easier understandable 
for simple users, like me. Make them see, where the strong points are, 
where the problems are.
Maybe if people would have donated 10% of the entire donations to the 
Mozilla Project, to some other projects, we now would have better sound 
drivers, or multi-touch in evdev, or better you name it, rather then 
"Firefox OS".

I'd prefer a fully FOSS core operaring system, but I want to __simply__ 
install and effectively run proprietary software on it. Steam is fine, 
but I want "Rigs of Rods". ;-)

I do not bash against the other Unix OSes, but POSIX is rather "thin" 
and the last version is from 2008. IRIX is retired, Tru64 UNIX is for 
DEC Alpha only, etc.

Question is: In the year 2014 (Linux kernel 3.13, Mesa 10.0, DRI3, 
cgroups, etc.) how big would the advantages regarding amount of glue 
code, efficiency and fun to program, be, if a program would use the 
Linux-API instead of being cross-platform? Or instead of using the 
POSIX-API?

Its a bit tough to create a useful scheme about something you do not 
fully comprehend. I am not even sure the benefits of programming for the 
Linux API instead of cross-platform/POSIX can be easily illustrated. I 
tried, you say, the scheme is wrong. What to change about it?


>> Off topic:
>> Do you know more programs that are Linux kernel-only?
>
> Lots of them are, but again, why does this matter?

The more people focus on the matter, the quicker I can play "Rigs of 
Rods" on Linux like on Windows: download, install, play, whether some 
ancient version is in the repos or not.

Oh, I also wanted to have Wayland 5 years ago. Was it technically not 
feasible? A failure to communicate?

If Sony would have adopted Linux instead of FreeBSD 9.0 for the 
PlayStation 4, we would have better hardware support (with HSA), so 
working on that stuff could do other things, and people doing other 
things would do other things, etc., and I could finally play Rigs of 
Rods: download, install, play. No compilation. No reading up on nothing. 
Because that is what I actually want. ;-)

I do not insist on playing it on GNU Hurd, and I accept a little detour, 
some plumbing, better drivers, some streamlining the Linux kernel-based 
OS for the home computer, etc. Eventually I want to play Rigs of Rods 
(or any other game that is not in the Debian/Fedora repos).


> greg k-h

[1] 
https://commons.wikimedia.org/wiki/File:Wayland_display_server_protocol.svg
[2] https://commons.wikimedia.org/wiki/File:Linux_Graphics_Stack_2013.svg
[3] http://en.wikipedia.org/wiki/Rigs_Of_Rods


More information about the systemd-devel mailing list