kernel source
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 5350
Open Source in Tab 1.5
Open Source in Tab is an extension which opens the pages source file in a new tab. more>>
Open Source in Tab is an extension which opens the pages source file in a new tab.
Opens the pages source file in a new tab. Has a preference to either open source in a new tab or existing tab.
<<lessOpens the pages source file in a new tab. Has a preference to either open source in a new tab or existing tab.
Download (0.008MB)
Added: 2007-04-19 License: MPL (Mozilla Public License) Price:
550 downloads
KernelKit 0.6.1
KernelKit is a Knoppix GNU/Linux derivative targetting the development of Linux kernel and drivers. more>>
KernelKit is a Knoppix GNU/Linux derivative targetting the development of Linux kernel and drivers, as well as Free Sofware embedded systems. It is currently being used in our Embedded Linux Training sessions.
Differences with standard Knoppix GNU/Linux:
- Removed applications not related to Linux kernel, drivers and embedded systems: games, office applications...
- Added tools and libraries for kernel and software development, in particular cross-compiling toolchains for many different architectures
Usefulness
- Embedded Linux trainings: provide all the needed tools in a tested configuration. No need to install a GNU/Linux distribution. No need to check installed package versions prerequisites.
- Embedded Linux demonstration: helps to discover, try and demonstrate useful tools in this technical area.
- Kernel, driver and embedded application development: toolkit to get the job done quickly and efficiently. Useful for support people away from their regular desktop, or for people who are not allowed to install software by themselves.
Cross-compiling toolchains
- uClibc toolchains: cross-compiling toolchains for the following architectures: arm, i386, ppc, m68k, mips, mipsel
Development
- ccache: a C/C++ compiler cache. Can save a lot of time when you compile the kernel over and over again.
- doxygen: a documentation system.
- SCons: a Software construction tool. A strong alternative to autoconf / automake / make.
- Splint: static C code checker.
Cross-compiling toolchains
- uClibc toolchains: cross-compiling toolchains for the following architectures: arm, i386, ppc, m68k, mips, mipsel
Kernel development
- git: the new kernel source management system.
- cogito: a git front-end.
Emulation
- QEMU: a cpu and system emulator for several platforms. Great to experiment with i386 or ppc embedded systems.
- SkyEye. An emulator for several popular ARM boards.
Performance analysis
- Linux Trace Toolkit": user space tools for analyzing system performance. Note that you can only analyse results so far, and not produce data, as the current KernelKit kernel doesnt have support yet for LTT.
- Valgrind: memory debugger and performance analysis tool for x86 Linux.
Lightweight applications for embedded systems
- Dillo: a very light and fast web browser.
- e3: a microscopic editor supporting several interface types (vi, emacs...).
Unix learning help
- fish: the Friendly Interactive SHell makes it much easier to use the Unix command line. The best way to start for beginners (Caution:: strangely broken in the latest KernelKit release)
- vimtutor: part of the vim package. Very nice way to learn vi in 30 minutes!
Misc
- gkermit: a serial communication utility.
- Psyco: a kind of Just In Time compiler for Python. Useful for running the BitBake / OpenEmbedded tool faster.
- xvncviewer: a VNC client. Sometimes useful to display target graphics on the host system.
Enhancements:
- This release adds the texinfo 4.8.dfsg.1-4 package (needed to run buildroot).
<<lessDifferences with standard Knoppix GNU/Linux:
- Removed applications not related to Linux kernel, drivers and embedded systems: games, office applications...
- Added tools and libraries for kernel and software development, in particular cross-compiling toolchains for many different architectures
Usefulness
- Embedded Linux trainings: provide all the needed tools in a tested configuration. No need to install a GNU/Linux distribution. No need to check installed package versions prerequisites.
- Embedded Linux demonstration: helps to discover, try and demonstrate useful tools in this technical area.
- Kernel, driver and embedded application development: toolkit to get the job done quickly and efficiently. Useful for support people away from their regular desktop, or for people who are not allowed to install software by themselves.
Cross-compiling toolchains
- uClibc toolchains: cross-compiling toolchains for the following architectures: arm, i386, ppc, m68k, mips, mipsel
Development
- ccache: a C/C++ compiler cache. Can save a lot of time when you compile the kernel over and over again.
- doxygen: a documentation system.
- SCons: a Software construction tool. A strong alternative to autoconf / automake / make.
- Splint: static C code checker.
Cross-compiling toolchains
- uClibc toolchains: cross-compiling toolchains for the following architectures: arm, i386, ppc, m68k, mips, mipsel
Kernel development
- git: the new kernel source management system.
- cogito: a git front-end.
Emulation
- QEMU: a cpu and system emulator for several platforms. Great to experiment with i386 or ppc embedded systems.
- SkyEye. An emulator for several popular ARM boards.
Performance analysis
- Linux Trace Toolkit": user space tools for analyzing system performance. Note that you can only analyse results so far, and not produce data, as the current KernelKit kernel doesnt have support yet for LTT.
- Valgrind: memory debugger and performance analysis tool for x86 Linux.
Lightweight applications for embedded systems
- Dillo: a very light and fast web browser.
- e3: a microscopic editor supporting several interface types (vi, emacs...).
Unix learning help
- fish: the Friendly Interactive SHell makes it much easier to use the Unix command line. The best way to start for beginners (Caution:: strangely broken in the latest KernelKit release)
- vimtutor: part of the vim package. Very nice way to learn vi in 30 minutes!
Misc
- gkermit: a serial communication utility.
- Psyco: a kind of Just In Time compiler for Python. Useful for running the BitBake / OpenEmbedded tool faster.
- xvncviewer: a VNC client. Sometimes useful to display target graphics on the host system.
Enhancements:
- This release adds the texinfo 4.8.dfsg.1-4 package (needed to run buildroot).
Download (695.7MB)
Added: 2007-06-16 License: GPL (GNU General Public License) Price:
522 downloads
Kernelconfig 1.0
Kernelconfig is a program that performs the steps required to configure, build, and install the Linux kernel more>>
Kernelconfig is a program that performs the steps required to configure, build, and install the Linux kernel.
It also has the ability to check for a later version of the kernel source and download, configure, build, and install it.
Kernelconfig is a program that does the steps to configure, build and install a Linux Kernel. To compile the source, you need FreeBasic or another Basic compiler.
If somebody doesnt like the fact that this program was written in Basic, they are welcome to rewrite it in Perl, Bash, C, C++ or whatever language they like best. To compile the program,
type "fbc kernelconfig.bas" from the directory that you extracted the tarball to. If you run kernelconfig with no arguments, it will look for the Linux kernel source in "/usr/src/linux."
Alternatively, you could run kernelconfig followed by the path to the Linux source. For example if you have the Linux source in your home directory in the src/linux subdirectory, you could do kernelconfig $HOME/src/linux. If kernelconfig finds the Linux source, it will run "make config" or "make oldconfig" if old configuration is found, "make dep", and "make bzImage." If youre root, kernelconfig will install the modules, copy the kernel to "/vmlinuz"
and run "lilo."
If you use the "-update" command-line option, kernelconfig will check ftp.kernel.org for a later version of the kernel than youre running. If it finds a later version, it will download it,
extract it to /usr/src/linux and do the above steps to configure and compile the kernel. For example you could do "kernelconfig -update", or "kernelconfig $HOME/src/linux -update."
<<lessIt also has the ability to check for a later version of the kernel source and download, configure, build, and install it.
Kernelconfig is a program that does the steps to configure, build and install a Linux Kernel. To compile the source, you need FreeBasic or another Basic compiler.
If somebody doesnt like the fact that this program was written in Basic, they are welcome to rewrite it in Perl, Bash, C, C++ or whatever language they like best. To compile the program,
type "fbc kernelconfig.bas" from the directory that you extracted the tarball to. If you run kernelconfig with no arguments, it will look for the Linux kernel source in "/usr/src/linux."
Alternatively, you could run kernelconfig followed by the path to the Linux source. For example if you have the Linux source in your home directory in the src/linux subdirectory, you could do kernelconfig $HOME/src/linux. If kernelconfig finds the Linux source, it will run "make config" or "make oldconfig" if old configuration is found, "make dep", and "make bzImage." If youre root, kernelconfig will install the modules, copy the kernel to "/vmlinuz"
and run "lilo."
If you use the "-update" command-line option, kernelconfig will check ftp.kernel.org for a later version of the kernel than youre running. If it finds a later version, it will download it,
extract it to /usr/src/linux and do the above steps to configure and compile the kernel. For example you could do "kernelconfig -update", or "kernelconfig $HOME/src/linux -update."
Download (0.010MB)
Added: 2005-08-17 License: GPL (GNU General Public License) Price:
1528 downloads
Kernel Configuration Comparison 0.2
Kernel Configuration Comparison (kccmp) provides a GUI for comparing two Linux kernel .config files. more>>
Kernel Configuration Comparison (kccmp) provides a GUI for comparing two Linux kernel ".config" files.
It shows configuration variables with different values in a tabular format. It also shows configuration variables found in only one of the input configuration files.
Building:
kccmp by default requires Qt 3.x. However, by changing one line in kccmp.pro you can build against Qt 4.x. Note that the Qt 4.x build requilres libboost_regex as well.
The standard build is as easy as:
example:
% qmake
% make
Usage
% kccmp /path/to/first/.config path/to/second/.config
example:
% kccmp /usr/src/linux/.config /usr/src/linux/.config.old
Enhancements:
- This release was ported to Qt 3.x.
- The requirement for libboost_regex was removed.
- Building with either Qt 4.x or Qt 3.x is now supported.
<<lessIt shows configuration variables with different values in a tabular format. It also shows configuration variables found in only one of the input configuration files.
Building:
kccmp by default requires Qt 3.x. However, by changing one line in kccmp.pro you can build against Qt 4.x. Note that the Qt 4.x build requilres libboost_regex as well.
The standard build is as easy as:
example:
% qmake
% make
Usage
% kccmp /path/to/first/.config path/to/second/.config
example:
% kccmp /usr/src/linux/.config /usr/src/linux/.config.old
Enhancements:
- This release was ported to Qt 3.x.
- The requirement for libboost_regex was removed.
- Building with either Qt 4.x or Qt 3.x is now supported.
Download (0.012MB)
Added: 2005-10-03 License: GPL (GNU General Public License) Price:
1482 downloads
POE::Kernel 0.3502
POE::Kernel is an event driven threaded application kernel in Perl. more>>
POE::Kernel is an event driven threaded application kernel in Perl.
SYNOPSIS
POE comes with its own event loop, which is based on select() and written entirely in Perl. To use it, simply:
use POE;
POE can adapt itself to work with other event loops and I/O multiplex systems. Currently it adapts to Gtk, Tk, Event.pm, or IO::Poll when one of those modules is used before POE::Kernel.
use Gtk; # Or Tk, Event, or IO::Poll;
use POE;
or
use POE qw(Loop::Gtk);
or
use POE::Kernel { loop => "Gtk" };
use POE::Session;
Methods to manage the process global Kernel instance:
# Retrieve the kernels unique identifier.
$kernel_id = $kernel->ID;
# Run the event loop, only returning when it has no more sessions to
# dispatch events to. Supports two forms.
$poe_kernel->run();
POE::Kernel->run();
FIFO event methods:
# Post an event to an arbitrary session.
$kernel->post( $session, $event, @event_args );
# Post an event back to the current session.
$kernel->yield( $event, @event_args );
# Call an event handler synchronously. Bypasses POEs event queue
# and returns the handlers return value.
$handler_result = $kernel->call( $session, $event, @event_args );
Original alarm and delay methods:
# Post an event which will be delivered at a given Unix epoch time.
# This clears previous timed events with the same state name.
$kernel->alarm( $event, $epoch_time, @event_args );
# Post an additional alarm, leaving existing ones in the queue.
$kernel->alarm_add( $event, $epoch_time, @event_args );
# Post an event which will be delivered after a delay, specified in
# seconds hence. This clears previous timed events with the same
# name.
$kernel->delay( $event, $seconds, @event_args );
# Post an additional delay, leaving existing ones in the queue.
$kernel->delay_add( $event, $seconds, @event_args );
<<lessSYNOPSIS
POE comes with its own event loop, which is based on select() and written entirely in Perl. To use it, simply:
use POE;
POE can adapt itself to work with other event loops and I/O multiplex systems. Currently it adapts to Gtk, Tk, Event.pm, or IO::Poll when one of those modules is used before POE::Kernel.
use Gtk; # Or Tk, Event, or IO::Poll;
use POE;
or
use POE qw(Loop::Gtk);
or
use POE::Kernel { loop => "Gtk" };
use POE::Session;
Methods to manage the process global Kernel instance:
# Retrieve the kernels unique identifier.
$kernel_id = $kernel->ID;
# Run the event loop, only returning when it has no more sessions to
# dispatch events to. Supports two forms.
$poe_kernel->run();
POE::Kernel->run();
FIFO event methods:
# Post an event to an arbitrary session.
$kernel->post( $session, $event, @event_args );
# Post an event back to the current session.
$kernel->yield( $event, @event_args );
# Call an event handler synchronously. Bypasses POEs event queue
# and returns the handlers return value.
$handler_result = $kernel->call( $session, $event, @event_args );
Original alarm and delay methods:
# Post an event which will be delivered at a given Unix epoch time.
# This clears previous timed events with the same state name.
$kernel->alarm( $event, $epoch_time, @event_args );
# Post an additional alarm, leaving existing ones in the queue.
$kernel->alarm_add( $event, $epoch_time, @event_args );
# Post an event which will be delivered after a delay, specified in
# seconds hence. This clears previous timed events with the same
# name.
$kernel->delay( $event, $seconds, @event_args );
# Post an additional delay, leaving existing ones in the queue.
$kernel->delay_add( $event, $seconds, @event_args );
Download (0.032MB)
Added: 2006-07-12 License: Perl Artistic License Price:
1200 downloads
xlike Kernel Patchset 0.20f
xlike Kernel Patchset is a patch collection for the Linux vanilla kernel. more>>
xlike Kernel Patchset is a patch collection for the Linux vanilla kernel. The project includes as many stable enhancements for the Linux kernel as possible.
These include code from Kernel Mode Linux, Rule Set Based Access Control, Novell AppArmor, Openswan, grsecurity, Linux VServer, Ndiswrapper, web100, Nefilters, Suspend2, Speakup, Amiga Smart File System, Cdemu, SquashFS, fbsplash, QuadDSP, and more. It also contains many drivers and fixes.
Enhancements:
- This version was updated to patch against Linux 2.6.20.
- User Mode Linux with Linux-PHC, LinuxIMQ, Web100, WANPIPE, WRR, ReiserFS4, SquashFS, UnionFS, Bootsplash, and Kernel Color Output were added.
<<lessThese include code from Kernel Mode Linux, Rule Set Based Access Control, Novell AppArmor, Openswan, grsecurity, Linux VServer, Ndiswrapper, web100, Nefilters, Suspend2, Speakup, Amiga Smart File System, Cdemu, SquashFS, fbsplash, QuadDSP, and more. It also contains many drivers and fixes.
Enhancements:
- This version was updated to patch against Linux 2.6.20.
- User Mode Linux with Linux-PHC, LinuxIMQ, Web100, WANPIPE, WRR, ReiserFS4, SquashFS, UnionFS, Bootsplash, and Kernel Color Output were added.
Download (0.45MB)
Added: 2007-08-22 License: GPL (GNU General Public License) Price:
793 downloads
kernbench 0.42
kernbench is a CPU throughput benchmark. more>>
This is a cpu throughput benchmark originally devised and used by Martin J. Bligh. It is designed to compare kernels on the same machine, or to compare hardware. To compare hardware you need to be running the same architecture machines (eg i386) and run kernbench on the same kernel source tree.
kernbench runs a kernel at various numbers of concurrent jobs: 1/2 number of cpus, optimal (default is 4xnumber of cpus) and maximal job count. Optionally it can also run single threaded. It then prints out a number of useful statistics for the average of each group of runs.
You need at least 2Gb of ram for this to be a true throughput benchmark or else you will get swapstorms.
Ideally it should be run in single user mode on a non-journalled filesystem. To compare results it should always be run in the same kernel tree.
Using:
You need a kernel tree (any will do) and the applications time and awk
installed. time is different to the builtin time used by BASH and has more
features desired for this benchmark.
Simply cd into the kernel tree directory and type
/path/to/kernbench
Options:
kernbench [-n runs] [-o jobs] [-s] [-H] [-O] [-M] [-h] [-v]
n : number of times to perform benchmark (default 5)
o : number of jobs for optimal run (default 4 * cpu)
s : perform single threaded runs (default dont)
H : dont perform half load runs (default do)
O : dont perform optimal load runs (default do)
M : dont perform maximal load runs (default do)
f : fast run
h : print this help
v : print version number
Enhancements:
- Incorrect counting of CPUs was fixed.
- The -j option was changed to at least 4GB ram.
<<lesskernbench runs a kernel at various numbers of concurrent jobs: 1/2 number of cpus, optimal (default is 4xnumber of cpus) and maximal job count. Optionally it can also run single threaded. It then prints out a number of useful statistics for the average of each group of runs.
You need at least 2Gb of ram for this to be a true throughput benchmark or else you will get swapstorms.
Ideally it should be run in single user mode on a non-journalled filesystem. To compare results it should always be run in the same kernel tree.
Using:
You need a kernel tree (any will do) and the applications time and awk
installed. time is different to the builtin time used by BASH and has more
features desired for this benchmark.
Simply cd into the kernel tree directory and type
/path/to/kernbench
Options:
kernbench [-n runs] [-o jobs] [-s] [-H] [-O] [-M] [-h] [-v]
n : number of times to perform benchmark (default 5)
o : number of jobs for optimal run (default 4 * cpu)
s : perform single threaded runs (default dont)
H : dont perform half load runs (default do)
O : dont perform optimal load runs (default do)
M : dont perform maximal load runs (default do)
f : fast run
h : print this help
v : print version number
Enhancements:
- Incorrect counting of CPUs was fixed.
- The -j option was changed to at least 4GB ram.
Download (0.010MB)
Added: 2007-06-18 License: GPL (GNU General Public License) Price:
863 downloads
Linux Kernel Spinlock Metering 1.4.11
Linux Kernel Spinlock Metering is a kernel patch that allows you to build an i386, ia64, Alpha, Sparc64, or mips64 kernel... more>>
The Linux SMP kernel uses spinlocks to protect data structures from concurrent, potentially conflicting accesses. Linux Kernel Spinlock Metering is a kernel patch that allows you to build an i386, ia64, Alpha, Sparc64, or mips64 kernel that can perform simple "metering" (record-keeping) of spinlock usage. Also available is source for an associated new command, lockstat, that is used to instruct the kernel to turn this lock metering on or off, and to retrieve the metering data from the kernel and display it in a human-readable format.
Data displayed includes the number of lock attempts, per-spinlock per-caller, the number of those attempts that were immediately successful vs. those that required the attempting locker to wait for the current lock-holder to release; the mean and max hold-time, and the mean, max, and cumulative wait-time. Whenever possible, the locking caller and the spinlocks are identified by their symbolic names, not by their virtual addresses.
Various patch sets are available. Version 1.1.4 patches the 2.2.14 kernel and reflects a relatively old flavor of Lockmeter. Version 1.4.11 patches the 2.4.16, 2.4.17, 2.5.3, and 2.5.5 kernels, and the previous release v1.4.9 patches various other releases of the 2.4.x kernel. This version 1.4 supports i386, alpha, ia64, mips64, and sparc64. The most recent version 1.5 is available as a patch against the 2.4.18 and various 2.5.x kernels, and it additionally supports mips (32-bit mips). Each is approximately 22 KB in gziped size. (Patches against a few older kernel versions are also available in the old subdirectory.) After applying the appropriate patch, make oldconfig presents a new Kernel lock metering option in the Kernel hacking subsection -- although only if CONFIG_SMP (Symmetric multi-processing support) has been enabled. The spinlock metering code is compiled into the kernel only when this new option is turned on.
Compiling the spinlock metering code into the kernel does not materially affect the kernel size because the additional code is roughly compensated for by the shrinking effect of the normally in-line locking routines now becoming procedure calls. A metering-capable kernel (i.e., with the patch applied, but data collection turned off) is negligibly slower than a non-metering-capable kernel, though a metering-capable kernel does slow when the metering data collection is turned on using the lockstat command (typically 8% for a systime==25% workload). Care has been taken to minimize performance degradation, and further improvements are in progress.
The lockstat command must also be downloaded, compiled, and installed. lockstat is a privileged command that requires root access. It reads and writes to the node /proc/lockmeter to control the kernels metering as follows:
lockstat on enables the kernels metering data collection,
lockstat options displays the collected data, and
lockstat off disables the metering data collection.
Run lockstat with no arguments to see a verbose description of the command arguments and options.
When metering is enabled, count and time data is collected in malloced arrays that are private to each CPU, thereby avoiding costly cacheblock coherency operations that would otherwise be required if all CPUs updated the same count and time fields. The lockstat command accumulates and sorts the per-cpu data at display time.
Lockmetering attempts to provide both "cause" and "effect" information about spinlock usage. The "hold time" metering exposes which spinlocks are being held and for how long, identified by where they are held inside the kernel. The "wait-time" metering exposes the effects of these hold-times when multiple CPUs concurrently contend for the same lock.
<<lessData displayed includes the number of lock attempts, per-spinlock per-caller, the number of those attempts that were immediately successful vs. those that required the attempting locker to wait for the current lock-holder to release; the mean and max hold-time, and the mean, max, and cumulative wait-time. Whenever possible, the locking caller and the spinlocks are identified by their symbolic names, not by their virtual addresses.
Various patch sets are available. Version 1.1.4 patches the 2.2.14 kernel and reflects a relatively old flavor of Lockmeter. Version 1.4.11 patches the 2.4.16, 2.4.17, 2.5.3, and 2.5.5 kernels, and the previous release v1.4.9 patches various other releases of the 2.4.x kernel. This version 1.4 supports i386, alpha, ia64, mips64, and sparc64. The most recent version 1.5 is available as a patch against the 2.4.18 and various 2.5.x kernels, and it additionally supports mips (32-bit mips). Each is approximately 22 KB in gziped size. (Patches against a few older kernel versions are also available in the old subdirectory.) After applying the appropriate patch, make oldconfig presents a new Kernel lock metering option in the Kernel hacking subsection -- although only if CONFIG_SMP (Symmetric multi-processing support) has been enabled. The spinlock metering code is compiled into the kernel only when this new option is turned on.
Compiling the spinlock metering code into the kernel does not materially affect the kernel size because the additional code is roughly compensated for by the shrinking effect of the normally in-line locking routines now becoming procedure calls. A metering-capable kernel (i.e., with the patch applied, but data collection turned off) is negligibly slower than a non-metering-capable kernel, though a metering-capable kernel does slow when the metering data collection is turned on using the lockstat command (typically 8% for a systime==25% workload). Care has been taken to minimize performance degradation, and further improvements are in progress.
The lockstat command must also be downloaded, compiled, and installed. lockstat is a privileged command that requires root access. It reads and writes to the node /proc/lockmeter to control the kernels metering as follows:
lockstat on enables the kernels metering data collection,
lockstat options displays the collected data, and
lockstat off disables the metering data collection.
Run lockstat with no arguments to see a verbose description of the command arguments and options.
When metering is enabled, count and time data is collected in malloced arrays that are private to each CPU, thereby avoiding costly cacheblock coherency operations that would otherwise be required if all CPUs updated the same count and time fields. The lockstat command accumulates and sorts the per-cpu data at display time.
Lockmetering attempts to provide both "cause" and "effect" information about spinlock usage. The "hold time" metering exposes which spinlocks are being held and for how long, identified by where they are held inside the kernel. The "wait-time" metering exposes the effects of these hold-times when multiple CPUs concurrently contend for the same lock.
Download (MB)
Added: 2007-07-03 License: GPL (GNU General Public License) Price:
845 downloads
Kernel Mode Linux 2.6.19_001
Kernel Mode Linux is a technology which enables the execution of user programs in a kernel mode. more>>
Kernel Mode Linux project is a technology which enables us to execute user programs in kernel mode. In Kernel Mode Linux, user programs can be executed as user processes that have the privilege level of kernel mode.
The benefit of executing user programs in kernel mode is that the user programs can access a kernel address space directly. So, for example, user programs can invoke system calls very fast because it is unnecessary to switch between a kernel mode and a user mode by using costly software interruptions or context switches.
Unlike kernel modules, user programs are executed as ordinary processes (except for their privilege level), so scheduling and paging are performed as usual.
Although it seems dangerous to let user programs access a kernel directly, safety of the kernel can be ensured, for example, by static type checking, software fault isolation, and so forth.
For proof of concept, we are developing a system which is based on the combination of Kernel Mode Linux and Typed Assembly Language, TAL. (TAL can ensure safety of programs through its type checking and the type checking can be done at machine binary level.
Version restrictions:
- User processes executed in kernel mode should obey the following limitations. Otherwise, your system will be in an undefined state. In the worst-case scenario, your system will crash.
- On IA-32, programs executed in kernel mode shouldnt modify their CS, DS, FS and SS registers.
- On AMD64, programs executed in kernel mode shouldnt modify their CS register.
- In addition, on AMD64, IA-32 binaries cannot be executed in kernel mode.
Enhancements:
- This release has been merged with the 2.6.19 Linux kernel.
<<lessThe benefit of executing user programs in kernel mode is that the user programs can access a kernel address space directly. So, for example, user programs can invoke system calls very fast because it is unnecessary to switch between a kernel mode and a user mode by using costly software interruptions or context switches.
Unlike kernel modules, user programs are executed as ordinary processes (except for their privilege level), so scheduling and paging are performed as usual.
Although it seems dangerous to let user programs access a kernel directly, safety of the kernel can be ensured, for example, by static type checking, software fault isolation, and so forth.
For proof of concept, we are developing a system which is based on the combination of Kernel Mode Linux and Typed Assembly Language, TAL. (TAL can ensure safety of programs through its type checking and the type checking can be done at machine binary level.
Version restrictions:
- User processes executed in kernel mode should obey the following limitations. Otherwise, your system will be in an undefined state. In the worst-case scenario, your system will crash.
- On IA-32, programs executed in kernel mode shouldnt modify their CS, DS, FS and SS registers.
- On AMD64, programs executed in kernel mode shouldnt modify their CS register.
- In addition, on AMD64, IA-32 binaries cannot be executed in kernel mode.
Enhancements:
- This release has been merged with the 2.6.19 Linux kernel.
Download (0.032MB)
Added: 2006-12-11 License: GPL (GNU General Public License) Price:
1047 downloads
Linux Kernel 2.6.10
The latest stable version of the Linux kernel is 2.6.10 more>>
Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX and Single UNIX Specification compliance.
It has all the features you would expect in a modern fully-fledged Unix, including true multitasking, virtual memory, shared libraries, demand loading, shared copy-on-write executables, proper memory management, and TCP/IP networking.
Linux was first developed for 32-bit x86-based PCs (386 or higher). These days it also runs on (at least) the Compaq Alpha AXP, Sun SPARC and UltraSPARC, Motorola 68000, PowerPC, PowerPC64, ARM, Hitachi SuperH, IBM S/390, MIPS, HP PA-RISC, Intel IA-64, DEC VAX, AMD x86-64 and CRIS architectures.
Linux is easily portable to most general-purpose 32- or 64-bit architectures as long as they have a paged memory management unit (PMMU) and a port of the GNU C compiler (gcc).
Linux has also been ported to a number of architectures without a PMMU, although functionality is then obviously somewhat limited. See the uClinux project for more info.
Enhancements:
- Add flags to frequency -> auto/fixed
- Document (struct iw_quality *)->updated, add new flags (INVALID)
- Wireless Event capability in struct iw_range
- Add support for relative TxPower (yick !)
- Change the way we get to spy_data method for added safety and hostap
- Remove spy #ifdef, they are always on -> cleaner code
- Allow any size GET request if user specifies length > max
- Start migrating get_wireless_stats to struct iw_handler_def
- Based on patch from Pavel Roskin :
- Fix kernel data leak to user space in private handler handling
For the full list , please see the Changelog
<<lessIt has all the features you would expect in a modern fully-fledged Unix, including true multitasking, virtual memory, shared libraries, demand loading, shared copy-on-write executables, proper memory management, and TCP/IP networking.
Linux was first developed for 32-bit x86-based PCs (386 or higher). These days it also runs on (at least) the Compaq Alpha AXP, Sun SPARC and UltraSPARC, Motorola 68000, PowerPC, PowerPC64, ARM, Hitachi SuperH, IBM S/390, MIPS, HP PA-RISC, Intel IA-64, DEC VAX, AMD x86-64 and CRIS architectures.
Linux is easily portable to most general-purpose 32- or 64-bit architectures as long as they have a paged memory management unit (PMMU) and a port of the GNU C compiler (gcc).
Linux has also been ported to a number of architectures without a PMMU, although functionality is then obviously somewhat limited. See the uClinux project for more info.
Enhancements:
- Add flags to frequency -> auto/fixed
- Document (struct iw_quality *)->updated, add new flags (INVALID)
- Wireless Event capability in struct iw_range
- Add support for relative TxPower (yick !)
- Change the way we get to spy_data method for added safety and hostap
- Remove spy #ifdef, they are always on -> cleaner code
- Allow any size GET request if user specifies length > max
- Start migrating get_wireless_stats to struct iw_handler_def
- Based on patch from Pavel Roskin :
- Fix kernel data leak to user space in private handler handling
For the full list , please see the Changelog
Download (43.6MB)
Added: 2009-04-06 License: GPL Price:
202 downloads
Install Kernel 0.9.3
Install Kernel is an advanced script which installs the kernel and sets up LILO or GRUB. more>>
Install Kernel interfaces with the Linux operating system by running a series of functions or groups of commands that automate the compiling or recompiling and installation process.
Install Kernel project consists of three groups of functions: building the kernel and moving files, checking dependencies, and editing the boot loader configuration file. Grouping all of the functions in these three groups makes maintaining and altering the script much easier.
Install Kernel can also be considered a program, because a program does checking and makes choices accordingly. A script is usually a file, which contains a certain number of commands with no logic in mind. Therefore, while ik is technically a script, it can also be called a program.
Dependency checks are to make sure the current system configuration and settings are properly setup before proceeding with the kernel build. There are seven dependency checks, they are: a root check, space check, link check, boot check, boot loader check, configuration check, and a module check.
First, the root check makes sure the user is a super user; which means they are capable of editing important system files only accessible to the root account. The space check makes sure there is at least 200 megabytes available.
The kernel source these days is around 150 megabytes just for the source code. When one compiles the kernel, it may increase the size to 50 megabytes or more. Therefore, ik
checks for at least 200MB available in order to successfully compile the kernel without running out of space. Next, it is not required, but it is standard to have a symbolic link of /usr/src/linux pointing to /usr/src/linux-x.y.z.
The fourth check makes sure the user has a /boot directory, this is where the Linux kernel files will be installed to. The fifth check determines the bootloader that will be used. There are two main boot loaders in Linux. LILO and GRUB are the two most popular for booting the operating system.
This check accurately finds whether the kernel was booted from either LILO or GRUB by checking which bootloader was used last. It then tells the rest of the script to edit the correct one accordingly. The sixth configuration check is to make sure users have created a proper kernel configuration file, which is used in the process of building the Linux kernel.
The final check is a module check, if modules are turned off, the script will determine this and alter the installation process to install with no module support. The main idea behind the depdency checks is to make sure the user cannot damage his or her system if they do not do something right.
The installation process also contains seven functions. The installation process is usually several commands. However, because of the differences that can occur in a users configuration file, each part of the building process must be checked and the building process may need to be altered.
The first function makes sure the dependencies are setup correctly for all files in the kernel source tree. The second function deletes stale object files and or old kernel files. Next, the third function is the kernel build function; this function runs a command to build the Linux kernel. Next, functions four and five make and install modules if the user had specified module support in his or her kernel configuration file.
The sixth function moves the Linux kernel and its System dependency map to the boot partition. The last function of the build process sets up module dependencies for the new kernel if modules were defined. The installation process also includes a small error check for each part of the kernel build process.
If any part of the kernel build process fails; the script will abort, not modifying any boot loader configuration files. This is important; because if it did not abort, it may alter the boot loader configuration files, thus rendering the system unbootable. It is important to support every Linux configuration possible because of the wide use of this script.
The boot loader configuration and setup process is probably the most important aspect of installing a new kernel. An improper boot loader configuration may leave one with system that does not boot; or simply does not boot the new kernel.
It is also important, as some systems may have two or more boot loaders installed. There are four functions defined for this process. The first function uses the boot loader, which was defined during the configuration checks. The second function defines where the LILO or GRUB configuration files are located.
Next, depending on which boot loader is found, either LILO or GRUB configuration files are edited automatically by sed. Sed is a stream editor, which edits a file with no user intervention. If user intervention were required, the user would have to be present between certain parts of the kernel installation. With ik, it makes efficient use of a users time because only one command needs to be entered to complete the entire installation and setup process.
Install Kernel is a useful tool for those who are new to Linux, rebuild their kernel often, or value their time. It reduces the commands for installing the kernel from about thirteen to one. Users new to Linux may find this attractive.
This is because the entire process is automated; and if something is not correct, in most cases ik will notify the user what is incorrect, and how to fix the error. On the other side, for experienced users who do not wish to spend valuable time installing a new kernel, this is also very handy. Install Kernel is efficient by requiring no user intervention and reducing time spent on kernel installs, and effective by giving new to Linux the option for an easy kernel upgrade.
Enhancements:
- Updated to work with the newer version of coreutils for head and tail.
- The MAKE_JOBS directive has been removed in favor of make -j2 to prevent make from spawning hundreds of jobs if /proc/cpuinfo did not exist.
<<lessInstall Kernel project consists of three groups of functions: building the kernel and moving files, checking dependencies, and editing the boot loader configuration file. Grouping all of the functions in these three groups makes maintaining and altering the script much easier.
Install Kernel can also be considered a program, because a program does checking and makes choices accordingly. A script is usually a file, which contains a certain number of commands with no logic in mind. Therefore, while ik is technically a script, it can also be called a program.
Dependency checks are to make sure the current system configuration and settings are properly setup before proceeding with the kernel build. There are seven dependency checks, they are: a root check, space check, link check, boot check, boot loader check, configuration check, and a module check.
First, the root check makes sure the user is a super user; which means they are capable of editing important system files only accessible to the root account. The space check makes sure there is at least 200 megabytes available.
The kernel source these days is around 150 megabytes just for the source code. When one compiles the kernel, it may increase the size to 50 megabytes or more. Therefore, ik
checks for at least 200MB available in order to successfully compile the kernel without running out of space. Next, it is not required, but it is standard to have a symbolic link of /usr/src/linux pointing to /usr/src/linux-x.y.z.
The fourth check makes sure the user has a /boot directory, this is where the Linux kernel files will be installed to. The fifth check determines the bootloader that will be used. There are two main boot loaders in Linux. LILO and GRUB are the two most popular for booting the operating system.
This check accurately finds whether the kernel was booted from either LILO or GRUB by checking which bootloader was used last. It then tells the rest of the script to edit the correct one accordingly. The sixth configuration check is to make sure users have created a proper kernel configuration file, which is used in the process of building the Linux kernel.
The final check is a module check, if modules are turned off, the script will determine this and alter the installation process to install with no module support. The main idea behind the depdency checks is to make sure the user cannot damage his or her system if they do not do something right.
The installation process also contains seven functions. The installation process is usually several commands. However, because of the differences that can occur in a users configuration file, each part of the building process must be checked and the building process may need to be altered.
The first function makes sure the dependencies are setup correctly for all files in the kernel source tree. The second function deletes stale object files and or old kernel files. Next, the third function is the kernel build function; this function runs a command to build the Linux kernel. Next, functions four and five make and install modules if the user had specified module support in his or her kernel configuration file.
The sixth function moves the Linux kernel and its System dependency map to the boot partition. The last function of the build process sets up module dependencies for the new kernel if modules were defined. The installation process also includes a small error check for each part of the kernel build process.
If any part of the kernel build process fails; the script will abort, not modifying any boot loader configuration files. This is important; because if it did not abort, it may alter the boot loader configuration files, thus rendering the system unbootable. It is important to support every Linux configuration possible because of the wide use of this script.
The boot loader configuration and setup process is probably the most important aspect of installing a new kernel. An improper boot loader configuration may leave one with system that does not boot; or simply does not boot the new kernel.
It is also important, as some systems may have two or more boot loaders installed. There are four functions defined for this process. The first function uses the boot loader, which was defined during the configuration checks. The second function defines where the LILO or GRUB configuration files are located.
Next, depending on which boot loader is found, either LILO or GRUB configuration files are edited automatically by sed. Sed is a stream editor, which edits a file with no user intervention. If user intervention were required, the user would have to be present between certain parts of the kernel installation. With ik, it makes efficient use of a users time because only one command needs to be entered to complete the entire installation and setup process.
Install Kernel is a useful tool for those who are new to Linux, rebuild their kernel often, or value their time. It reduces the commands for installing the kernel from about thirteen to one. Users new to Linux may find this attractive.
This is because the entire process is automated; and if something is not correct, in most cases ik will notify the user what is incorrect, and how to fix the error. On the other side, for experienced users who do not wish to spend valuable time installing a new kernel, this is also very handy. Install Kernel is efficient by requiring no user intervention and reducing time spent on kernel installs, and effective by giving new to Linux the option for an easy kernel upgrade.
Enhancements:
- Updated to work with the newer version of coreutils for head and tail.
- The MAKE_JOBS directive has been removed in favor of make -j2 to prevent make from spawning hundreds of jobs if /proc/cpuinfo did not exist.
Download (0.004MB)
Added: 2006-05-24 License: GPL (GNU General Public License) Price:
1249 downloads
Linux Kernel Monitor 0.3 Alpha
Linux Kernel Monitor is a tool for monitoring and managing linuxs kernel. more>>
Linux Kernel Monitor is a tool for monitoring and managing linuxs kernel. It has been developed for GNOME, using Glib and Gtk libraries in C language.
lkmonitor tries to offer detailed information of the characteristics of the system, as type of cpu, state of the memory or the file system registered in kernel.
lkmonitor is an open source project with information about the source code and software architecture to make easy the development of new characteristics.
Enhancements:
- IO information, kernel information, networking info, processes specific information, filesystems, modules, etc.
<<lesslkmonitor tries to offer detailed information of the characteristics of the system, as type of cpu, state of the memory or the file system registered in kernel.
lkmonitor is an open source project with information about the source code and software architecture to make easy the development of new characteristics.
Enhancements:
- IO information, kernel information, networking info, processes specific information, filesystems, modules, etc.
Download (0.084MB)
Added: 2007-07-30 License: GPL (GNU General Public License) Price:
816 downloads
Kernel Version Monitor 0.5
Kernel Version Monitor is a Superkaramba theme that creates a widget displaying the current version information of the kernel. more>>
Kernel Version Monitor is a Superkaramba theme that creates a widget displaying the current version information of the Linux kernel as put forth by the kernel.org RSS feed here: http://kernel.org/kdist/rss.xml . Kernel Version Monitor uses the Tux icon from the nuoveXT icon theme found at http://nuovext.pwsp.net
Kudos and thanks to Richard "Ricardo" Szlachta for his advice on refining the aesthetics of this theme.
This is my first Superkaramba theme and a work in progress. I would love to hear comments, opinions and suggestions in order to improve this theme.
<<lessKudos and thanks to Richard "Ricardo" Szlachta for his advice on refining the aesthetics of this theme.
This is my first Superkaramba theme and a work in progress. I would love to hear comments, opinions and suggestions in order to improve this theme.
Download (0.025MB)
Added: 2006-06-29 License: GPL (GNU General Public License) Price:
1213 downloads
Kernel-Machine Library 0.1
Kernel-Machine Library is a C++ library to implement kernel machines. more>>
The Kernel-Machine Library is a freely available (released under the GPL) C++ library to promote the use and progress of kernel machines. It is both for academic use and for developing real world applications.
The Kernel-Machine Library draws heavily from features of modern C++ such as template meta-programming to achieve high performance while at the same time offering a comfortable interface.
It enables compile-time selection of specialised algorithms on the basis of data types: for example, the specific case of a SVM in combination with a linear kernel can be computed by a specialised efficient algorithm.
The Kernel-Machine Library has implementations for the following kernel machines and their cited algorithms:
- Support Vector Machine [1, 2, 3]
- Relevance Vector Machine [4]
- Kernel Recursive Least Squares [5]
- Adaptive Sparseness using Jeffreys Prior [6]
- Smooth Relevance Vector Machine [7]
Up till now, the focus has been on regression. The handling of classification and ranking problems is being added.
<<lessThe Kernel-Machine Library draws heavily from features of modern C++ such as template meta-programming to achieve high performance while at the same time offering a comfortable interface.
It enables compile-time selection of specialised algorithms on the basis of data types: for example, the specific case of a SVM in combination with a linear kernel can be computed by a specialised efficient algorithm.
The Kernel-Machine Library has implementations for the following kernel machines and their cited algorithms:
- Support Vector Machine [1, 2, 3]
- Relevance Vector Machine [4]
- Kernel Recursive Least Squares [5]
- Adaptive Sparseness using Jeffreys Prior [6]
- Smooth Relevance Vector Machine [7]
Up till now, the focus has been on regression. The handling of classification and ranking problems is being added.
Download (0.050MB)
Added: 2005-10-08 License: GPL (GNU General Public License) Price:
1478 downloads
iRiver iFP open-source driver 0.3
iRiver iFP is an user-space open-source driver for iRivers iFP flash portable MP3 players. more>>
iRiver iFP is an user-space open-source driver for iRivers iFP flash portable MP3 players.
This project encourages open source driver development for iRivers iFP portable music players. Ifp-driver was started by Pavel Kriz with ifp-line, a command-line program and the first Free iFP driver. Today, the ifp-driver mailing list is a hub of discussion for iFP driver development: participants include everyone from authors of spin-off projects, to prospective owners/users.
Ifp-driver home projects:
ifp-line is the original command line utility and Midnight Commander plugin. Stable.
linux-filesystem a linux kernel module that mounts iFP devices as filesystems. Stable.
libifp a generic iFP support library. Stable.
Related projects:
user interfaces
ifpgui a kde/qt manager by Jim Campbell; uses libifp.
ifp-gnome a gnome manager by Billy Charlton; uses ifp-line.
ifp-manager a perl+gtk2 gui
giriver a python+gtk2 frontend; uses libiriver. (unmaintained)
plugins
kio_iriver KDE KIO slave by Joe Roback; uses libiriverdriver.
[unnamed] KDE KIO slave by Thomas Loeber.
libraries
libiriverdriver a C++ library driver by Joe Roback.
pyifp python bindings for libifp, by James Evans
rubyifp Ruby bindings for libifp, by Martin Schanzenbach
libifp-cil Mono/.NET bindings for libifp, by Christian Elkjaer
libiriver an older ifp library. (unmaintained)
Unless otherwise noted, projects support all iRiver iFP devices. Users have reported successfully accessing models iFP-1xx,3xx,5xx,7xx,8xx,9xx and N10. We dont anticipate difficulty supporting future models.
Enhancements:
- Release ifp-line-0.3.
- ifp.c: Change "ifp version" output for GPL compliance.
- NEWS: Fix Engrish in NEWS.
- README: Add notice for error with non-ASCII filename.
- ChangeLog: Add ChangeLog.
<<lessThis project encourages open source driver development for iRivers iFP portable music players. Ifp-driver was started by Pavel Kriz with ifp-line, a command-line program and the first Free iFP driver. Today, the ifp-driver mailing list is a hub of discussion for iFP driver development: participants include everyone from authors of spin-off projects, to prospective owners/users.
Ifp-driver home projects:
ifp-line is the original command line utility and Midnight Commander plugin. Stable.
linux-filesystem a linux kernel module that mounts iFP devices as filesystems. Stable.
libifp a generic iFP support library. Stable.
Related projects:
user interfaces
ifpgui a kde/qt manager by Jim Campbell; uses libifp.
ifp-gnome a gnome manager by Billy Charlton; uses ifp-line.
ifp-manager a perl+gtk2 gui
giriver a python+gtk2 frontend; uses libiriver. (unmaintained)
plugins
kio_iriver KDE KIO slave by Joe Roback; uses libiriverdriver.
[unnamed] KDE KIO slave by Thomas Loeber.
libraries
libiriverdriver a C++ library driver by Joe Roback.
pyifp python bindings for libifp, by James Evans
rubyifp Ruby bindings for libifp, by Martin Schanzenbach
libifp-cil Mono/.NET bindings for libifp, by Christian Elkjaer
libiriver an older ifp library. (unmaintained)
Unless otherwise noted, projects support all iRiver iFP devices. Users have reported successfully accessing models iFP-1xx,3xx,5xx,7xx,8xx,9xx and N10. We dont anticipate difficulty supporting future models.
Enhancements:
- Release ifp-line-0.3.
- ifp.c: Change "ifp version" output for GPL compliance.
- NEWS: Fix Engrish in NEWS.
- README: Add notice for error with non-ASCII filename.
- ChangeLog: Add ChangeLog.
Download (0.13MB)
Added: 2006-07-20 License: GPL (GNU General Public License) Price:
1212 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above kernel source search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed