Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I'm looking for a list cross reference matrix of POSIX implemented functions for a specified linux kernel.
For example, I want to use linux kernel 2.6.0, but I would like to see the compmlete list of POSIX implemented functions for this kernel. Where can I find this information?
Linux follows the Linux Standard Base as opposed to POSIX. However, LSB is mostly a superset of POSIX. You can find a list of all observed conflicts between LSB and POSIX here. I doubt something as detailed as what it seems you want exists.
2.6.0 is really an old kernel (there are big differences with 2.6.38). Try using something less old.
The linux syscalls man page gives you a list of system calls and in what kernel version they appears, so answers the question for syscalls. For library functions, I have no idea.
In practice, Linux seems to me quite Posix compliant... And the Posix standard also evolved.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I'm trying to develop a new system call and add it to the kernel, but since the c file that contains the syscall method implementation can only use functions which reside inside the kernel address space I'm pretty sure I can't use methods like popen, stat, etc..
I made a bit of research on the Internet but I couldn't find anything that would give me the functions that I can use inside the kernel.
Probably the biggest difference (among many big differences) that you will need to get your head around is this: the kernel is not linked against libc. So, look at everything provided by libc. you don't get any of that...
...well, sort of. Some of the functionality that libc provides is actually implemented inside the kernel itself. You need to include the kernel versions of those headers:
#include <linux/[header file].h>
To get an idea of what is available inside the kernel, you'll need to look at the functions defined in the header files of the kernel source tree.
A few other points to keep in mind:
Linux kernel is programmed using GNU C, not strict ANSI C, which makes sense: as some folks would be quick to point out, Linux is just the kernel, GNU is everything else; that includes the GCC compiler.
No easy floating point math. Normally the kernel facilitates the use of floating point instructions, but the mechanism it uses to that cannot be easily used on the kernel itself. See here for more.
A good book on the subject is Linux Kernel Development by Robert Love (I am in no way affiliated; it's just a good book).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
In GNU/Linux the use of GNU make and Makefiles is very common but not entirely satisfying. I am aware of tools like autotools and CMake but ultimately they still generates a Makefile, (in the case of CMake)at least on Linux. It is just automating the process of generating the Makefile.
I am wondering what build systems there are on Linux that do not require one to execute GNU make or even have GNU make installed and what advandages/disadvantages they have compared to GNU make.
Similar information related to POSIX make or non-GNU Linux or Unix in general are also welcome. It would also be nice to include historical perspectives.
I don't get your point about cmake. There is ninja, it is commonly used with cmake. CMake has multiple generators, make just being the most commonly used. More about it maybe in cmake-generators.
There is even wiki List_of_build_automation_software with list of Make-incompatible build systems, most of them work under Linux. I've seen projects with:
Maven
Ant
waf
SCons
QT Build System
Rake
Ninja
Bazel
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
So they can be run from the Linux command line. For example, I already ported SIS CAD. Is there something else? Using an X processor and its compiler. So I'll have to port the tasks on this processor. Not interested in SPEC. Need a custom task, already implemented on other platforms and written in C (
less preferred C++)
GCC developers list several benchmarks besides well-known SPEC CPU and EEMBC CoreMark. This page mentions openbench (the link on GCC site seems to be broken), a set of benchmarks, which is an attempt to create a free alternative to SPEC CPU.
SUSE is a major contributor of GCC project, they run periodic C++ benchmarks to test compiler performance (i.e., both compilation speed and generated code quality).
Phoronix also offers some sort of benchmark suite, Open Benchmarking (though their benchmarks are sometimes criticized).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I went through many links on stack overflow regarding linux kernel books.
I found that "Linux kernel development, 3rd edition (v2.6)" and "Understanding the Linux Kernel, Third Edition" are the most commonly advised books to start with the topic.
However, all of these books are based on kernel's 2.6. version.
I've also read that 3.x isn't so much different from 2.6.
My question is - if I want to learn and contribute to linux kernel (3.5.) should I start with books on 2.6. or get a newer book (which I couldn't really find)?
In fact, really, there is nothing in the upcoming 3.0 kernel that makes this any different than what would be 2.6.40.
Still you want to understand here you go.. http://voinici.ceata.org/~tct/resurse/utlk.pdf
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I've always wanted to know how CL GUIs like top or nano or vi are constructed? I have a need to actually make one and am looking for a guide or tutorial on the general idea behind them.
Here is a bunch of them.
Also there is a list.
CDK
Dialog
ncurses
Newt, a widget-based toolkit
PDCurses
SMG$
Turbo Vision
You could start by reading about ncurses, it’s a very well-known library to draw on the terminal
Check out TWIN (apparently, inspired by Turbo Vision) by Massimiliano Ghilardi. More screenshots are available here. Be sure to use the GitHub version, as SourceForge repository has been unmaintained since 2002.
If you don't mind your GUI running in a JVM, take a look at Lanterna (Java and Clojure bindings).
I've also seen a post about Turbo Vision "ported" to (or rather rewritten using) C# and XAML, but haven't had a chance to examine it.