CS430 Solaris and DTrace Presentation
-
Upload
chris-hart -
Category
Documents
-
view
214 -
download
0
Transcript of CS430 Solaris and DTrace Presentation
![Page 1: CS430 Solaris and DTrace Presentation](https://reader036.fdocuments.us/reader036/viewer/2022082722/577cce061a28ab9e788d1c96/html5/thumbnails/1.jpg)
Paper SummaryChristopher HartRegis University23 February 2008
![Page 2: CS430 Solaris and DTrace Presentation](https://reader036.fdocuments.us/reader036/viewer/2022082722/577cce061a28ab9e788d1c96/html5/thumbnails/2.jpg)
Solaris 10 is a UNIX 03 certified operation system (The Open Group, 2001)
One key benefit of Solaris is the availability of the dynamic tracing facility “DTrace”
My paper uses DTrace as a lens to explore the Solaris kernel, process management, and file system management and I/O
![Page 3: CS430 Solaris and DTrace Presentation](https://reader036.fdocuments.us/reader036/viewer/2022082722/577cce061a28ab9e788d1c96/html5/thumbnails/3.jpg)
DTrace dynamically instruments kernel and user processes using probes
Probes are defined in the context of providers; providers organize probes by the functions they instrument
Actions tied to one or probes are executed when an event occurs and can be used to output detail about the event
![Page 4: CS430 Solaris and DTrace Presentation](https://reader036.fdocuments.us/reader036/viewer/2022082722/577cce061a28ab9e788d1c96/html5/thumbnails/4.jpg)
Modular Design (McDougall, R., & Mauro, J., 2007, p. 16-18) Organized in logical groups (system call
interface, process execution, etc.) Core functions exist within kernel, other
functions can be loaded dynamically Benefits (Silberschatz, Galvin and Gagne,
p. 62-63) : Core services offered without requiring
message passing through kernel (á la microkernel)
Framework for dynamic loading and modularity enables extensibility
![Page 5: CS430 Solaris and DTrace Presentation](https://reader036.fdocuments.us/reader036/viewer/2022082722/577cce061a28ab9e788d1c96/html5/thumbnails/5.jpg)
Core process objects (McDougall, R., & Mauro, J., 2007, p. 52): Kernel thread Lightweight process (“LWP”)▪ Provides linkage between user threads and kernel
threads▪ One-to-one relationship between user threads and LWPs
User thread Process Data Structure
Some information exposed through /proc virtual file system
sys/proc.h defines process data structure DTrace reveals process execution and LWP
creation through proc provider
![Page 6: CS430 Solaris and DTrace Presentation](https://reader036.fdocuments.us/reader036/viewer/2022082722/577cce061a28ab9e788d1c96/html5/thumbnails/6.jpg)
Virtual memory system has three layers (McDougall, R., & Mauro, J., 2007, p. 456): Hardware address translation layer hides physical
memory implementation details from space & page management
Address space & page management layer provides common interface to page scanner and kernel and user processes
Segment drivers provide virtual memory management for different purposes (McDougall, R., & Mauro, J., 2007, p. 456). Examples: seg_vn for process heap & stack memory seg_kmem for non-pageable kernel memory seg_map for memory mapping files
![Page 7: CS430 Solaris and DTrace Presentation](https://reader036.fdocuments.us/reader036/viewer/2022082722/577cce061a28ab9e788d1c96/html5/thumbnails/7.jpg)
Two interfaces for file management: vfs for file system management functions vnode for interacting with files Interfaces are used for both real and virtual file
systems Two mechanisms for interacting with files:
Memory mapping (uses user process address space)
read() and write() (kernel performs memory mapping in kernel address space)
(McDougall, R., & Mauro, J., 2007, p. 657,659)
![Page 8: CS430 Solaris and DTrace Presentation](https://reader036.fdocuments.us/reader036/viewer/2022082722/577cce061a28ab9e788d1c96/html5/thumbnails/8.jpg)
McDougall, R., & Mauro, J. (2007). Solaris Internals (2nd ed.). Upper Saddle River, NJ: Prentice Hall.
Silberschatz, A., Galvin, P. B., & Gagne, G. (2005). Operating System Concepts (7th ed.). Hoboken, NJ: John Wiley & Sons, Inc.
The Open Group. June 25, 2001. The UNIX System – The Single UNIX Specification. Retrieved February 13, 2008 from http://www.unix.org/what_is_unix/ single_unix_specification.htm