Re: Learning things
Malte Vesper wrote: > > On 07/04/15 05:06, Anupam Kapoor wrote: >>> [2015-04-07T00:08:10+0530]: "Mike Thompson" (mike-thompson): >> ,[ mike-thompson ] >> | As others mention, using the Linux kernel to come up to speed with C is the >> | wrong approach. If you have a strong desire to learn kernel programming >> | concepts while coming up to speed on C, I would suggest getting the latest >> | book on Xinu, buying an Intel Galileo board and working your way through >> | that book. Xinu is what I cut my teeth on 25 years ago and I remember it >> | being a terrific learning environment. Xinu is not Linux (or Unix), but >> | for starting at the ground level all the concepts will map over when you >> | are ready to tackle Linux kernel work. >> | >> | Information for Xinu can be found here: http://www.xinu.cs.purdue.edu/ >> ` >> or there is always xv6 (http://pdos.csail.mit.edu/6.828/2014/) which >> might be useful... >> > There is also OS161 or Plan9, these should be enough names to search for > comparisons or discussions on the OS's to help you pick one. > > Of course, one might note that Linux started as a personal project. If you know something about operating systems, a historical look through the kernal might not be a bad way to start learning C. Miles Fidelman -- In theory, there is no difference between theory and practice. In practice, there is. Yogi Berra ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Learning things
On 07/04/15 05:06, Anupam Kapoor wrote: >> [2015-04-07T00:08:10+0530]: "Mike Thompson" (mike-thompson): > ,[ mike-thompson ] > | As others mention, using the Linux kernel to come up to speed with C is the > | wrong approach. If you have a strong desire to learn kernel programming > | concepts while coming up to speed on C, I would suggest getting the latest > | book on Xinu, buying an Intel Galileo board and working your way through > | that book. Xinu is what I cut my teeth on 25 years ago and I remember it > | being a terrific learning environment. Xinu is not Linux (or Unix), but > | for starting at the ground level all the concepts will map over when you > | are ready to tackle Linux kernel work. > | > | Information for Xinu can be found here: http://www.xinu.cs.purdue.edu/ > ` > or there is always xv6 (http://pdos.csail.mit.edu/6.828/2014/) which > might be useful... > There is also OS161 or Plan9, these should be enough names to search for comparisons or discussions on the OS's to help you pick one. ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Learning things
> [2015-04-07T00:08:10+0530]: "Mike Thompson" (mike-thompson): ,[ mike-thompson ] | As others mention, using the Linux kernel to come up to speed with C is the | wrong approach. If you have a strong desire to learn kernel programming | concepts while coming up to speed on C, I would suggest getting the latest | book on Xinu, buying an Intel Galileo board and working your way through | that book. Xinu is what I cut my teeth on 25 years ago and I remember it | being a terrific learning environment. Xinu is not Linux (or Unix), but | for starting at the ground level all the concepts will map over when you | are ready to tackle Linux kernel work. | | Information for Xinu can be found here: http://www.xinu.cs.purdue.edu/ ` or there is always xv6 (http://pdos.csail.mit.edu/6.828/2014/) which might be useful... -- kind regards anupam ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Learning things
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Thanks for the suggestions, I'll look into those, hopefully ill find something I can help out with and learn at the same time xD - -Joris -BEGIN PGP SIGNATURE- Version: GnuPG v2 iQIcBAEBCAAGBQJVIxJCAAoJEORnMHMHY2Frq1IP/21ZJWUnTseYFnD1HOaDgGmo MQSEqHdNKS07aWffsRNyndGo2ht7niM4K0g7yhUJMbPi9ek+tsU5sC1WOXvCXSFF HrIlbZzbFWmhzHag3G5gD2QHZ93FslwhZrWzI/N+C0wQ11e1ekTtJ7ZLDHIdXXvz GemFehrPw28OebyJChCnuNfBsqw8zP6O7r3TaWo2iWmcnI3hZDdZbtTSewypBuxd mkKlvCkQ9HQM3VKeBbVzHtyS5ok0/3pIIh2GNHzORTqasKCz5dIlTCefzujOkaOp E8ooy5v0i8nDIEmLogWm0xY4p/bu+df8OmAgjtpRLvv2d0+VrCZ7Eg6hUYpTTG6p NP8ADVAljWYePnE9l+US6rEiA9CmXvqHQ1SB9xI2dVGlBckpGV0hSMGr5Q3WgOaC UFWbWr//PU0Asx5AAcnYr7p8O/iBj/3hB6lWBAFVMikoBo/cOa8D9qkf9e4G6l16 obgwP0e7JtExJWP3FLFYft2uPKn0SLr1SCFfeB4soTjju+t0NqrWwxaZFSDUatMj dZo64K4XPRgOZD64royXnh1UroDmEVyyJLob/4Q7jnL+PPw8+M0LgHQ9fDrIJt5O J23b2Q+VQiF0Dnn1VDolYBaWLg53lb5VGW4iutwtr9NjKZQj93ujfNklyD8a6hUy YWtFegGEjHZ5h7fwONjT =cU/x -END PGP SIGNATURE- ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Learning things
> I'm working on trying to teach myself C and was wondering if you had any > kernel specific recommendations. I started the eudyptula challenge but > so far it seems to be mostly learning the standards and whatnot. Are > there any kernel/C books or online tutorials you guys think would help? As others mention, using the Linux kernel to come up to speed with C is the wrong approach. If you have a strong desire to learn kernel programming concepts while coming up to speed on C, I would suggest getting the latest book on Xinu, buying an Intel Galileo board and working your way through that book. Xinu is what I cut my teeth on 25 years ago and I remember it being a terrific learning environment. Xinu is not Linux (or Unix), but for starting at the ground level all the concepts will map over when you are ready to tackle Linux kernel work. Information for Xinu can be found here: http://www.xinu.cs.purdue.edu/ Good luck on your learning... Mike Thompson On Mon, Apr 6, 2015 at 10:17 AM, Greg KH wrote: > On Mon, Apr 06, 2015 at 10:43:46AM -0700, Joris Bolsens wrote: > > Hey list, > > > > I'm working on trying to teach myself C and was wondering if you had any > > kernel specific recommendations. I started the eudyptula challenge but > > so far it seems to be mostly learning the standards and whatnot. Are > > there any kernel/C books or online tutorials you guys think would help? > > Don't learn C with kernel code, please take a few years really learning > the language in userspace, with one of the other thousands of other > userspace programs that could use help that are written in C. > > Good luck, > > greg k-h > > ___ > Kernelnewbies mailing list > Kernelnewbies@kernelnewbies.org > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Learning things
On Mon, Apr 06, 2015 at 10:43:46AM -0700, Joris Bolsens wrote: > Hey list, > > I'm working on trying to teach myself C and was wondering if you had any > kernel specific recommendations. I started the eudyptula challenge but > so far it seems to be mostly learning the standards and whatnot. Are > there any kernel/C books or online tutorials you guys think would help? Don't learn C with kernel code, please take a few years really learning the language in userspace, with one of the other thousands of other userspace programs that could use help that are written in C. Good luck, greg k-h ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
RE: Learning things
-Original Message- From: kernelnewbies-boun...@kernelnewbies.org [mailto:kernelnewbies-boun...@kernelnewbies.org] On Behalf Of Joris Bolsens Sent: Monday, April 06, 2015 10:07 AM To: valdis.kletni...@vt.edu Cc: kernelnewbies@kernelnewbies.org Subject: Re: Learning things -BEGIN PGP SIGNED MESSAGE- Hash: SHA256 In that case do you have any general recommendations? Or is there some sort of project that covers most of the basics? I learn best by doing and most stuff I found online goes pretty slow and is a bit boring :/ Thanks a ton On 04/06/2015 10:02 AM, valdis.kletni...@vt.edu wrote: > On Mon, 06 Apr 2015 10:43:46 -0700, Joris Bolsens said: > >> I'm working on trying to teach myself C and was wondering if you had >> any kernel specific recommendations. > > Don't bother trying until you have an actual good working knowledge of > C. > > Work in userspace where your screw-ups just take the process out, not > the entire system, until stuff like a SIGSEGV becomes a rarity. > *THEN* start considering kernel work. > A google search on "open source projects written in c" yielded this: http://www.quora.com/What-are-open-source-projects-that-are-written-in-C-C++-are-easy-to-contribute-to Jeff Haran ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Learning things
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 In that case do you have any general recommendations? Or is there some sort of project that covers most of the basics? I learn best by doing and most stuff I found online goes pretty slow and is a bit boring :/ Thanks a ton On 04/06/2015 10:02 AM, valdis.kletni...@vt.edu wrote: > On Mon, 06 Apr 2015 10:43:46 -0700, Joris Bolsens said: > >> I'm working on trying to teach myself C and was wondering if you >> had any kernel specific recommendations. > > Don't bother trying until you have an actual good working knowledge > of C. > > Work in userspace where your screw-ups just take the process out, > not the entire system, until stuff like a SIGSEGV becomes a rarity. > *THEN* start considering kernel work. > -BEGIN PGP SIGNATURE- Version: GnuPG v2 iQIcBAEBCAAGBQJVIr1HAAoJEORnMHMHY2Frm+UP/0moBmxc1KWrMHrSRSkqGlOG lmiNZh1KJBw51mm8Ye6ML6cQlUyiA4XBe7vBnt/zJ0exou0hTDgHBFfXddXjnPyr 687HYOxH8uKymXh3qHTRxI8tjbnOUHdwXtzjOBxms62FNKmkvdnvbkDF0PGiu4+c eqi0eiFZ00DuNntzvkM375+swR1D/BnW44hWGaFv7sEjvREFSgmcYwmjZuFBNn8D 8FoYans5y4vM91+MnEE7A34niuqXgz3ZHUXyTz5ZfB/ZZWQKnaymfU4Yew7pD2og aP/dwrjmPogg4n21WMJnBG1Aj0b/heXZWzVIknGeQEHzyKJNtoAz5P92EEdyIRTB ZeGZm8333IpJcQ7VtG0VQMzs8xwJ889fo7Prp0c/pxDgsUqy2AaWSiKhMXhy5Yzy 6Dq4uYZWZehOf99tZxl21+eadMeYokBvyvpBQPZqeKw4V1J90tg9D7stXrszLlwZ cxFxp/1xeHTcy45yJ8L9klVnIaZCqLu7DFej/fI5I0xhRokDz+ArmP7BqxgMCaAg vYrBqDEdTSvyJZn+6tQ6KZFGJGhavbkbvSMgmzbv/NS1mzMZ17sM6xoyNeC/DHkZ keeypFtW/u8b96cNDTqLl9wWI7wYudaeH9d5XnpAGmyUldApMAkmEyKXykSmdbwq W0jRXuJpwmCxftmD/qBu =TUgV -END PGP SIGNATURE- ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
RE: Learning things
-Original Message- From: kernelnewbies-boun...@kernelnewbies.org [mailto:kernelnewbies-boun...@kernelnewbies.org] On Behalf Of Joris Bolsens Sent: Monday, April 06, 2015 10:44 AM To: kernelnewbies@kernelnewbies.org Subject: Learning things >Hey list, > >I'm working on trying to teach myself C and was wondering if you had any >kernel specific recommendations. > >I started the eudyptula challenge but so far it seems to be mostly learning >the standards and whatnot. Are there any kernel/C books or online tutorials >you guys think would help? Well, I have to credit you for jumping into the deep end. 8^) You might want to get familiar with C in user space first where if you get it wrong you have an OS and a memory manager on your side to generate a nice clean core file and debuggers like gdb to look at what happened when something goes bad. Bugs in the kernel are notorious for being difficult to track down. Jeff Haran ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Learning things
On Mon, 06 Apr 2015 10:43:46 -0700, Joris Bolsens said: > I'm working on trying to teach myself C and was wondering if you had any > kernel specific recommendations. Don't bother trying until you have an actual good working knowledge of C. Work in userspace where your screw-ups just take the process out, not the entire system, until stuff like a SIGSEGV becomes a rarity. *THEN* start considering kernel work. pgpyCUaExIqBu.pgp Description: PGP signature ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies