Thread: Linux kernel

  1. #1
    Registered User Annonymous's Avatar
    Join Date
    Apr 2011
    Location
    Jackson, New Jersey, United States
    Posts
    302

    Linux kernel

    Im studying the linux file system and the linux kernel. I was just curious on hard it is to actually write your own kernel?

  2. #2
    Gawking at stupidity
    Join Date
    Jul 2004
    Location
    Oregon, USA
    Posts
    3,218
    Wow, what a vague question. How capable does it need to be? I guess the answer would be umm... 87% hard?
    If you understand what you're doing, you're not learning anything.

  3. #3
    Registered User Annonymous's Avatar
    Join Date
    Apr 2011
    Location
    Jackson, New Jersey, United States
    Posts
    302
    yeah i guess it is a pretty vague question! here is a more elaborate description of my previous question; How long wold it take just to code a basic kernel? Is it possible by one person or is a team needed? Just give me a basic idea of whats involved in developing a kernel. I am in no way close to even "TRYING" this. I am just curious! I am studying these topics to get a better understanding of linux.
    Last edited by Annonymous; 10-18-2011 at 03:00 PM.

  4. #4
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,659
    How about this then (thanks to Fordy for posting it in another thread).
    Expanded Main Page - OSDev Wiki

    Writing something simple is, well, pretty simple.
    That is, getting some kind of task swapping going on and some simple memory management.

    The Linux Kernel: It’s Worth More!
    This puts the development effort of the Linux kernel (baseline 2.6) at 4,500+ man YEARS.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  5. #5
    Registered User Annonymous's Avatar
    Join Date
    Apr 2011
    Location
    Jackson, New Jersey, United States
    Posts
    302
    Thanks salem

  6. #6
    &TH of undefined behavior Fordy's Avatar
    Join Date
    Aug 2001
    Posts
    5,793
    It starts a little difficult...then gets real hard

    You can use GCC & Nasm to build a kernel that loads but then you realise that you need to do loads of stuff to get it to do more. Writing heap managers, disk management, video drivers, process management...fun stuff though...

    Osdev (link above) is worth reading as is Bona Fide OS Developer

  7. #7
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Kind of like, how long does it take to hammer a nail?

    How long is the nail? What are you hammering it into? Can you swing a hammer accurately?

    I estimate it'll take somewhat longer than an hour and somewhat less than a decade.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  8. #8
    Registered User
    Join Date
    Nov 2011
    Location
    Thoughts
    Posts
    8
    Hi ,

    My purpose is develop Linux Kernel and code my own kernel I can say that I'm ambitious enough to do that !

    Can anyone give me a hand with this ?

    If you're interested in Linux Kernel Programming I'm determined to do this ,

    Now I'm starting C programming if anyone want to work with me and exchanging information ( Working like a team to have better performance ) Pm me .

    Best Wishes ./

  9. #9
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    I've done a little operating system development in the past, and I've gotten as far as a VERY simple command like interface, but no process or memory management, and no disk access of any kind. it took me a solid weekend of screwing around with it, and I was using GRUB to load it. writing a basic kernel that can be loaded by GRUB is not especially difficult, as long as you keep a few very important things in mind:

    1. you cannot use the standard libraries.
    2. you cannot do anything that calls malloc() or free() or their friends, or new/delete, until you write your own memory management. this is

  10. #10
    Registered User
    Join Date
    Nov 2011
    Location
    Thoughts
    Posts
    8
    Nice ,

    Can you help me with this ?

    Is it write to practicing C instead of C++ and Python to understand the infrastructures ?

    My main problem is I didn't taste programming with modules , Libraries and components until now ! I wanna start such that programming but I'm confused !

    Actually I don't know what should I do now ?

  11. #11
    &TH of undefined behavior Fordy's Avatar
    Join Date
    Aug 2001
    Posts
    5,793
    Read the link I posted. This will guide you through a lot of it

  12. #12
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    python is not going to serve you well for kernel development. stick to C or C++. my preference would be C++

  13. #13
    Registered User
    Join Date
    Nov 2011
    Location
    Thoughts
    Posts
    8
    Can I learn C++ instead of C for Developing and programming ?

    Is there much difference between C and C++ ?

    Is C more powerful than C++ ?

    Because I have more reference and two books in this programming language !

    If there is no problem please let me know ,

    Thanks in advance

  14. #14
    [](){}(); manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    *nullptr
    Posts
    2,657
    >Can I learn C++ instead of C for Developing and programming ?
    Why not 'along with' instead of 'instead of' ?

    >Is there much difference between C and C++ ?
    Yes/No/Maybe ...depends on what you would do with them.

    >Is C more powerful than C++ ?
    What do you mean by powerful ?

    >Because I have more reference and two books in this programming language !
    And you still haven't started reading anything at all.....shame.


    <Hope I'm not feeding a troll...>

  15. #15
    Registered User
    Join Date
    Nov 2011
    Location
    Thoughts
    Posts
    8
    No bro ...

    I studied my C++ books that I'd borrowed from my friend not completely and I know how to code in console and basic things and I know OOP in C++ some how but the problem is after I reviewed OOP what should I do ?

    How can I code something , I mean how can I learn some other things for example creating GUI app in C ? and How to work with sockets ? and How connect C++ to the e.g oracle database ?

    My goals are both coding Os and Coding softwares ! but first I need to code some softwares ... .

    If I've written something that is enigmatic I apologize ,

    At last thanks in advance

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Linux kernel module help
    By Annonymous in forum Linux Programming
    Replies: 18
    Last Post: 05-01-2011, 10:59 PM
  2. Linux Kernel I/O C programming
    By inferno_gogo in forum C Programming
    Replies: 11
    Last Post: 02-18-2009, 04:44 PM
  3. priorities in Linux kernel??
    By micke_b in forum Linux Programming
    Replies: 0
    Last Post: 02-22-2008, 08:10 AM
  4. linux kernel compile
    By mart_man00 in forum Tech Board
    Replies: 13
    Last Post: 04-30-2003, 04:31 PM
  5. linux kernel 2.5
    By ygfperson in forum A Brief History of Cprogramming.com
    Replies: 4
    Last Post: 07-31-2002, 11:17 PM

Tags for this Thread