Sponsored Content
Full Discussion: Trying to understand kernel
Top Forums Programming Trying to understand kernel Post 302530072 by alister on Sunday 12th of June 2011 07:38:41 PM
Old 06-12-2011
The following are highly esteemed:

For the Linux kernel's interface (which is mostly POSIX compliant):
The Linux Programming Interface: A Linux and UNIX System Programming Handbook by Michael Kerrisk

For Linux kernel internals: Linux Kernel Development by Robert Love

For a tour of FreeBSD's guts (as of 5.x branch, which was a large change from 4.x and prior releases): The Design and Implementation of the FreeBSD Operating System by long time Berkeley hacker/historian McKusick and Neil.

Don't confuse that last one with The Design and Implementation of the 4.4 BSD Operating System which documents an older system (although it's useful for would-be NetBSD, OpenBSD, and DragonFlyBSD kernel hackers).

Tanenbaum's Minix-centric operating system textbooks are also highly regarded, though they are neither Linux nor FreeBSD related (although, iirc, Minix played a part in Linux's origins).

And, finally, if you really want to go old school, there's Lions' Commentary on UNIX 6th Edition. It's a much simpler kernel, which has its advantages for learning the basics.

Regards and good luck,
Alister
This User Gave Thanks to alister For This Post:
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

can't understand

how i can download this game n start it :S (5 Replies)
Discussion started by: BoyArcher
5 Replies

2. Linux

Kernel panic - not syncing: cannot execute a PAE-enabled kernel on PAE-less CPU

ok so I just installed fedora core 6 on my dell inspiron 700m and I go to boot into linux and I get this error. Has anyone seen this before? I also had XP Pro and Vista installed on this pc prior to putting fedora core 6 on the machine. I'm trying to setup a triple boot system. Please Help... (2 Replies)
Discussion started by: dave043
2 Replies

3. Programming

kernel-kernel call communication

hi all! i have developed a mechanism in system.c to count how many times each kernel call is called. The results are held in an array in system.c . What i want to do is to create a new kernel call which will print this array. I need help in passing the array from system.c to the new kernel call. ... (5 Replies)
Discussion started by: aureliano
5 Replies

4. SuSE

max number of slabs per kernel module (kernel 2.6.17, suse)

Hi All, Is there a max number of slabs that can be used per kernel module? I'm having a tough time finding out that kind of information, but the array 'node_zonelists' (mmzone.h) has a size of 5. I just want to avoid buffer overruns and other bad stuff. Cheers, Brendan (4 Replies)
Discussion started by: Brendan Kennedy
4 Replies

5. AIX

How to convert a partition usin 64 bits kernel to 32 bits kernel?

Hello there: I know that exist a procedure to convert an OS using 32bits kernel to 64 bits kernel. But, exist a procedure to convert an OS using 64bits to 32 bits kernel? Please help me. Regards. (2 Replies)
Discussion started by: GEIER
2 Replies

6. Linux

Supermicro(dual core) server getting rebooted after "decompressing the kernel;booting the kernel" me

supermicro(dual core) server getting rebooted after "decompressing the kernel;booting the kernel" message comes. I tried giving acpi=off to the kernel command line but same problem.It shows everything ok and no problem with memory and processors and power supplies.Wt could be the reason? It has... (1 Reply)
Discussion started by: pankajd
1 Replies

7. Solaris

Which file is read by kernel to set its default system kernel parameters values?

Hi gurus Could anybody tell me which file is read by kernel to set its default system kernal parameters values in solaris. Here I am not taking about /etc/system file which is used to load kernal modules or to change any default system kernal parameter value Is it /dev/kmem file or something... (1 Reply)
Discussion started by: girish.batra
1 Replies

8. Shell Programming and Scripting

can't understand!

Hi All, can you please help me to figured out what's the meaning of this. ${SERVER_DATABASE} -b << EOF 2>>/dev/null THanks, (3 Replies)
Discussion started by: nikki1200
3 Replies

9. Linux

Unload kernel module at boot time (Debian Wheezy 7.2, 3.2.0-4-686-pae kernel)

Hi everyone, I am trying to prevent the ehci_hcd kernel module to load at boot time. Here's what I've tried so far: 1) Add the following line to /etc/modprobe.d/blacklist.conf (as suggested here): 2) Blacklisted the module by adding the following string to 3) Tried to blacklist the module... (0 Replies)
Discussion started by: gacanepa
0 Replies
CACHEFLUSH(2)						     Linux Programmer's Manual						     CACHEFLUSH(2)

NAME
cacheflush - flush contents of instruction and/or data cache SYNOPSIS
#include <asm/cachectl.h> int cacheflush(char *addr, int nbytes, int cache); DESCRIPTION
cacheflush() flushes the contents of the indicated cache(s) for the user addresses in the range addr to (addr+nbytes-1). cache may be one of: ICACHE Flush the instruction cache. DCACHE Write back to memory and invalidate the affected valid cache lines. BCACHE Same as (ICACHE|DCACHE). RETURN VALUE
cacheflush() returns 0 on success or -1 on error. If errors are detected, errno will indicate the error. ERRORS
EFAULT Some or all of the address range addr to (addr+nbytes-1) is not accessible. EINVAL cache is not one of ICACHE, DCACHE, or BCACHE (but see BUGS). CONFORMING TO
Historically, this system call was available on all MIPS UNIX variants including RISC/os, IRIX, Ultrix, NetBSD, OpenBSD, and FreeBSD (and also on some non-UNIX MIPS operating systems), so that the existence of this call in MIPS operating systems is a de-facto standard. Caveat cacheflush() should not be used in programs intended to be portable. On Linux, this call first appeared on the MIPS architecture, but nowadays, Linux provides a cacheflush() system call on some other architectures, but with different arguments. BUGS
Linux kernels older than version 2.6.11 ignore the addr and nbytes arguments, making this function fairly expensive. Therefore, the whole cache is always flushed. This function always behaves as if BCACHE has been passed for the cache argument and does not do any error checking on the cache argument. COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. Linux 2017-09-15 CACHEFLUSH(2)
All times are GMT -4. The time now is 04:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy