l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
October 20: Web Application Hacking: How to Make and Break Security on the Web
Next Installfest:
TBD
Latest News:
Oct. 10: LUGOD Installfests coming again soon
Page last updated:
2011 May 07 07:36

The following is an archive of a post made to our 'vox mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox] Fwd: Programmng the Kernel...
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox] Fwd: Programmng the Kernel...



On 05/06/2011 08:03 AM, Mikies Runs Baal wrote:>
> THANKS for the heads up.
> 
> I am currently independently working ahead of the course offerings of 
> the community college as I have specific goals in mind. In fact, an 
> emphasis on programming languages is not offered. Unfortunately, JAVA 
> seems to be all the rage atm. And JAVA can't do what I am researching 
> and working toward.

I'm curious what this java incompatibility use is.

> I am trying to get permission for some of the 
> advanced OOP courses to be completed using C/C++.

On the scale of OO I'd consider Java better than C/C++.  I guess it
depends if the class's goal is to teach programming or OO programming.

> There is some 
> resistance though in spite of the fact that these courses were taught 
> using C/C++ not too long ago.

Seems like the C/C++ migration to Java for most coursework was carefully
considered.

> I have been thinking about checking out course offerings at UCD. UCD has 
> quite an extensive extension course offering or did at one time, but 
> even there I may not find courses in the arena that I am focused. 

You might get better recommendations if you mentioned what that arena was.

> I bought a copy of: The Linux Kernel Module Programming Guide, and am 
> reviewing it atm which is quite short, but appears to be an excellent 
> tutorial introduction to working with and programming the Linux kernel. 
> I don't want to screw-up my Fedora laptop, so, I will need to learn to 
> setup a separate boot partition to test the results of my 
> experiementation. I am sort of thinking of using a 100MB (may be too 
> small) ZIP drive or external HDD. I should be able to use GRUB to select 
> a boot from the external drive.

Er, well I wouldn't recommend that at all.  It's rather painful to
login, fire up a bunch of windows, edit kernel source (often referring
to 5-10 different files and/or a few tabs), check into source control,
compile, link, write kernel + initrd, reboot, select new kernel,
potentially fail/panic/scribble over the partition table, reboot, select
old kernel, fsck (because of the panic), login, fireup a bunch of
windows... etc.

Did you want one edit, compile, run cycle per 15 minutes or 2 minutes?
I'd suggest either a virtual machine, or a 2nd machine (with PXE boot)
so you can A) build/run quickly and B) get logging/debugging info from
the test kernel while it's running.  With 2 machines (virtual or
otherwise) there are various ways to debug via serial, network block
driver, or virtual console.

> Obviously, maybe not so obviously, I am into programming, and more 
> specifically, R&D using C/C++ (taking C in the Fall). I'll be taking 
> Assembler next Spring IF it is offered. I expect to transfer at the end 
> of the next academic year.

Very little of the kernel is ASM btw.  I've not seen any numbers
recently, but I'd be surprised if it was even 1%.

> If I am not careful, I could wind up volunteering for the tldp.org in 
> some capacity.

Horror or horrors ;-).

> If you have any tomes that you think might make good "light" reading 
> (LOL), feel free to offer. Did you have a specific text for the course 
> in OS's or was it put together by the professor in his/her syllabus?

Hard to recommend anything without having any idea what your goals are,
what your research is, or interests.  Numerous papers, tutorials, and
HOWTOs have been done for research on schedulers, drivers, file systems,
memory management, interrupt handling, profiling, network stack,
locking/polling/semaphores, and numerous other areas of kernel
functionality.
_______________________________________________
vox mailing list
vox@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
O'Reilly and Associates
For numerous book donations.