[content-discuss] [docs-discuss] the magic of the shell, waiting for reviewers

Brendan Gregg - Sun Microsystems brendan at sun.com
Wed Mar 12 19:40:17 PDT 2008


G'Day Nacho,

Thanks for writing this up and showing how DTrace and mdb can be useful.
Here are some comments.

* "Let's review execve(2) then ... since we know it's a system call"
	- you start by discussing the libc execve() function (which
	  calls into the kernel via _syscall()).  I have the feeling
	  the libc execve() function may be best called execve(3C), which
	  then calls execve(2); it might be best to ask someone in
	  code-discuss about that distinction.

* "syscall::exece:entry ... printf("fd: %d", arg0);"
	- arg0 is the filename, not a file descriptor.  You can try
	  trace(copyinstr(arg0));.

* About the mdb usage:
	- Why was "struct execsw" in quotes?
	- Why was struct execsw specified at all? (try "execsw::print")
	- Where did +0x50 come from? (eg, "execsw,3::print struct execsw")

* Overall:
	- it might help to put an enumerated list of events near the
	  end, to reinforce the order of events.
	- good opportunity to include a:
		dtrace -n 'fbt::findexec_by_hdr:entry {
			printf("%.4S", stringof(arg0)); stack();
		}'
	  to show how it is called twice, the first on '#!', the second
	  on the ELF file.
	- A reference section at the end to point users to:
	  http://www.opensolaris.org/os/community/dtrace
	  http://www.opensolaris.org/os/community/mdb
	  Solaris Internals, 2nd Ed.

cheers,

Brendan


On Fri, Mar 07, 2008 at 02:55:42AM -0300, Ignacio Marambio Cat?n wrote:
> i left a little article at the contents projects about the way shell
> scripts works in the opensolaris environment[1]
> i would love to have it included in the opensolaris curriculum as it
> not only shows some parts of the opensolaris code but also uses
> serveral tools: the mdb. the source browser, DTrace and truss. I know
> the article is not as clear as it should be or as well formated, but
> i'm eager to correct whatever you feel it's necessary including the
> many typos i'm sure there are
> 
> nacho
> 
> [1] http://www.opensolaris.org/os/project/content/files/shells.pdf
> _______________________________________________
> docs-discuss mailing list
> docs-discuss at opensolaris.org

-- 
Brendan
[CA, USA]


More information about the content-discuss mailing list