Slashdot Mirror


Best Advanced Linux Kernel Training?

hdxia writes "Can anybody recommend a good Linux kernel training course? I have had some Linux kernel hacking experience, but would like to further harden and improve my understanding of the kernel. I expect the course would be advanced. You may say that the best method would be to dig into the kernel myself, but I really want to have a chance to discuss and learn all aspects of the kernel with an experienced instructor."

153 comments

  1. obligatory? by feld · · Score: 2, Funny

    RTFM

    there, now everybody should feel at home

    seriously though, it would be cool if this was offered at major universities. but you'd need knowledgable instructors and they'd be hard to come by.

    1. Re:obligatory? by cide1 · · Score: 4, Insightful

      Kernel hacking is taught at major universities, but under the title "Operating Systems". These classes teach scheduling, device drivers, file systems, memory management, networking, etc. The goal of a university is to give you the background knowledge necessary to understand specific implementations. The specifics of the linux kernel change rapidly, but the concepts are 40 years old. No instructional course has a chance of keeping up, the kernel documentation cant even keep up. It takes a problem solver, and an inquizitive mind to be able to apply the background knowledge to specific instances.

      --
      -- the computer doesn't want any beer, no matter how much you think it does. NEVER, EVER feed your computer beer.
    2. Re:obligatory? by jbhuffman · · Score: 1

      Actually, depending on the school, there may be a course. I had a systems programming course where the prof chose the linux kernel as the subject. It could've been a little more advanced but there were a number of students that didn't care about linux or programming for that matter (it was a requirement for the degree).

    3. Re:obligatory? by Anonymous Coward · · Score: 0

      Having an understanding of kernel internals is an important part of a CompSci degree however this is precisely the reason Minix, Xinu, etc. were created as the Linux kernel or any other "real world" kernel has a lot of optimisation cruft and special case code that would get in the way of a students' understanding of what is going on for all but the very best students.

    4. Re:obligatory? by misleb · · Score: 1

      OS design is covered at universities and the Linux kernel is often specifically examined. But they also show how other systems do things (and how they did it in the past). From what I gathered from my OS class, modern kernels are not really THAT different. I mean, they all have to do the same basic things. Once you learn the basics you should be able to just dive into the LInux kernel code and see how it works in detail.

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    5. Re:obligatory? by jc42 · · Score: 2, Funny

      the computer doesn't want any beer, no matter how much you think it does. NEVER, EVER feed your computer beer.

      OTOH, when it asks for a cookie, you often find that you have to go along with the request, or the thing you tried to do just won't work quite right.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    6. Re:obligatory? by visualight · · Score: 1

      I like to say theory>implementation. It's why I have more respect for Linux S/A's more than Windows S/A's - Linux exposes you and sometimes forces you to understand "theory" but the Windows Wizards only give you implementation.

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    7. Re:obligatory? by c_sd_m · · Score: 2, Insightful

      But if you give your computer a cookie, it's going to ask for a glass of milk...

    8. Re:obligatory? by thedarknite · · Score: 1

      It depends on the scope of the systems your using. I've found that some types of Win servers still require a fair amount of theoretical knowledge.

      There is also the fact that some of the implemented functions, (besides from operating in a bizarro fashion) are not accessible through the gui.

      --
      A game has objectives and is competitive, anything else is just play
    9. Re:obligatory? by EvanED · · Score: 5, Informative

      Kernel hacking is taught at major universities, but under the title "Operating Systems".

      We did no kernel programming in either the undergrad or graduate OS class at my undergraduate institution (I took both). It was all fairly low-level C systems programming. The undergrad OS class at my graduate institution (a top ten CS school) is the same way -- in fact, the OS class there is sometimes taught in Java. We did no kernel programming in any class I've taken so far, except for the graduate OS class at my graduate institution, and that was only because that was the project I happened to pick.

      You learn OS theory, sure, and you almost need an understanding of a lot of that to know all of what's going on around the Linux kernel, but you're not going to learn about the Linux kernel in an OS class.

    10. Re:obligatory? by EvanED · · Score: 1

      And then it'll want a straw, and who knows what will happen after that.

    11. Re:obligatory? by ozmanjusri · · Score: 3, Funny
      Kernel hacking is taught at major universities

      Yes, I understand there's a professor Tannenbaum at the Vrije University in the Netherlands who will discuss the Linux kernel in depth, if you ask him.

      --
      "I've got more toys than Teruhisa Kitahara."
    12. Re:obligatory? by Anonymous Coward · · Score: 0

      Georgia Tech's first undergraduate-level OS specialization class (CS 3210) focuses on the Linux kernel. The programming projects are focused on modifying the kernel and include implementing a filesystem and replacing the Linux scheduler. The course has been around and using Linux since at least 1999 (and possibly longer). Sure, you're not going to learn everything about the Linux kernel, but you get a good overview of the key subsystems and major functionality (in the context of topics for a undergraduate OS class).

    13. Re:obligatory? by Yaztromo · · Score: 4, Interesting

      We did no kernel programming in either the undergrad or graduate OS class at my undergraduate institution (I took both). It was all fairly low-level C systems programming. The undergrad OS class at my graduate institution (a top ten CS school) is the same way -- in fact, the OS class there is sometimes taught in Java.

      I'm currently the 3rd year Undergraduate Operating Systems instructor at a big University, and while I'd love to have my students do their work with a real kernel (and preferably an Open Source kernel, like Linux, BSD, or Xnu), it just isn't feasible. First off, the student's C is somewhat weak -- by the time they get to me, they've spent most of their time working in Java. Giving them 2 - 3 week long assignments hacking the Linux kernel would absolutely brutalize them. In my case, I have have a lab issue -- the department hasn't assigned a lab to the course, so I don't have a common system they can do their work on. And even if I did, the IT department probably wouldn't be too fond of them having the ability to recompile and load their own kernels (although this could be mitigated by having them run entirely within a VM -- if we had an assigned lab for the course). And finally, the burden on the grad student marker to be able to mark such assignments would be rough.

      The only way I can think to make such a course work (at least where I'm teaching) would be to ask the students to study and explain how various OS subsystems work. I'm all for doing such a thing, but my department wants the students to do programming assignments (note that I'm just a lowly Instructor -- I'm not a tenured Professor).

      In the end, however, I don't think that it's realistic for me to expect my students to be able to write an OS once they get out, as few (if any) ever will. My stated goals for them are to have them be able to understand how OS's work, so that they can a) write code that interfaces correctly with the system (API/system calls, IPC, memory management, etc.), and b) be able to compare and contrast different aspects of different OS's, and recommend the best OS for a given task.

      Now ideally, my course would then segue to a more advanced kernel-hacking course for those who are sufficiently motivated to take it. However, I doubt many Universities have a suitable practical kernel hacking Instructor/Professor on staff. I'd love to be able to teach such a course, but my practical Linux kernel experience doesn't really extend beyond make clean;make menuconfig;make dep;make;make modules;make install.

      Such a course would be cool -- I just imagine many Universities lack the expertise in house to offer such a course.

      Yaz.

    14. Re:obligatory? by Anonymous Coward · · Score: 0

      Try installing Gentoo... thats the best Kernel training tool I've ever used.

    15. Re:obligatory? by nacturation · · Score: 2, Funny

      But if you give your computer a cookie, it's going to ask for a glass of milk... And that explains why some people look at breasts all day on their computers?
      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    16. Re:obligatory? by Anonymous Coward · · Score: 0

      while I'd love to have my students do their work with a real kernel (and preferably an Open Source kernel, like Linux, BSD, or Xnu), it just isn't feasible.

      Surely by year three you could throw Minix or OSKit or Xinu at them and expect them to pick it up? Or am I being too naive?

      First off, the student's C is somewhat weak -- by the time they get to me, they've spent most of their time working in Java.

      Oh I see, the later.

      I fear for the future of humanity if all Universities are doing is churning out mediocre Java developers and then cutting out essential parts of the course because it doesn't fit the Javarific world they've chosen for themselves. Tannenbaum would be spinning on his bicycle.

    17. Re:obligatory? by kendirangu · · Score: 1

      The best book is Andrew Tannebaum's Operating Systems: Design and Implementation which details how to build an operatig system called minix. Plus it comes complete with the source code.

    18. Re:obligatory? by yada21 · · Score: 3, Funny

      Back when it was all diallup, the interweb was a series of straws.

      --
      I will have a sig when the market demands it.
    19. Re:obligatory? by Yaztromo · · Score: 2, Interesting

      I fear for the future of humanity if all Universities are doing is churning out mediocre Java developers and then cutting out essential parts of the course because it doesn't fit the Javarific world they've chosen for themselves. Tannenbaum would be spinning on his bicycle.

      I don't disagree at all. By the time they get to me, they will have had a little bit of C experience, but it's just a perhaps month-long module in a course on general Unix development (which also includes Unix commands, Perl, and CVS). I am having the tutorial leader teach them various C stuff in their weekly tutorial sessions, which is a start I suppose.

      And while we're complaining, I'll also note that I'm introducing a paper to the course this term, as I've found with some previous experience at this University that the report writing abilities of the undergrad students here are pretty weak. I can't exactly blame the students however, as by-and-large most of their courses in Computer Science are strictly programming courses.

      I imagine we can find problems with the curriculum at pretty much any University, but the one I'm at needs to do more advanced low-level programming and more report writing at the lower year levels IMHO.

      Yaz.

    20. Re:obligatory? by Anonymous Coward · · Score: 1, Funny

      > And that explains why some people look at breasts all day on their computers?

      breasts are great and all, but after viewing say, 1000 in a single sitting, the novelty wears off!

    21. Re:obligatory? by smittyoneeach · · Score: 1

      Straws? We dreamed of straws. In my day, we were confined to a bit of string. Worse, we had to push it. Try telling that to one of You Tubes today...

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    22. Re:obligatory? by temojen · · Score: 1

      The third year OS course I took had us writing schedulers etc for a simulated Operating System. Maybe something of that sort would be good. It was very handy as the fourth year real-time systems class I took had us writing a scheduler with hard timing constraints in assembley for a robot.

    23. Re:obligatory? by adamruck · · Score: 1

      "These classes teach scheduling, device drivers, file systems, memory management, networking, etc"

      scheduling theory - check
      device drivers - you wish
      file system theory - check
      memory management theory - check
      networking - you wish

      My experience has been the exact opposite. I took an operating systems course at a four year university, and we didn't write a single line code that wasn't in user land. That wasn't the intro to operating systems course either, that was the 400 level five credit course. I even went to my professor with some specific questions about the Linux kernel system. My professor explained to me that he didn't know jack shit about actual kernel implementation, instead he only knew theory.

      You may think, gee, well that professor must have been a bad one. Most of my class thought the opposite. They thought he was some sort of uber hacker, but that was mostly because he wrote his own book for the class. Then again, most of my fellow students wouldn't know a kernel module if it bit them in the ass.

      The whole course was a HUGE disappointment for me.

      --
      Selling software wont make you money, selling a service will.
    24. Re:obligatory? by phaggood · · Score: 1

      We did no kernel programming in either the undergrad or graduate OS class at my undergraduate institution (I took both). It was all fairly low-level C systems programming. The undergrad OS class at my graduate institution (a top ten CS school) is the same way -- in fact, the OS class there is sometimes taught in Java

      And the problem with that being ....?

    25. Re:obligatory? by cecille · · Score: 2

      I had the complete opposite experience at my university. Our instructor was fantastic and INCREDIBLY knowledgeable - he actually wrote part of the original BSD kernel back in the day. We were lucky because they did set up computers for us to play with - dual boot windows and freeBSD. Students were given the root password for the freeBSD, with the full knowledge that the installs WOULD be messed up and and have to be repaired pretty frequently. We didn't have individual accounts on freeBSD (used linux in CS and hpux on central), so we were warned about leaving files around etc. It worked out well actually. Assignments were fairly simple, usually only a few lines of code, stuff like replacing the missing parts of drivers, setting up simple things etc. They'd take maybe 30 mins if you knew what you were doing, much MUCH longer if you didn't quite get it. Overall very informative.

      Anyway, there are a lot of universities that DO offer this kind of thing - that might be a good place to go. A lot of times they will let you take courses on their own if you jump through some hoops.

      --
      ...no two people are not on fire.
    26. Re:obligatory? by quarkie68 · · Score: 2, Informative

      I am a bit surprised with what I read, as I happen to know many academic institutions (UK based) that do teach the inner parts of the Linux kernel to final year undergrads. Some courses are a little bit out of date (teaching 2.4 kernel stuff) but one could get the basic idea and then find references (see latter paragraphs) to jump from 2.4 to 2.6 . In fact, I graduated from one of them 7 years ago and I do remember the long nights behind a source editor looking at kernel structures and making the kernel panic in all sorts of ways :-P .

      However, I would agree that the C programming skills are in a downturn, something reflected by the fact that most courses are geared towards application programming and systems programming (not the digital electronics and the C to interface to microcontrollers) seems to be heading towards a new area51 tag :-) .

      Anyways, to respond to the original question, I would say, from my own humble experience, that kernel programming is not something that you could digest easily, even in a semester course, especially in your final year (I am not trying to put you off, read on). Not only because, as correctly said, there is relative lack of intermediate C programming skill in the majority of uni courses. Even if you were an intermediate C programmer, there is too much to grasp, from OS theory, down to programmming style and the way things are done in Linux (there is a different C programming style for applications, and a different one for kernel system calls). So, what to do to overcome this issue:

      1)Make sure you get your hands on:

      i) Linux Kernel Development (2nd Edition) by Robert Love

      ii)O Reilly Practical C Programming, the 3rd Edition.

      iii)A 2.6 based linux kernel distro.

      2)Start with Robert Love's book. Read chapters 1-4, up to the point you understand the theory behind system calls.

      3)Make sure you then read systematically the C programming book, especially the chapters about pointers, structures and linked lists (advanced pointers). At the same time, make sure you get frequently into the process of compiling your own kernel.

      At this point, continue with the rest of the chapters of Robert Love's group. THEN it is the right time, when you have an idea, to look for a course, and you will get a lot more from it, having done your reading. Make sure to get in touch with your local LUG (Linux User Group). There must be somebody there that shares your interests that can inform you about courses or assist you and others to go deeper into the kernel.

      GM

    27. Re:obligatory? by smittyoneeach · · Score: 1

      Hogwash.
      Gentoo is a source-based Linux distribution. A package manager.
      As far as learning the system components, http://www.linuxfromscratch.org/ is a far better tutorial.
      But neither is intended to be a kernel introduction.

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    28. Re:obligatory? by GringoCroco · · Score: 0
      I'm a 4th year student at Politehnica University of Bucharest, Romania.
      We have an Operating Systems course and an Operating System Design course.
      In OS we study WIN32 and POSIX & SYS V APIs. Homeworks:
      1. implementing a commandline shell for linux/windows (with support for &, &&, ||, ;, >, env variables ... etc.
      2. Working with shared memory and other IPC
      3. a dynamic library implementing a monitor(.so/.dll)
      4. a fileserver: Windows with IOCP and linux with async io and epoll
      In OS Design we learn the internals of Windows NT (> 2000) and Linux (2.6). HW:
      1. system call interceptor
      2. UART Driver
      3. Filesystem driver
      4. a firewall
      5. RAID1 smth... didn't do the hw.

      So when american companies outsource to Romania, could it so because we know our stuff :D ?
    29. Re:obligatory? by Anonymous Coward · · Score: 0

      "RTFM there, now everybody should feel at home"

      You mean UTSL?

    30. Re:obligatory? by quarkie68 · · Score: 0

      "a professor Tannenbaum at the Vrije University"...

      Professor Tannenbaum prefers to teach OSes using microkernels, so he would probably love to explain MINIX and other mikrokernels architectures for teaching, as opposed to monolithic kernels (Linux). That is his view, not mine.

      GM

    31. Re:obligatory? by the_ed_dawg · · Score: 2, Insightful

      The replies to this comment seem to be along the lines of "they don't teach that at my university, so you're wrong." As a clarification to the parent, it should be noted that the CS 503 course taught at Purdue (cide1's and my university) has a lab where you have to implement a scheduler, a full virtual memory subsystem with demand paging, and a file system in the Xinu operating system on real hardware. If you break something, the only feedback you get is three beeps and a new boot prompt about 30 seconds later. No debugger. Non-deterministic execution. Minimal crash information. Anger, hate, and suffering. It's remarkably similar to my experience with Linux kernel hacking.

      The CS 503 course provides a (relative to Linux) small implementation effort that provides a sample of what programming in a major OS kernel is like. From that perspective, cide1's comment is dead on. You can't expect a college course to give you the full story. At some point, you're going to have to teach yourself. Personally, I am content that I can read "Understanding the Linux Kernel" and "Linux Kernel Development" and understand all the different concepts without having to refer to another book.

      --
      There are two types of people: those prepared for the zombie apocalypse and those who will be eaten.
    32. Re:obligatory? by akar_naveen · · Score: 2, Informative
      Prof. Raphael Finkel (about)has been offering a "Linux Internals" course for a few years now. He started it with the 2.4 kernel with Understanding the Linux Kernel (2nd Edition) by Bovet & Cesati as the text book; he's even updated the course to the 2.6 kernel and uses both Robert Love's Linux Kernel Development (2nd edition) and Bovet & Cesati(3rd Edition) as references. Check out the syllabus here:

      http://www.cs.uky.edu/~raphael/courses/CS585.html

      I think this is one of the best Linux kernel training courses you can get anywhere.

    33. Re:obligatory? by Wooloomooloo · · Score: 2, Funny

      If you mean "novelty" as in "the palm of the hand", you might have a point.

    34. Re:obligatory? by burdalane · · Score: 1

      The OS class I took at my university (top two science/engineering institution, top 15 in computer science) involved lots of kernel hacking. The lectures taught the usual theory, but almost all the homework assignments involved hacking the kernel. Unfortunately, I didn't do well in it or get much out of it because at the time I had poor C skills and very little experience with Linux.

    35. Re:obligatory? by Anonymous Coward · · Score: 0

      Whoosh!

    36. Re:obligatory? by Brotherred · · Score: 1


      You learn OS theory, sure, and you almost need an understanding of a lot of that to know all of what's going on around the Linux kernel, but you're not going to learn about the Linux kernel in an OS class.
      Agreed I once took a Unix course where we used Fedora Core 5,6 as the software. The book was called "Learning Unix using Linux". There was not any talk of kernel modification in that whole book. The text book by the way came with a CD of FC5 and it said that it could not be copied or redistributed. I corrected them on that however. The publisher was Thomson.
      --
      Those that do not know, pay for it.
  2. yes? by Anonymous Coward · · Score: 0

    an Operating Systems course in a computer science programme at a university, maybe?

    and first post.

  3. I guess not? by aldousd666 · · Score: 0, Offtopic

    Since I'm at or near FP, I guess not.

    --
    Speak for yourself.
  4. Harden ones understanding? by mr_stinky_britches · · Score: 1, Funny

    How exactly would one 'harden' ones understanding? Sounds wacky.. or tacky ..

    --
    Wi-Fizzle Fo' Shizzle Dizzle

    --
    Censorship is obscene. Patriotism is bigotry. Faith is a vice. Slashdot 2.0 sucks.
    1. Re:Harden ones understanding? by Frogbert · · Score: 4, Funny

      Sounds wacky.. or tacky .. As opposed to your sig?
    2. Re:Harden ones understanding? by mr_stinky_britches · · Score: 2, Funny

      As opposed to your sig?

      Precisely!

      --
      Wi-Fizzle Fo' Shizzle Dizzle
      --
      Censorship is obscene. Patriotism is bigotry. Faith is a vice. Slashdot 2.0 sucks.
    3. Re:Harden ones understanding? by LighterShadeOfBlack · · Score: 1

      Uh, what? You've never heard someone say that somebody has "a solid understanding" of a subject? It's a pretty common expression to refer to knowledge in that way, as if it were a physical thing - ie. to make your knowledge or understanding more tangible.

      --
      Spelling mistakes, grammatical errors, and stupid comments are intentional.
    4. Re:Harden ones understanding? by mr_stinky_britches · · Score: 1

      Solid; Sure. Harden; No. To me it reads as if it were something composed by an individual who was having difficulty expressing their ideas..

      --
      Censorship is obscene. Patriotism is bigotry. Faith is a vice. Slashdot 2.0 sucks.
    5. Re:Harden ones understanding? by Max+Littlemore · · Score: 1

      To easiest way to harden one's understanding is to take a normal soft understanding and add the cement of surety. Fill any holes in your understanding with a quick setting rigid factual putty until your mind is completely closed. Softening one's outlook and poking holes in facades has the opposite effect.

      Another way to gain a hard understanding is to construct one's mind from steel. In this way one may obtain a mind like a steel trap, although over time and exposed to natural elements, such a trap will inevitably be rusted shut.

      It is not wacky in the least. It is completely serious.

      --
      I don't therefore I'm not.
    6. Re:Harden ones understanding? by Anonymous Coward · · Score: 0

      Get over yourself.

  5. Too much. Focus by EmbeddedJanitor · · Score: 1
    You can get a broad overview by reading a few good books.

    If you want real knowledge then nothing beats deep-ending on some particular area of interest: networking, drivers, file systems...

    --
    Engineering is the art of compromise.
  6. Sorry to say by darthgnu · · Score: 3, Insightful

    Sorry to say, but experience is very often the best teacher. Experience being mistakes with time.

    --
    Freedom is strength, Ignorance is peace, War is slavery.
  7. Hire someone by bscott · · Score: 5, Insightful

    Truly "advanced" courses are hard to come by, because of limited appeal and other factors. The further you go into something the more inevitable specialization becomes, so it's not just a matter of offering one course for the tenth-of-a-percent of the market who's even heard of the Linux Kernel, but in all likelihood offering half a dozen ranging from security to device drivers to assembler optimization and so on. (and I'm just guessing here, knowing next to nothing about the kernel myself)

    My suggestion would be to find someone who's pretty savvy in the area you're aimed at, and hire him or her (OK, let's face it, "him"...) for some lessons. Keep in mind that a good programmer is not the same as a good teacher, but if you find someone who can explain things the way you need to hear them then you won't need that many lessons to make a lot of progress - the cost could very well end up in the same league as a commercially-vended course.

    I'm just guessing that finding a kernel guru willing to give up a month of Saturday afternoons at $300 a session will be easier than finding "Linux Kernel for Experts" at the downtown Learning Annex.

    --
    Perfectly Normal Industries
    1. Re:Hire someone by acidrain · · Score: 4, Insightful

      Keep in mind that a good programmer is not the same as a good teacher

      When it comes to this level of specialization you take what you can get, and be happy about it. There is a reason many Universities have brilliant professors doing incredible research who also happen to be poor teachers. (At least in the sciences.)

      --
      -- http://thegirlorthecar.com funny dating game for guys
    2. Re:Hire someone by bfields · · Score: 5, Insightful

      My suggestion would be to find someone who's pretty savvy in the area you're aimed at, and hire him or her (OK, let's face it, "him"...)

      The gender ratio is pretty extreme, but it's not 100%--there *are* expert female kernel hackers.

      I'm just guessing that finding a kernel guru willing to give up a month of Saturday afternoons at $300 a session will be easier than finding "Linux Kernel for Experts" at the downtown Learning Annex.

      Personal tutoring is a pretty expensive way to get an education, especially if it's in a fast-moving field whose experts are in demand for other work.

      Off the top of my head:

      • Volunteer, and find a problem to work on.
      • Find someone to hire you to do kernel work, or some other way to work with people doing what you want to do.
      • Have you considered grad school? There's places where you could get a degree taking operating systems classes and hacking the kernel for your dissertation. And when you're done you'll probably have an easier time with the previous item.
      • Local user groups and universities might be good places to meet up with people who share your interests. Maybe start a study group to learn some kernel subsystem together?
      • Conferences: OLS and linux.conf.au are fun. The OLS papers at least are on line if you can't go.
      • Mailing lists, irc channels--look at kernelnewbies, etc.
      • Books: Linux Device Drivers, Understanding the Linux Kernel, Robert Love's book.
      • Read the code!

      And if people have told you that "the best method would be to dig into the kernel myself",... actually, in the end, it's probably the *only* way. There's a certain point in your study of any field where you just run out of "courses". That's good. It means you're ready to do real work, because you're at the point where people are still busy doing the work and figuring stuff out, and haven't yet figured out how to break it down into manageable chunks and explain it in a logical order, which is a great deal of work in and of itself.

    3. Re:Hire someone by bscott · · Score: 1

      Can I moderate just the last paragraph of the parent comment "insightful"? The rest of it was OK too, but I liked the last bit particularly.

      --
      Perfectly Normal Industries
    4. Re:Hire someone by antdude · · Score: 0, Offtopic

      "The gender ratio is pretty extreme, but it's not 100%--there *are* expert female kernel hackers." Like who? ;)

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
    5. Re:Hire someone by azhrei_fje · · Score: 5, Insightful

      I've been teaching Linux Kernel Internals and Linux Device Driver courses (among others) since 1995 and other Un*x topics prior to that.

      Many of the big names "outsource" their very technical training to third parties unless the topic is something related to an internal project (I won't name those companies here, but suffice to say that their names are abbreviations and usually three characters or less in length :)).

      These training classes will cost the company $1k-$2k per student, depending on the exact nature of the course. This covers a 5-day class, 7-8 hours per day, with labs as practical for each topic. Obviously, in 5 days you're not going to get a lot of depth in any single topic, but a good instructor will be able to answer off-the-cuff questions during breaks between topics. I know that in a 10-15 minute break, I often get about 3 minutes to make a run to a restroom and spend the rest of the time going over details with one or more students. The most common areas of questions include processor scheduling (big changes in this area right now), virtual memory implementation details (especially the slab allocator and zoned memory concepts), and the block layer API. We don't get heavy into implementation details, but the student is expected to have at least some C background so that they can accomplish the lab exercises.

      Some customers require detailed knowledge about specific subsystems and I will add a "chalk talk" ("dry erase talk"?) as time permits to cover those areas as much as possible. For example, a company that makes video poker machines running Linux might want details on hacking the interrupt handlers, while a company that builds disk storage units might want to talk about how best to support a custom RAID controller. Those types of things come up primarily in the Linux Device Driver course; the Internals course typically comes first in the curriculum and can be applied by application and system programmers to the code they write.

      Most individuals are not going to be able to afford the associated costs, however. There are some training companies that offer "public" courses: I do those classes as well as on-site classes, but public classes for Internals don't often happen because there's not enough interest to fill the classroom with warm bodies. Send me a message if you're looking for such classes and I'll give you a list of vendors. If you opt to go the less expensive route, I suggest you get Robert Love's book on the Linux Kernel; overall it's a great book, but it does lack depth in one or two areas. After you understand what he covers there, then download the free book on the Linux VMM from

      Sorry, I'm rambling. I'll now return you to your regularly scheduled pr0n viewing. :)

    6. Re:Hire someone by RazorBlade99 · · Score: 1
    7. Re:Hire someone by bfields · · Score: 2, Informative

      "The gender ratio is pretty extreme, but it's not 100%--there *are* expert female kernel hackers." Like who? ;)

      I don't know how fair it is to single people out--they probably just want to get on with their work without being made examples of. But Val Henson (chunkfs), Mingming Cao (ext3/ext4), and Suparna Bhattacharya (aio, various fs hacking) are three that come to mind immediately.

      And the fact that you may not know their names if you aren't a kernel developer doesn't mean much. I don't think most people realize how large the Linux kernel project is at this point....

    8. Re:Hire someone by chachacha · · Score: 1

      Books: Linux Device Drivers, Understanding the Linux Kernel, Robert Love's book. I totally agree. I own the first two books and they are virtually comprehensive. A thorough reading (Understanding the Linux Kernel is very dense) along with a copy of a 2.6 kernel source is a great way to learn advanced concepts.

      However, I would say that it's rather difficult to just set out to "learn" the Linux kernel. The focus that a specific goal or project gives you will help you avoid the many diversions that you'll encounter when exploring a system as complex as a kernel. So you might want to go about this a different way - find a driver or subsystem that either doesn't exist or that needs an overhaul and do it - the process of working through a real world project and comparing and contrasting the ideas provided by the "text book" reference material with your own implementations will be very helpful.
      --
      I do like programming things that work super quickly, especially when they work super quickly, super quickly.
  8. Umm, we're programmers by QuantumG · · Score: 3, Funny

    We don't get training. Unless it is in how to use revision control systems or avoid sexual harassment lawsuits.

    Compare this with, say, a DBA or a network engineer. They get training which is actually relevant to their job.

    --
    How we know is more important than what we know.
    1. Re:Umm, we're programmers by timeOday · · Score: 1, Troll

      Programming is a craft. There's a lot to know, but not much to teach.

    2. Re:Umm, we're programmers by QuantumG · · Score: 4, Insightful

      Yep, we're just like artisans. Toiling away without any standards. No codification of best practices. We even have our little cults: extreme programming, object and aspect oriented programming, spiral and waterfall methodologies, not to mention the plethora of programming languages. When programmers get old we don't put them into teaching positions to pass on their arcane knowledge, we make them managers and prohibit them from even looking at the code.

      It's not surprising the software is so crumby, it's only surprising that it works at all.

      --
      How we know is more important than what we know.
    3. Re:Umm, we're programmers by musicmaker · · Score: 1

      I'm pretty sure most people agree that waterfall is dead.

      --
      Everyone is living in a personal delusion, just some are more delusional than others.
    4. Re:Umm, we're programmers by chromatic · · Score: 1

      Corporate project managers aren't people?

      Oh, wait....

    5. Re:Umm, we're programmers by smcdow · · Score: 1

      You apparently don't work on gov't contracts.

      --
      In the course of every project, it will become necessary to shoot the scientists and begin production.
    6. Re:Umm, we're programmers by smittyoneeach · · Score: 1

      +1 Depressingly True

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  9. Reads like a mailinglist posting by some H1B by Gothmolly · · Score: 5, Funny

    Hello all, please give me, a foreign consultant with no work experience but an H1B visa, all your knowledge and a step by step instruction on how to do your job, so that I can displace you in yours, since your boss only looks at buzzwords on a resume anyways.
    I await your full attention to this matter,
    Samir Nagheenanajar

    --
    I want to delete my account but Slashdot doesn't allow it.
    1. Re:Reads like a mailinglist posting by some H1B by Hal_Porter · · Score: 1, Offtopic

      That sounds pretty racist. So Indians are not allowed to ask the white master race technical questions or something? Seriously, what's the problem.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    2. Re:Reads like a mailinglist posting by some H1B by Anonymous Coward · · Score: 0

      Dude, go watch the movie Office Space. That's where his name came from. The post was (half a) joke.

    3. Re:Reads like a mailinglist posting by some H1B by Anonymous Coward · · Score: 0, Troll

      There's no way that guy is Indian. The name isn't even close. From my vast phone-in tech support experience, they all have names like Mike, Ted, Bill, Cindy, and the like.

    4. Re:Reads like a mailinglist posting by some H1B by unlametheweak · · Score: 4, Insightful

      When I did tech support I worked with a lot of East Indians who would probably find that snippet quite amusing. I never did find humour offensive, but I realize that humour (along with any other art form) will always insight the Politically Correct.

      It would be nice if I could feel free to express myself and give a bit of humour to the world without worrying about offending somebody. Unfortunately there will always be the intolerant and Politically Correct among us who will project there own anxieties on other people.

      Say anything good, bad or neutral that involves a "race", and that statement can be said to be "racial", but "racist" implies intolerance and dis-respect, and this is something I just don't see. Perhaps this is because I view ethnic and phenomic differences as trivial, and yet view humour and the creative use of words and ideas as a very important part of my personality. The sad thing is, is that I don't use humour a lot because I know there will always be some people who just don't "get it". So I just give up :(

    5. Re:Reads like a mailinglist posting by some H1B by Hal_Porter · · Score: 1

      When I did tech support I worked with a lot of East Indians who would probably find that snippet quite amusing.

      Just because people laugh at offensive jokes doesn't make them offensive. Hell if you were working in India and people made racist comments about your ethnic group, you'd probably decide that it was easier to laugh them off than risk losing your job. Ok, it's probably hard to explain to you, since if you were working in India you'd probably not be too unhappy about having to go back home where wages are much higher and you know people.

      But if you're an India working in America and you get canned and sent home, you'll probably never get another chance to work in the US again, and you're stuck in a low wage country. So if someone like you cracks an offensive joke, they have no choice but to humour them.

      It would be nice if I could feel free to express myself and give a bit of humour to the world without worrying about offending somebody.

      Well if you're white and/or from a rich country you can, as your experience with Indians shows.

      Say anything good, bad or neutral that involves a "race", and that statement can be said to be "racial", but "racist" implies intolerance and dis-respect, and this is something I just don't see.

      We've all seen "please do my homework/job for me. fast response appreciated coz I has a dedline!" type posts to mailing lists. What's racist about the post is suggesting that this is somehow typical of foreigners. The H1B and the Indian name at the end make it racist. There are lazy people and hard working ones in all nationalities after all.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    6. Re:Reads like a mailinglist posting by some H1B by Yoozer · · Score: 1

      but I realize that humour (along with any other art form) will always insight the Politically Correct.
      Oh, if only it gave 'm the insight! Then they'd refrain from complaints ;)

      (I think you meant incite)
    7. Re:Reads like a mailinglist posting by some H1B by unlametheweak · · Score: 1

      I'd be damned if I could find the correct spelling. Thanks. I realized my mistake after I posted, but still couldn't find the phonetic equivalent (spelling). But yes "insight" seems somewhat appropriate too :)

    8. Re:Reads like a mailinglist posting by some H1B by Hal_Porter · · Score: 1

      (I think you meant incite)

      I wonder how unlametheweak would feel if you'd said

      (I think you meant incite)
      Joke about illiterate $(ETHNIC_SLUR)s


      Where $(ETHNIC_SLUR) happened to match his ethnicity and didn't match the majority ethnicity. Would it be okay if your $(ETHNIC_SLUR) janitor or coworker thought it was funny too?

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    9. Re:Reads like a mailinglist posting by some H1B by unlametheweak · · Score: 1
      To put things in perspective, from my experience most tech support type jobs are filled by Indians (I live in Canada), so I was always the visible minority where I worked. I mentioned that East Indians would likely find it humurous because my Indian co-workers were the types of people to circulate YouTube video's etc that make fun of the stereo-type of the typical call-centre worker being Indian. They also had a preference for "ethnic" humour, like Borat and others.

      The main premise of the joke in question isn't even about Indians, it is based on the idea that companies find it better to get cheap labour through immigration than to keep qualified employees already working for the company. Of course the name at the end implies that this person is from the Asian sub-continent, but this is secondary to the over-all premise. And yes I have heard "racist" jokes about Canada and Canadians and I was not offended. I have also heard a joke about "white" people and I was not offended (though I never did get the joke), nor was I concerned that it was anything more than a joke, as opposed to an ethnic slur.

      laugh at offensive jokes

      Humour nor jokes are offensive however anybody would like to project their beliefs and morals onto things, jokes are not offensive. If jokes were offensive then they would not be funny. In fact I consider "racial" jokes to be a sign of tolerance that we can make fun of our differences, though this would be qualified to the intent that the person telling the joke has.

      The realm of comedy uses complexities and subtleties of language and ideas that most people are not adept at. I really doubt if somebody simple-minded enough to be a racist could appreciate humour, much less have the aptitude to be creative in the intellectual realm of comedy.

      So if someone like you cracks an offensive joke, they have no choice but to humour them.

      If people don't find jokes funny they won't laugh (fake laughter is pretty easy to spot). If there is a problem with racism in the work force then telling jokes are certainly not the problem. I've never worked in America so I don't know about all the racism that goes on in the workplace over their. There's a point to be made though: the joke in question is not offensive and it is not racist. I would suspect that the majority of people who find it racist are white people with money (the Middle Class) who want to project their middle class Idealism onto other people.

      Well if you're white and/or from a rich country you can, as your experience with Indians shows.

      No this is not true. There will always be people like you who will talk to me like I'm some type of jackass. I often think of that person as the Management Type. Also there are some people who do not have the genes to understand humour. The ability to understand irony for example is genetically based. This was a real insight when I first heard this because I always wondered why I can't joke around with some people. It's ironic because more than one of these people have themselves told me that I was stupid.

      What you have told me is your opinion. You have not proven to me that the joke is offensive. If you even have to prove it then there seems to be some dubiousness in your assertion. You've already implied that I am racist ("someone like you.."), so I would assume you have other prejudices. This is another irony because I am neither racist nor do I seek to offend. If I did seek to offend I wouldn't feel so up-tight about telling jokes because I know there are a million ways how people can miss-interpret an art form.

      I see the joke as making fun of the processes companies use to get cheap labour. My background-understanding of the joke comes from CNN and not mailing lists. Reading racism into the joke is something that is attributed to YOU, and not me. You can't even objectively speak about the author because you probably don't know him. I certainly don't. I don't know his background, mentali

    10. Re:Reads like a mailinglist posting by some H1B by Anonymous Coward · · Score: 0

      You must be loads of fun to work with.

      I work with Nigerians, Indians, and Canadians in a tech environment and we're all doing just fine. The Nigerian guy is the one that's always saying, "D*** foreigners."

    11. Re:Reads like a mailinglist posting by some H1B by Yoozer · · Score: 1

      I wonder how unlametheweak would feel if you'd said

      (I think you meant incite) Joke about illiterate $(ETHNIC_SLUR)s
      I don't know. Mainly it's not what I said, and it's a hypothetical scenario you're painting here. Plus, his comment on humor inciting the PC people was understood here on this side of the keyboard as being about humor in general, not race-related humor specifically. Really, it was more about correcting his "insight/incite".

      I'm not cheerleading anyone for making racist (or bordering on -) jokes; if anything, they make me feel the same as someone at the dinner table in a chique restaurant farting with an epic force and pungency including THX 0.1 sound; embarrassed.

      Would it be okay if your $(ETHNIC_SLUR) janitor or coworker thought it was funny too?
      Pretty much every joke involves someone else's misfortune, unless we're talking about puns; which are a rare medium well done anyway, and the lowest form of wit.
    12. Re:Reads like a mailinglist posting by some H1B by fm6 · · Score: 1

      No need for an H1B visa. Bering your guy to the V.). on a student visa. Once he's finished his course, send him home and pay him local rates. Cheaper that way.

    13. Re:Reads like a mailinglist posting by some H1B by Anonymous Coward · · Score: 0

      Are you obsessed with racism?

    14. Re:Reads like a mailinglist posting by some H1B by Anonymous Coward · · Score: 0

      I know... let's take this entire racist chain of comments and "Godwin" 'em.

      Any judgement based solely on race/skin tone/etc frankly irritates me. Even the "compliments" based on whatever - because it's just as much of an ignorant assumption as the blatant insults...

      There's a little bit of anger in me because I got stabbed because of my skin color when I was 8-10 or so - but in the end (I think, or hope) - it's the idiocy of it all that irks me the most.

  10. Just start implementing by Anonymous Coward · · Score: 2, Interesting

    Just start implementing in the stable kernel and as each of your inputs is rejected, you'll learn. I hope you've had - at least - an operating systems design class (or equiv experience), and you don't try to implement something in kernel space that should be in user space.

    BTW, I'm not qualified beyond hacking the IP stack a few years ago with a search/replace, use your imagination for what text was removed/replaced. all this, Just for Fun http://www.amazon.com/Just-Fun-Story-Accidental-Re volutionary/dp/0066620732 It appears someone else had more time for fun than I.

  11. No, experience is the worst teacher by schon · · Score: 3, Insightful

    experience is very often the best teacher Experience is the worst teacher, because it's always "test first, lesson afterwards."
    1. Re:No, experience is the worst teacher by misleb · · Score: 3, Insightful

      Experience is the worst teacher, because it's always "test first, lesson afterwards."


      That just isn't true! Experience should include a lot of independent research and planning. It isn't like you're just blindly trying things to see if they work or not. The only real difference between school learning and experience based learning is that there are real things at stake when learning by experience. And that can be a great motivator.

      -matthew
      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    2. Re:No, experience is the worst teacher by nwbvt · · Score: 1

      "The only real difference between school learning and experience based learning is that there are real things at stake when learning by experience. And that can be a great motivator."

      It motivates you to go for the quick and easy solution instead of the right solution. And as the gp said, in the end that will cause you to go with the "test first, lesson afterwards (if at all)" approach.

      Even in our young industry there is a wealth of knowledge out there on how to best do things. To throw it out in the guise of "I'll experience it all myself" is just plain wasteful.

      --
      Mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination.
    3. Re:No, experience is the worst teacher by misleb · · Score: 3, Insightful

      It motivates you to go for the quick and easy solution instead of the right solution. And as the gp said, in the end that will cause you to go with the "test first, lesson afterwards (if at all)"


      It depends on the environment, how much pressure you're under, and how much you know going into the situation. What you say is true if you throw someone who doesn't know much into a high pressure situation with high stakes. They're going to find the easiest and quickest solution possible. No question about that. But if a person is consistently pushed only a little bit beyond their capabilities with reasonable demands and stakes, I'm confident that it can be a constructive learning experience. This is even employed in school. You're given reasonable tasks/projects to gain experience. But eventually you outgrow the the kind of experience that a school can offer. Eventually you need to go into the real world. You might start as an intern, or a junior programmer, for example, until you learn from enough experience to move on....

      Even in our young industry there is a wealth of knowledge out there on how to best do things. To throw it out in the guise of "I'll experience it all myself" is just plain wasteful.


      A solid education is important as a foundation. I'd never dispute that.

      -matthew
      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    4. Re:No, experience is the worst teacher by nwbvt · · Score: 1

      Yes, after one has gotten their foundation from formal education, or even in conjunction with formal education, real world experience is a benefit. No one is saying you should stay in school and never leave for the real world. However, that is different from saying things like "experience is the best teacher". This is important because (especially in computer programming) there are many out there who have no formal background in what they are doing and try to learn as they go, much like the original poster said. However, they fail to learn the fundamentals (things like performance, data structures, security, etc.) and end up just learning bad practices on the job. And then there is no way to convince them to change, because they are convinced what they are doing is the correct way.

      --
      Mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination.
    5. Re:No, experience is the worst teacher by dodobh · · Score: 1

      Yup, test driven development. It's even buzzword compliant.

      --
      I can throw myself at the ground, and miss.
  12. Teaching and doing by lawpoop · · Score: 2, Insightful

    Well, good luck. Have you ever heard the saying, "Those who can, do; those who can't, teach" ? I don't agree with it , but there is a kernel of truth. You've probably had a professor who was a genius, and and expert in their field, but couldn't teach worth a damn. You've probably also learned from someone who was a good teacher, but didn't know their stuff, or didn't have the resources to teach it properly.

    Finding someone who is an expert in the linux kernel, *and* who can teach, and has the time and willingness to teach you one-on-one, will be a rare find indeed. ( Are you willing to pay them what they're worth for their background and ability? )

    That person has probably already written a book.

    --
    Computers are useless. They can only give you answers.
    -- Pablo Picasso
    1. Re:Teaching and doing by Anonymous Coward · · Score: 0

      "Those who can, do"

      "Those who can't, teach"

      "And those who can't teach, lecture on Sociology of Education courses!"

    2. Re:Teaching and doing by George+Beech · · Score: 1
      We actually always said :

      "Those who can, do; those who can't teach; those who can't teach use powerpoint!"

  13. Hahahah Samir Nagheenanajar by gekoscan · · Score: 0

    Samir: This is a... fuck!

    You just made my day.

    It would be nice to have that kind of job security.

    1. Re:Hahahah Samir Nagheenanajar by Anonymous Coward · · Score: 0

      Yeaaaah..

      Now, are you going to have those TPS reports on my desk for me?

  14. Teach by ziah · · Score: 4, Insightful

    Teaching is the best way to learn. I was a computer science tutor up at Berkeley and I learned FAR MORE from tutoring than I did from the classes. Find someone who is interested in the linux kernel and teach them. If they're smart they'll ask you questions you've never thought about asking, which in turn will end up solidifying your knowledge.

    1. Re:Teach by dgp · · Score: 1

      >end up solidifying your knowledge.

      Thats the missing phrase!
      'solidifying' makes a lot more sense than 'hardening'.

  15. RTFML by aero6dof · · Score: 2, Insightful

    Read the LKML archive?

  16. rule number 1: get the name right by Karma+Sucks · · Score: 2, Funny

    First of all, it's GNU/Linux kernel not Linux kernel... I remember reading something about this and why getting the name right is important but can't find the link anymore. Cheers!

    --
    (Please browse at -1 to read this comment.)
    1. Re:rule number 1: get the name right by MindDelay · · Score: 0

      this had to be a joke, right? please be a joke.

      --
      Spiral out. Keep going...
    2. Re:rule number 1: get the name right by Anonymous Coward · · Score: 0

      That's not true. You're probably remembering the GNU website, which advises you to remember that most Linux-based OS's are GNU/Linux. The kernel is Linux, the surrounding apps/environment are GNU, therefore, the system is a GNU/Linux system.

    3. Re:rule number 1: get the name right by piojo · · Score: 1

      First of all, it's GNU/Linux kernel not Linux kernel


      Actually, I think in this instance, even the GNU folks would call it just plain Linux. See, Linux is the kernel. GNU is the core software. GNU/Linux is what they want people to call the whole integrated operating system.

      --
      A cat can't teach a dog to bark.
    4. Re:rule number 1: get the name right by Anonymous Coward · · Score: 0

      I'm guessing it's a troll...

    5. Re:rule number 1: get the name right by dhasenan · · Score: 3, Funny

      Whoosh.

    6. Re:rule number 1: get the name right by dbIII · · Score: 2, Funny
      Many people will not spot the joke so I will point out that linux is not a gnu project.

      There was a move a few years ago to get distributions of linux, gnu tools, X windows and other bits renamed to LiGnuX to draw attention the the gnu project. This wasn't taken seriously so later there was a move to put a gnu prefix on before linux in the name of distributions - only Debian took it up as far as I know. Newbies that missed the point also started putting gnu in front of any reference to a distribution containing linux and then any reference to linux at all.

    7. Re:rule number 1: get the name right by Anonymous Coward · · Score: 0

      this had to be a joke, right? please be a joke.

      Given his name, it is probably not a joke.

  17. The Dark Ages of Computing by Anonymous Coward · · Score: 0

    It's not surprising the software is so crumby, it's only surprising that it works at all.

    These are the Dark Ages of Computing. We're still very much at the stage of examining chicken entrails.

    The sad thing about it is that so many programmers think that what they're doing is wonderful and great and worthy of respect. We're not. This field is, at the moment, total crap, even at the highest and most "professional" end.

    1. Re:The Dark Ages of Computing by sh4na · · Score: 1

      The sad thing about it is that so many programmers think that what they're doing is wonderful and great and worthy of respect. We're not. This field is, at the moment, total crap, even at the highest and most "professional" end.

      Yes, because we all know everyone that worked and innovated in newly created fields of knowledge were just in their dark ages too, and all they did was essentially crap because it was so new and they didn't have any previously-set standards to follow (the inconveniences of developing a new field and all).

      We should really let all those guys that really invented their own fields of work (you know, newton, archimedes, einstein, turing, those chaps) that they were working in (their own field's) dark ages and all they did was just crappy stuff. I mean, it can't be at all possible to work in a new field, innovate *and* do something worthwhile and professional. Of course not.

      You, sir, are an idiot.
      --
      shana
      ......gone crazy, back soon, leave message
  18. The best advanced kernel course I have found by 12AU7A · · Score: 5, Informative

    The very best course I have found is a ~32 hour DVD course on the FreeBSD kernel internals and: Advanced FreeBSD Kernel Code Walkthrough Videos I've never found anything more thorough.

    1. Re:The best advanced kernel course I have found by value_added · · Score: 1

      The very best course I have found is a ~32 hour DVD course on the FreeBSD kernel internals and: Advanced FreeBSD Kernel Code Walkthrough Videos I've never found anything more thorough.

      Or, if the BSD kernel is indeed your thing, hire Groggy. Would you study under someone without a beard?

    2. Re:The best advanced kernel course I have found by eneville · · Score: 1

      The very best course I have found is a ~32 hour DVD course on the FreeBSD kernel internals and: Advanced FreeBSD Kernel Code Walkthrough Videos I've never found anything more thorough. that is seriously expensive. where did you get the money for that?
    3. Re:The best advanced kernel course I have found by Hognoxious · · Score: 1

      By selling some of his Microsoft stock?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  19. Re:Getting Training vs. Getting Good by Talisein · · Score: 1

    Of course, they couldn't hire anybody to fail on THEIR systems. Let some other poor schmuck pay for the OJT!

    --
    "The right to do something does not mean doing it is right." William Safire
  20. Re:Getting Training vs. Getting Good by ezratrumpet · · Score: 2, Insightful

    Failure comes wrapped in many packages. I'd hate to think my desire to have someone who could handle setbacks and failures would cause me to overlook a person who had failed in other careers, been kicked to the curb in other disciplines, and finally found their place in the sun, so to speak.

    Every sorcerer was once an apprentice. Every wizard was once a n00b. Even Linus, Bill, and Steve.

  21. Some classes on the left coast by rlh100 · · Score: 5, Informative

    Out here on the left coast the extension programs at the various University Of California campuses have some Linux Kernel classes. These tend to be developed and taught by engineers in the industry with a real working knowledge of the subject.
    UC Santa Cruz Extension, http://www.ucsc-extension.edu/ has an "Linux Kernel Architecture and Programming" which looks like an intro course. You can take it online or as two Saturdays. There is also a Linux device drivers class which a once a week class and an Advanced Device Drivers class which is 4 Saturdays.
    I checked the other campuses but they all seem to be summer schedule with a limited set of classes.
    Red Hat also has a one week Kernel internals class which is a "hands on" which to me means a trade off of less information for some finger programing of the brain.
    All of these courses seem to have an introductory flavor to them. But I suspect that you will learn a lot about all of the various areas of the kernel and how the different parts hang together. My experience as kernel hacker is that I have learned a lot about the parts I am interested in, but that there are many big areas of the kernel that I only have a superficial understanding of.

    Hope this helps
    RLH

  22. Not trying to be an asshole, but... by cdw38 · · Score: 2, Insightful

    ...this made the front page? The course is called "Operating Systems," and it's taught at major universities, as someone previously mentioned. In many of these courses, the semester-long project is to develop your own distribution of Linux (as a class or group).

    1. Re:Not trying to be an asshole, but... by Anonymous Coward · · Score: 0

      You need to be a university student to do a University course. The poster wants a standalone course.

    2. Re:Not trying to be an asshole, but... by Anonymous Coward · · Score: 0

      Ya, you obviously are not a CS student that has taken "Operating Systems" at a major university. I am a CS student at RIT (Rochester Institute of Technology). If you consider programming some threads in C and learning a bunch of high level explanations of how things work a way to jump into programming the Linux Kernel you are mistaken. Practical knowledge of the Linux Kernel is not taught in "Operating Systems".

    3. Re:Not trying to be an asshole, but... by Intron · · Score: 1

      Unless you want to take the course at some unknown school like MIT which provides all the course material on the internet for free.

      --
      Intron: the portion of DNA which expresses nothing useful.
  23. Red Hat Courses by Erisian+Pope · · Score: 3, Informative

    I may be a little biased since I've taught the courses... but...

    If what you're looking for is the typical corporate 1 week training course, then IMHO you can't do much better. But! Let's be honest here, what can you get out of a one week course? If it's a serious course, like these are, you're going to get so much information that you'll have trouble staying afloat. You're not going to master these skills in a week. Depending on your programming skills and operating systems background you're looking at months to years before you're comfortable kernel hacking. What these courses can give you is a lot of solid coding examples to build your skills. But don't take my word for it, the code samples are available at ftp://axian.com/pub/RHD_SOLUTIONS. Oh, and of course the Red Hat info: http://www.redhat.com/training/developer/courses/

    If you're not in the typical corporate time crunch mode, I'd definitely recommend college courses. Get some general background in OS design while you're at it if you don't already have it. Oh, and LUGs, lots of lugs have groups doing kernel hacking, not a bad place to start there either, plus LUGs don't cost anything!

  24. Operating Systems understanding + books + practice by edis · · Score: 3, Informative

    I doubt your target for course is correct. Having been trough after-studies Operating Systems course like 20 years ago, centering on RSX-11, I still feel solid in concepts of today's OSes - Linux, too.

    For good professional background, I would recommend you to get also good books. On OS principles themselves, and on Linux Kernel. I have been printing and binding myself freely distributable online David Rusling book "The Linux Kernel" (that over 10 years ago). It mentions even Alpha processor view of things - very good for broader understanding. Love this book, very special. Also in my library sits book of Linux kernel anatomy: too lazy to go upstairs for exact title, but it must have been published by SAMS, and is book analyzing specifically code, that makes Linux Kernel, there are sources of very first versions of kernel included too, which should help to understand evolution of kernel as final touch. And plenty of code and discussion of it. Author might be not available for classes, but book is serious alternative for such.

    Good luck! OS things deserve your attention.

    --
    Servant of karma
  25. RTFC by Anonymous Coward · · Score: 0

    /* Linux Kernel */

    main()
    { .....

    1. Re:RTFC by Anonymous Coward · · Score: 0

      If you actually bothered to RTFC, you'd see that there is no function called main() in Linux.

    2. Re:RTFC by G+Morgan · · Score: 1

      In my tree there is damn it.

  26. Re:Operating Systems understanding + books + pract by dgp · · Score: 2, Insightful

    i second the good books notion and thanks for the reference to Rusling's book - I haven't heard of that one.

    I can say that Robert Love's book, Linux Kernel Development (2004) is very well written and easy to read and understand. (print only)

    There is also Greg Kroah-Harman's Linux Kernel in a nutshell at http://www.kroah.com/lkn/ - free PDF download.

  27. never heard of a class for actual hacking by nawcom · · Score: 1

    ive never really heard of a hacking class or a kernel hacking instruction. ive gone through the usual computer security system classes in college to get that certificate, but what you go over is securing your system and how holes are taken advantage of. you don't learn how to find new holes.

    But since we're speaking of kernel hacking, that necessarily doesnt have to do with security, especially with what you're speaking of. the closest i can think of are book references to device driver coding and such, but they dont really follow the concept of "here is unsupported device A, make it work with this operating system" so i dont define that has hacking; this is just my personal opinion.

    the way i learned about kernel hacking and device driver hacking is from taking my current programming knowledge and presenting myself with the challenge, and going forth with it; gaining the needed knowledge. the biggest thing i can think of is when i made my own version of an apple airport driver for mac os x, partially based off of freebsd code, because at the school i was at, apple laptops couldnt use wep on the cisco aironets since they were in wpa migration mode - where both wep and wpa are enabled, but you can only connect through wep via key index 2. msft & linux & freebsd drivers worked fine(you can pick your key index), but apple airport drivers are only designed to use key index 1 (and also wpa, but unfortunately at the time there were compatibility issues with original apple airport cards and cisco aironet waps).

    anyways, what im saying is that skills in kernel hacking i think come from experience and determination, not classes or anything. perhaps this may change in the future, but when someone tells you to "hack away at it", it usually refers to not giving up until you succeed, regardless of what you were taught from a book or classes, learning from your mistakes, teaching yourself, etc.

    as a compliment to you, it's good to have a positive attitude towards learning about the inner workings of operating systems; not alot of people who earned a computer science BS go that deep, at least from the people i know of. dont give give up :)

  28. Obligatory Star Wars by lukesky321 · · Score: 1

    Who is more foolish, The fool or the fool that follows a fool?
      - Ben Kenobi

  29. Re:Operating Systems understanding + books + pract by edis · · Score: 1

    It happened: went upstairs to check what was that other book, and it is translation of this one:
    "Linux Core Kernel Commentary: Guide to Insider's Knowledge on the Core Kernel of the Linux Code"
    by Scott Maxwell. Beware, that most of this book is made of kernel code, and one's expectation might be disappointed. However, it is very illustrative and should be handy for learning. There was once ago such "Linux Bible", published by Yggdrasil, consisting of many open source documentation of that time only - you could say what sense to have it in print, still never was regretting by this heavyweight on hands.

    Anyway, having variety of good books used to be helpful.

    Besides, Rusling's book was being printed by me on OKI dot matrix (in graphical mode), actually. Yeah...

    --
    Servant of karma
  30. East Coast by Anonymous Coward · · Score: 1, Informative

    I recently finish a course that was titled "Linux Kernel & Device Driver Programming". This is by far the best class that I have taken in my college career. The book for the course was Linux Device Drivers, 3rd Edition which is available for free now. The course was more of a guide. It did not teach how how to program the linux kernel but instead how to research and a general overview and methodology of the kernel. The teachers showed us some of the the code and designs and why these designs were chosen. I believe that the people that learn how to program the kernel have a certain mindset coming in. The people that learn the kernel always wish to know WHY something works and not that it just works. They are the kind of people that are constantly questioning others decisions as well as their own.

    If you can take this class, CIS 4930/COP 5641 as FSU summer term, it is a great opportunity. You will learn how to research the kernel so that you can program at the kernel level. It is a intense course that you will spend 12-16 hours a day working on but it is VERY rewarding. Again, you will come out of this course knowing how to research the kernel and by no means am I telling you that you will know everything about the kernel.

  31. Linus is the man by iampiti · · Score: 1

    Try knocking on Linus' door and offering some beers for his time.
    You may learn a lot of interesting things ...or you may be left without beers and without knowledge

  32. An excellent course taught in Italy by Anonymous Coward · · Score: 0

    Is http://bravo.ce.uniroma2.it/kernelhacking2006/, organized by Bovet and Cesati (authors of "Understanding the linux Kernel", with a pretty impressive schedule (last lesson about memory management is done by Andrea Arcangeli). Not for the faint of heart.

  33. a book by Anonymous Coward · · Score: 0

    Understanding the Linux Kernel, 3rd Edition by Daniel P. Bovet, Marco Cesati. It takes a very detailed tour through every essential part of the Linux kernel architecture.

  34. Simple by Verte · · Score: 1

    The code is pretty well commented, and it's usually worth having a good look at the sections you're interested in. It's well organised and clean [in the interesting parts]. It has to be, it's modified by a lot of people. Seriously, you won't be sorry. Above this, Google is your best friend. IBM's developer works has good holistic info, and Linux HQ has lots of links to great information. Kernel hacking on your own time is pretty easy, I don't think it needs to be taught. If you want to work on THE Linux kernel, the official archives and documentation are a must.

    --
    We at slashdot are scientists, specialists and kernel hackers. Your FUD will be found out.
  35. Alanna Virginia by Dogtanian · · Score: 1

    "The gender ratio is pretty extreme, but it's not 100%--there *are* expert female kernel hackers." Like who? ;) Linus Torvalds dressed up as a girl?

    Alan Cox after a sex-change operation? (Though he'd have to change his surname as well as his christian name- Cox wouldn't be as appropriate then).
    --
    "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
  36. MOD PARENT UP by Anonymous Coward · · Score: 0

    It's not offtopic, it's a valid question. bfields should be able to defend his assertion. (And gender reassigned folks don't count.)

  37. A Quick Google... by timbury · · Score: 1

    A quick google of "Linux kernel training" brings up excellent resources on the first page. Choose from in-depth courses given by Red Hat, IBM, Sun, Linux Certified, and others. Combine that with self-taught hacking on the code and I think that would suffice to get you started.

    --
    "All governments should be pressured to correct their abuses of human rights." --Richard Stallman
  38. Getting (Linux Kernel) training by shrimppoboy · · Score: 1
    There is quite a lot of training available about the Linux kernel. There is of course more to learn than can be possibly be taught in any courses, or can even be known by any one person.

    A common issue in training is folks requesting training that covers more material than can be covered in the alloted time. However, when negotiating for training with a training provider, it is valuable to discuss the topic outline in advance and ask about changes. Since the topic of Linux kernel training is so broad, you should be able to narrow down the subjects that are most valuable to you.

    A stock kernel course will have a mix of what the authors felt was most widely applicable. Or at least most applicable to their audience.

    Here's a 2-day course from K Computing that selects what are widely held to be interesting topics: http://www.kcomputing.com/pdf/kernelinternals.pdf

    The week long course from Red Hat (actually developed by Axian) covers much of the kernel.

    Also, remember, it is the combination of training materials plus instructor that make the class. Who developed the materials? Who is the instructor?

    For something like the Linux kernel, an instructor with a strong Linux programming background and education in computer science - say an advanced degree in computer science and 10 years or more of working with UNIX and five or more years with Linux is something to expect. Also, get an instructor when you want training. Get a practicing engineer when you want engineering.

    Also, the materials should be organized for training. You should get a book that has slides and notes. Slides plus notes are what make training materials. Ask to look at a sample chapter. A course-book that is organized like an ordinary book with pages just full of text and no slides was not written for instructor-led training. Despite what some training vendors think.

    A good instructor can teach you something new about the Linux kernel with a pointy stick and a spot of sand, but, the whole key to good training is to use your time in the most efficient manner possible. That's why there are organized training materials.

    Training is about saving time. One could always learn the topic on their own. You are paying to have someone help you to learn, the topics that will help you the most, in much less time than it will take you on your own.

    Training requires doing. Look at the exercises. The most important features of a great training class are the exercises. After all, the objective of training is to be able to *do something new* when you are done. Is "talking about the kernel" the new thing you want to do when you're done or is it to actually be able to write some code?

  39. Lots of people here willing help. IF... by cavehobbit · · Score: 1

    you can answer two questions correctly:

    1) are you female?

    and (less importantly),

    2) are you hot?

  40. remember... by Anonymous Coward · · Score: 0

    Nachos?

  41. Student Fail = University No Money by Anonymous Coward · · Score: 0

    Are current Universities are weak. They are afraid to brutilize all the sweet little girls into failing a real class and waking them up to the specifics of the real world and technology; their minds simply cannot process this stuff. If students start fdailing a class the instructor (eh, hem, professor) KNOWS that if half his class fails (especially often) that he will get totally reamed by the upper management of the "school". University courses are very dumbed down. There are few worth the hype. I've seen classes bombing and the ciriculum requirments get scaled back on the spot to keep the students from failing and losing their finacial aid. I thought it was great that everyone could go to college on an automatic loan until I saw how much it lowered the quality of the education and resaerch you are able to conduct. The whole class gets derailed because a couple girls are balling their eyes out over their Java assignments. In other countries they will fail you if you are a simpleton, but not in the US. I've seen this over and over and over again and it is getting worse. What do you expect when kids go from watching TV to having to contribute to the real world. The US will soon not be able to "compete".

  42. If this were the early 1990's ... by Anonymous Coward · · Score: 0

    All you'd have to do is read usenet comp.os.linux* hierarchy, along with the *linux mailing lists.

    Oh yeah and have an aptitude for coding, which I do not.

  43. stay away from university types by Anonymous Coward · · Score: 0

    Just a tip: the best hackers are outside of academia. In my experience, those who possess credentials are less likely to know what they are doing.

    find an old laptop, format it with linux, fire up google, and start working. that's it.

    The academy is irrelevant. If anything, it's damaging. The university types don't even know how to setup their own machines. They sit in an office with a whiteboard and round table, and pretend it's 1996 every day.

    1. Re:stay away from university types by quarkie68 · · Score: 1

      Your tip is as good as your 'label theory'. (non academic=good, academic=bad)

      I left the academic environment because of the low salaries. I have academic credentials. It is true that inside academia, there are people who theorize too much. It is not true that you won't find any true hackers in academia. The very reason why I got started with computers was my own interest, but the impact of people I met inside academia was important. Hackers do live in academic environments as well. It might be your fellow student, the old sysadmin behind the computer support, not necessarily your lecturer or the Professors. Hacking is an attitude, a habbit. Not something which has or does not have credentials and thus, your tip is incorrect, if it hints that academia and hacking are mutually exclusive.

    2. Re:stay away from university types by Anonymous Coward · · Score: 0

      Back in 1996 when I was in school the academics lamented the fact that the people writing OSs didn't know what they were doing and acted like it was still 1976. The joke was that you could tell what new features would be in the upcoming OS offerings by reading the research journals from 20 years ago.

  44. Sorry to say, but you've mangled classic wisdom by Brad+Eleven · · Score: 1

    "Experience is a dear teacher, but fools will learn by no other."

    The older meaning of "dear" was "expensive." This may explain the conflation with "best," e.g., the most expensive option is often considered to be the best one, even if practically unattainable.

    --
    "Press to test."
    (click)
    "Release to detonate."
  45. Kernel Hacking at School by Kwami · · Score: 1

    It's not only feasible, it happens. As a sophomore at my university, I enrolled in a junior-level Operating Systems course. Our first project was to modify the scheduler in the 2.2 Linux kernel. Another project involved creating support for user-defined file attributes for the ext2 file system. I can't imagine learning much without a kernel to play with.

  46. Women Kernel Hackers by Morosoph · · Score: 1
    1. Re:Women Kernel Hackers by antdude · · Score: 1

      Your link didn't work. It took me back to home page. :(

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
  47. Re:Hire someone... like MicroDev by Anonymous Coward · · Score: 0

    My employer paid for me to take their Linux Internals Overview, Linux Internals II, and Linux Device Drivers for the 2.6 Kernel. The instructors were excellent, and even though I used to do kernel development for proprietary Unix, I learned a lot.

  48. Fishnet Security by Anonymous Coward · · Score: 0

    check out the linux kernet training on www.securetesting.com

  49. Oops by Morosoph · · Score: 1
    It turns out that the article is members only :-/ You have to log in.

    If you feel like signing up, the article is here.

    1. Re:Oops by antdude · · Score: 1

      Thanks. Darn, bugmenot didn't have any accounts. Oh well! :)

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
  50. Lighten up already by Hognoxious · · Score: 1

    We've all seen "please do my homework/job for me. fast response appreciated coz I has a dedline!" type posts to mailing lists. What's racist about the post is suggesting that this is somehow typical of foreigners.
    In my experience Indians are disproportionatley represented in that group - and among the interview crib seekers too, I may add.

    But I doubt anybody was suggesting they all do it, or that only they do it. Stereotypes aren't always true in every individual case, but ask yourself where they come from - they don't fall out of the sky.
    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  51. Link to VMM book by Anonymous Coward · · Score: 0