From owner-freebsd-questions@freebsd.org Wed May 22 04:10:42 2019 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 95FDB159E5B6; Wed, 22 May 2019 04:10:41 +0000 (UTC) (envelope-from freebsd-rwg@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3B5B068288; Wed, 22 May 2019 04:10:40 +0000 (UTC) (envelope-from freebsd-rwg@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id x4M4AcXe082597; Tue, 21 May 2019 21:10:38 -0700 (PDT) (envelope-from freebsd-rwg@gndrsh.dnsmgr.net) Received: (from freebsd-rwg@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id x4M4AcOZ082596; Tue, 21 May 2019 21:10:38 -0700 (PDT) (envelope-from freebsd-rwg) From: "Rodney W. Grimes" Message-Id: <201905220410.x4M4AcOZ082596@gndrsh.dnsmgr.net> Subject: Re: newbie question In-Reply-To: <20190521234006.GS16860@eureka.lemis.com> To: "Greg 'groggy' Lehey" Date: Tue, 21 May 2019 21:10:38 -0700 (PDT) CC: Alexandru Goia , freebsd-hackers@freebsd.org, freebsd-questions@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 3B5B068288 X-Spamd-Bar: + Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [1.96 / 15.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; IP_SCORE(0.05)[ip: (0.16), ipnet: 69.59.192.0/19(0.08), asn: 13868(0.05), country: US(-0.06)]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[dnsmgr.net]; AUTH_NA(1.00)[]; NEURAL_SPAM_MEDIUM(0.54)[0.539,0]; NEURAL_HAM_LONG(-0.39)[-0.388,0]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_SPAM_SHORT(0.87)[0.872,0]; MX_GOOD(-0.01)[cached: gndrsh.dnsmgr.net]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:13868, ipnet:69.59.192.0/19, country:US]; FREEMAIL_CC(0.00)[gmail.com]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 May 2019 04:10:42 -0000 > On Wednesday, 22 May 2019 at 1:36:24 +0300, Alexandru Goia wrote: > > greetings. how can do i get attuned in a logical manner with the > > *bsd/freebsd kernel source code ? thank you very much ! > > Clearly you know how to get it (otherwise > https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ is your > friend). To understand it better, I'd suggest reading "The Design and > Implementation of the FreeBSD Operating System" by Kirk McKusick and > George Neville-Neil (Addison-Wesley). > > Understanding the code requires some work. People will happily answer > detail questions, but you'll be responsible for finding out the > overall structure yourself. During a somewhat recent session of working with a not new, but also not seasoned developer, they noted a great deal of confusion when I was reading through and explaining code to them when I would actually read "pcb" on screen as "Process Control Block" when verbalizing it. They could not see what I had just read to them. After a short discussion we realized that my mind was auto translating the short and cryptic variable names into the full and proper names. This became key in my understanding of how all these bits work long long ago and has just become automatic. SO, I encorage you and others new to the code, learn these data structure names, and mentall process them by long name, it could help you to better understand what it is your reading. The BSD sources are very consistent in its use of names and objects, and abbriviates, taking that to your advantage! Anyone any place have a nice list of the TLA to full name? pcb tcb p tp ifa ... > Greg -- Rod Grimes rgrimes@freebsd.org