• Like
  • Save

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Open Solaris

on

  • 14,043 views

Software evolution - open solaris

Software evolution - open solaris

Statistics

Views

Total Views
14,043
Views on SlideShare
13,988
Embed Views
55

Actions

Likes
6
Downloads
0
Comments
0

7 Embeds 55

http://www.slideshare.net 29
http://mystikroots.blogspot.com 10
http://mystikroots.blogspot.in 8
http://www.techgig.com 5
http://www.mystikroots.blogspot.com 1
http://static.slideshare.net 1
http://translate.googleusercontent.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Open Solaris Open Solaris Presentation Transcript

    • Software Evolution: OpenSolaris Moinak Ghosh Solaris Sustaining Engineering Sun Microsystems, Inc.
    • tm The History of Solaris Two decades of Innovation New VMS OpenWindow ● • VFS and ● ●Dynamic graphics Vnode First version linking Environment framework. of Sun Unix ●First Sparc •Assymetric ●NFS based on 4 ●Support Multiprocessi implemented BSD i386 ng Sun Unix 0.7 Sun OS 1.0 Sun OS 2.0 Sun OS 4.0 Sun OS 4.1 1985 1982 1983 1988 1990 SunOS+BSD+SVR3 + Xenix = SVR4 SVR4 + Multiprocessor scalability = Solaris 20-way SMP ●64-way SMP ●Dynamic ● ● Large page processor sets ●Large file ●8-way SMP ●Slab allocator support support ●Device powr ●Dynamic ●Cachefs Solaris was ●Doors management ●CDE ●Ported to reconfiguration born. 4 way SMP x86 ●NFSv3 ●New DNLC environment Solaris 2.1 Solaris 2.3 Solaris 2.4 Solaris 2.5 Solaris 2.0 Solaris 2.6 Solaris 2.2 1992 1992 1993 1993 1994 1995 1996
    • tm The History of Solaris Two decades of Innovation • Solaris 9 Solaris Volume Manager > Solaris Resource Manager > Multi-terabyte UFS filesystem > UFS snapshots > Live Upgrade, Jumpstart, flash, Patch Manager tool. > Thread library improvement and Hyper-threading support. > Libumem, memory allocator >
    • tm The History of Solaris Two decades of Innovation • In 1998 Solaris 7 was released > 64bit kernel and process address space. > UFS logging • In 2000 Solaris 8 was released. Sun cluster software framework > IPV6 > WBEM services > Modular debugger, coreadm, process accounting and statistics. > CPC, Large concurrent process (100000+) support. > RBAC. >
    • Solaris 10: A Generation Ahead Extreme Native Linux Next-gen FS Diagnosability Binary Support Zetta byte File system Dynamic Tracing Relentless Platform Availability Choice Predictive Self Healing New UltraSPARC T1, New AMD Opteron Services Simplfied SMF Unparalleled Security Network on SteroidsProcess Rights Management Solaris Containers FireEngine,NFSv4, Solaris Cryptographic RDMA Infrastructure
    • Security • Problem > Traditional Unix root is all or nothing. > Privileged applications given morethan the required priveleges than required. > Cryptographic services underdeveloped. > No unified access to hardware acceleration. > Preformance improvements needed. • Solution > Fine grained priveleges allow apps to have only the required priveleges. Many Solaris services run with reduced privelges there-by less > prone to attack. Unified framework for cryptographic services. > Transperent access to crypto acceleration hardware. > Solaris now is much more secure. >
    • Security Secure Execution • User Rights management • Process Rights Management • Cryptographic Infrastructure • > One algorithm, one implementation and standards based frontends. > cryptoadm, frontend for administrators. • IPFilter • Solaris Trusted Extensions
    • Zones • Problem > One application for a system is waste of resource. > Application namespace and interoperability are obstables for consolidation. > • Solution > Divide a system into multiple compartments or zones. > Each zone is isolated and have its own namespace. > Each zone is a virtualized operating system.
    • Solaris Zones Single OS instance – Many Virtual OSes Virtualize OS service that emulate an OS instance • Isolates applications from each other • Improve security by intrusion-isolation • Boot and bring down zones independent of the OS • instance • Compatible with existing applications • Complements existing resource management. • Almost arbitrary granularity in isolating and sharing resources
    • Zones Block Diagram global zone (serviceprovider.com) Intrusion Detection Software fracture zone (fracture.org) twilight zone (twilight.com) drop zone (drop.net) zone root: /export/fracture zone root: /zone/twilight zone root: /aux0/drop web services login services web services (Apache 1.3.22, J2SE 1.4.2) (OpenSSH 3.4) (Apache 2.0, J2SE 5.0) Environment Application enterprise services network services network services 22% (Oracle 9i, IAS 6) (BIND 8.3, sendmail) (BIND 9.2, sendmail) core services core services core services (NIS, inetd, automountd) (NIS+, inetd, rpcbind) (DNS, inetd, automountd) zcons zcons zcons ge0:2 ge0:1 ce0:1 ce0:2 Platform /usr /usr /opt 65%zoneadmd Virtual zoneadmd zoneadmd zone management (zonecfg(1M), zoneadm(1M), zlogin(1), ...) core services platform administration remote administration (LDAP, inetd, rpcbind, (syseventd, devfsadm, ...) (SNMP, SunMC, WBEM, ...) automountd, snmpd, dtlogin, sendmail, sshd, ...) storage complex network device network device (ce0) (ge0)
    • Branded Zones • Extends Zones infrastructure. • Allows the creation of non-Solaris zones on a Solaris system. > Only supports user-space environments. > If you need a different kernel, see Xen • Each distinct zone type is called a Brand
    • Running Linux Processes ld.so.1 1.Kernel jumps into our linker 2.Loads our libc (and a few others) lx_brand.so.1 3.Resolves symbols in our libraries libc.so.1 4.Runs _init() in lx_brand.so.1 ld-linux.so.2 Pass lx_handler() address to kernel • glibc-2.3.2.so 5.Builds aux vector for Linux app Linux App 6.Jumps to Linux linker Stack 7.Load Linux glibc, etc. 8.Resolves Linux symbols 9.Jumps to Linux main() Heap Address Space Map (artist's rendering, not drawn to scale, etc.)
    • Linux System Call Flow Global Zone Linux Zone LX emulation library Solaris Process Linux Process lx_open(args) { { { fd = open((lx_to_solaris(args)) ... if (fd < 0) ... return (solaris_to_lx(errno)) open() open() else ... return (fd); ... } } } Userland Kernel LX brand module Solaris Kernel struct lx_brand_ops { Syscall handler lx_syscall() lx_syscall { lx_proc_exit() return to userland if (p->p_brand) lx_pid_assign() } p->p_brand->br_syscall(); lx_pid_release() else lx_setregs() rval = do_syscall(); ... open() { return to userspace } ... return(fd); }
    • Fault Management Architecture (FMA) • Problem Software not tolerent of hardware faults > Many disjoint messages. > Messages describe symptoms, not the original problem. > System goes offline and needs human intervention. > • Solution Unified system for fault management. > Consistent delivery of error reports. > Automated diagnosis of faults from disjoint messages. > Automated repair of non-fatal faults. >
    • Fault Management Architecture
    • FMA contd...
    • Service Management Facility (SMF) • Problem > Adhoc mechanisms for managing services > rc scripts, admin scripts, /etc files etc > Linear execution slows the boot process. > No dependency information ofr these services. • Solution > Single repository for configuration information. > Unified administrative interface. > Dependency tracking for fault management and restart.
    • Service Management Facility • Service: a long-lived software object with well-defined state, failure boundary, dependencies, methods • A service is often critical to operation of system or fulfillment of business objectives. • SMF makes Solaris services self healing. • Single repository and parallel startup.
    • Dynamic Tracing Framework (DTrace) • Problem > Sophisticated tools to examine static kernel state > mdb, kmdb etc > Robust tools to examine individual processes. > truss, proc tools, mdb etc > But...no tools to examine transient or systemic behavior. • Solution > Dynamic Tracing Framework. (Dtrace) > Gather arbitrary data across kernel and userland.
    • Dynamic Tracing with DTrace The Performance Bottleneck Buster • Breakthrough approach for tuning > Power tool for real-time analysis, diagnosis • Safe and comprehensive > Non invasive, little overhead, easy to use > One view into both system and application level > Over 25,000 data monitoring points • Designed for live use on production systems > No need to force failure, then do postmortem debug > No need to re-create the problem on test systems > No need to run different, instrumented OS in production • Reduced costs > Solutions found in minutes or hours, not days or weeks > Optimized apps: cases of 3-30x speedups already seen
    • Dtrace • Dynamically Interpreted Language 'D' allows for arbitrary actions & predicates • Powerful data management primitives eliminate need for most postprocessing • Unwanted data is pruned as close to the source as possible • Mechanism to trace during boot • Mechanism to retrieve all data from a kernel crash dump
    • Zettabyte FileSystem (ZFS) • Problem > No defense against silent data corruption. > Too complicated: disk labels, partitions, volumes, provisioning, grow/shrink, manual edit /etc/vfstab etc > Lots of limits: filsystem size, volume size, file size, no. of files, files per directory, no. of snapshots etc > Not portable between x86 and SPARC. > Dog slow • Solution > ZFS adddresses all these problems and more. > Blows away 20 years of obsolete assumptions.
    • Zettabyte File System (ZFS) The Last word in filesystems • Immense capacity > The world's first 128-bit filesystem > 256 quadrillion ZB (zettabyte = 70-bit (a billion TB)) • Simple administration > Unlimited snapshots and Undeletes I/O > Pooled Storage, Quotas and reservations • Smokin' performance Write sequentialization, Dynamic striping, multiple block sizes > constant-time snapshots > concurrent constant-time directory ops > byte-range locking for concurrent writes > sync semantics at async speed >
    • ZFS contd... • Provable data integrity (Detects and corrects silent data corruption) > Self-healing data > Copes with every class of error bit rot • • phantom writes I/O • misdirected reads/writes • administrative errors > Disk scrubbing > Encryption > All operations are copy-on-write > All operations are transactional > All data is checksummed > Block-level compression and encryption
    • More Solaris features... • Network File System Version4 (NFSv4) • libumem > Scalable memory allocator (libumem(3LIB) > Slab allocator concepts > Debugging support • coreadm(1m) improvements > specify core file content (program text, mapped files , System V shared memory segments, ism, dism) > No environment (patches) replication for core analysis GRUB boot loader (x86 only) • Sun Java Desktop System Integration. • Sun Java Web console • Webmin •
    • More Solaris features... • pfiles(1) provides the filenames for the open file descriptors of a process • System V IPC tunables > dynamically tunable via resource controls (prctl(1)), no /etc/system tuning, no reboot > project.max-shm-ids, project.max-sem-ids, project.max-shm- memory • 17 new resource controls added. • Event ports
    • Solaris features -- Debugging • pmap(1) features > thread and signal stacks > core file content • Per-thread p-tools > pstack <pid>|<core>/lwp > truss -p <pid>/lwp • watchpoints > Faster, More robust, Scalable • pstack(1) for Java > see java stack frames in the JVM, core file • kmdb > New interactive kernel debugger > Allows use of mdb dcmds and walkers
    • Solaris features on SPARC • Chip Multi-threading(CMT) support > Execute multiple threads simultaneously > S10 CMT aware (x86 & SPARC) “knows” which logical processors share a Chip (psrinfo(1M)) thread scheduling improves system performance cache utilization & maximize resource availablity > Transparent to applications
    • And now all this technology is OpenSource 14 M Lines of Source Code kernel, rctl_action, dtrace_probe Core Operating System pool_bind_kmem_enable, zone_enter, chip_t, mutex_exit, ddi_fm_capable, priv_set_t, putnext, lgrp_mem_rename, syscall_mstate, vmem_xfree tcp, dhcp, ipsec, nfs, dlpi, dns, ldap, nis, nis+, ppp, ipqos, ip Networking multicast, ip multipathing, ipv4, ipv6, rpc, udp, snmp, sctp, packet filtering libc, libumem, libsysevent, librt, libnsl, libproc, libsocket, libscf, libw, libkstat, librpcsvc, libxnet,Libraries libnvpair, System libcurses, libbsm, libsendfile, libadm Kstat, ifconfig, zoneadm, svcadm, traceroute,ppriv, prctl, mdb, pfexec, lofiadm, lari, Commands cputrack, crle, ifconfig,fmadm, dispadmin, ptree
    • Sun’s Roots in Open Source UNIX SVR4 1980 2000 2006 1990
    • What is OpenSolaris? • An open development effort based on Solaris > Non-Sun developers can contribute. > Collaboration between Sun and non-Sun developers • An attempt to use a community development model to develop Solaris > Future versions of Solaris will be based around OpenSolaris. > Expand the ecosystem of Solaris technology. > Better engage with the Solaris developer and user communities.
    • The OpenSolaris Community Browse Source code FAQs Communities Discussions Download Source Code Binaries Tools Participate IRC #opensolaris Discussions Blogs Communities User Groups Buttons
    • Why Open Source? • Customers are demanding it. • Good for Security and quality. • Open development can take Solaris to places, closed development could not.
    • Licensing Most of the OpenSolaris code is released under CDDL. • Common Development and Distribution License (CDDL) • OSI-approved open source license. • Based on the Mozilla Public License (MPL). • Alows royalty-free use, modification, derived works. • Source for modifications must be published but proprietary extensions • possible. • Includes an explicit patent license for code released under CDDL. • More details: > http://opensolaris.org/os/licensing/opensolaris_license/ > http://opensolaris.org/os/about/faq/licensing_faq/
    • Whats Happening in OpenSolaris 14,000 members (in just 1 year) 40 major community projects, BrandZ, DTrace, Solaris ZFS, Zones 30 User Groups Worldwide 250 Code Contributions 33,000 Source Downloads 4 Million Solaris Express Downloads 5 Open Solaris Distros Available: Solaris SchilliX, BeliniX, NexentaOS, MartUX Community Recognition: 2006 SIIA Codie Award: 2005 World Editor’s Choice Solaris Eng: InfoWorld Innovators Award, Bryan Cantrill: Source: Sun 6/06 – For latest, see: http://www.opensolaris.org/os/community/marketing/metrics/latest/ Top 35 Young Innovators – MIT
    • Want to get involved? • Subscribe to Sun Developer Network and OpenSolaris forums. • Host a OpenSolaris workshop on your campus. • Start a OpenSolaris User group. • Chew the bite sized bugs. • Join the community projects. • Solaris University Challenge contest. • Comeup with new ideas and projects. • Become the OpenSolaris Center of Excellence.
    • Innovation Happens Here SchilliX, BeleniX, NexentaOS, MarTUX community distros FreeBSD DTrace port underway Xen project code available PowerPC Port underway DragonFly Linux and Mac OSX ports of ZFS underway
    • OpenSolaris Worldwide User Groups
    • References http://opensolaris.org/ • http://blogs.sun.com/ • http://docs.sun.com/ • http://cvs.opensolaris.org/source/ • http://opensolaris.org/os/communities/#all • opensolaris-discuss@opensolaris.org •
    • Thank You Thank You Sun Microsystems, Inc.
    • Software Evolution: OpenSolaris Moinak Ghosh Solaris Sustaining Engineering Sun Microsystems, Inc. Exact File Name 1/25/07 Page 1 This presentation is intended to be a preview of the Solaris 10 OS; as such, it does not cover every feature that will be in the final release. While most of the technologies have had whitepapers released, technical details are not available for each and every one of them
    • The History of Solaristm Two decades of Innovation New VMS OpenWindow ● VFS and • ● Dynamic graphics ● Vnode First version linking Environment framework. of Sun Unix ●First Sparc •Assymetric ●NFS based on 4 ●Support Multiprocessi implemented BSD i386 ng Sun Unix 0.7 Sun OS 1.0 Sun OS 2.0 Sun OS 4.0 Sun OS 4.1 1985 1982 1983 1988 1990 SunOS+BSD+SVR3 + Xenix = SVR4 SVR4 + Multiprocessor scalability = Solaris ●64-way SMP ●Dynamic ●20-way SMP Large file ●8-way SMP ●Slab allocator ●Large page processor sets ● support support ●Device powr ●Dynamic ●Cachefs Solaris was ●Doors management ●CDE ●Ported to reconfiguration born. 4 way SMP x86 ●NFSv3 ●New DNLC environment Solaris 2.1 Solaris 2.3 Solaris 2.4 Solaris 2.5 Solaris 2.0 Solaris 2.2 Solaris 2.6 1992 1992 1993 1993 1994 1995 1996 ExactUltraSPARC he File Name T1 is the latest generation of Sun's SPARC technology 1/25/07 Page 2 that stretches back over 20 years. It is a fourth-generation product, building on our previous industry firsts in: RISC, SMP, and 64-bit technology. Most important: Sun has always believed in the value of binary compatibility, and the UltraSPARC T1 continues the tradition. It is 100% application, binary compatible with Solaris applications – guaranteed, thanks to the Solaris 10 Application Guarantee. Binary compatibility is still the best way to protect customers' investments in people, products, productivity.
    • The History of Solaristm Two decades of Innovation • Solaris 9 Solaris Volume Manager > Solaris Resource Manager > Multi-terabyte UFS filesystem > UFS snapshots > Live Upgrade, Jumpstart, flash, Patch Manager tool. > Thread library improvement and Hyper-threading support. > Libumem, memory allocator > ExactUltraSPARC he File Name T1 is the latest generation of Sun's SPARC technology 1/25/07 Page 3 that stretches back over 20 years. It is a fourth-generation product, building on our previous industry firsts in: RISC, SMP, and 64-bit technology. Most important: Sun has always believed in the value of binary compatibility, and the UltraSPARC T1 continues the tradition. It is 100% application, binary compatible with Solaris applications – guaranteed, thanks to the Solaris 10 Application Guarantee. Binary compatibility is still the best way to protect customers' investments in people, products, productivity.
    • The History of Solaristm Two decades of Innovation • In 1998 Solaris 7 was released > 64bit kernel and process address space. > UFS logging • In 2000 Solaris 8 was released. Sun cluster software framework > IPV6 > WBEM services > Modular debugger, coreadm, process accounting and statistics. > CPC, Large concurrent process (100000+) support. > RBAC. > Exact File Name 1/25/07 Page 4 he UltraSPARC T1 is the latest generation of Sun's SPARC technology that stretches back over 20 years. It is a fourth-generation product, building on our previous industry firsts in: RISC, SMP, and 64-bit technology. Most important: Sun has always believed in the value of binary compatibility, and the UltraSPARC T1 continues the tradition. It is 100% application, binary compatible with Solaris applications – guaranteed, thanks to the Solaris 10 Application Guarantee. Binary compatibility is still the best way to protect customers' investments in people, products, productivity.
    • Solaris 10: A Generation Ahead Extreme Native Linux Next-gen FS Diagnosability Binary Support Zetta byte File system Dynamic Tracing Relentless Platform Availability Choice Predictive Self Healing New UltraSPARC T1, New AMD Opteron Services Simplfied SMF Unparalleled Security Network on SteroidsProcess Rights Management Solaris Containers FireEngine,NFSv4, Solaris Cryptographic RDMA Infrastructure Exact File Name 1/25/07 Page 5 Here are the 5 design centers of Solaris 10. Optimal Utilization: N1 Grid Containers extends Sun's innovation leadership in server consolidation by delivering a way to provide server virtualization without the overhead traditionally associated with it. Relentless Availability: With Predictive Self Healing, the Solaris OS can speed recovery from both hardware and software failures. Extreme Performance: beyond optimizations for both SPARC and x86, the Solaris OS also makes it easier to profile and tune software systems. Unparalleled Security: Sun has provided trusted computing environments for over 15 years; now the standard Solaris OS makes these features easier to implement in any environment where security is becoming a critical requirement. Platform Choice: The Solaris OS provides all this and more for both SPARC and x86 systems, and for new and existing 32-bit and 64-bit applications.
    • Security • Problem > Traditional Unix root is all or nothing. > Privileged applications given morethan the required priveleges than required. > Cryptographic services underdeveloped. > No unified access to hardware acceleration. > Preformance improvements needed. • Solution > Fine grained priveleges allow apps to have only the required priveleges. Many Solaris services run with reduced privelges there-by less > prone to attack. Unified framework for cryptographic services. > Transperent access to crypto acceleration hardware. > Solaris now is much more secure. > Exact File Name 1/25/07 Page 6
    • Security Secure Execution • User Rights management • Process Rights Management • Cryptographic Infrastructure • > One algorithm, one implementation and standards based frontends. > cryptoadm, frontend for administrators. • IPFilter • Solaris Trusted Extensions Exact File Name 1/25/07 Page 7
    • Zones • Problem > One application for a system is waste of resource. > Application namespace and interoperability are obstables for consolidation. > • Solution > Divide a system into multiple compartments or zones. > Each zone is isolated and have its own namespace. > Each zone is a virtualized operating system. Exact File Name 1/25/07 Page 8
    • Solaris Zones Single OS instance – Many Virtual OSes Virtualize OS service that emulate an OS instance • Isolates applications from each other • Improve security by intrusion-isolation • Boot and bring down zones independent of the OS • instance • Compatible with existing applications • Complements existing resource management. • Almost arbitrary granularity in isolating and sharing resources Exact File Name 1/25/07 Page 9 With other technologies such as VMWare, IBM lPARs or HP vPARs, there is a substantial amount of overhead from the virtualization layer, which may even include a separate host operating system. The operating system layer is also replicated, meaning that there is an increase in wasted resources for each container created—think of this as including both “vertical” (the hypervisor layer) and “horizontal” (each OS instance) overhead. N1 Grid Containers uses the operating system itself as the virtualization layer, adding less than 1% overhead to the system overall. Since there's only one OS to manage, system admin overhead is also cut drastically. Solaris can support up to 4,000 separate containers on a single OS instance. (If that doesn't seem like enough, consider that you can run multiple OS instances on a Sun Fire midframe class system.) Each Zone : - Looks like an individual host - can be rebooted - has it's own IP address/hostname - is isolated from the other zone(s)
    • Zones Block Diagram global zone (serviceprovider.com) Intrusion Detection Software fracture zone (fracture.org) twilight zone (twilight.com) drop zone (drop.net) zone root: /export/fracture zone root: /zone/twilight zone root: /aux0/drop web services login services web services (Apache 1.3.22, J2SE 1.4.2) (OpenSSH 3.4) (Apache 2.0, J2SE 5.0) Environment Application enterprise services network services network services 22% (Oracle 9i, IAS 6) (BIND 8.3, sendmail) (BIND 9.2, sendmail) core services core services core services (NIS, inetd, automountd) (NIS+, inetd, rpcbind) (DNS, inetd, automountd) zcons zcons zcons ge0:2 ge0:1 ce0:1 ce0:2 Platform /usr /usr /opt 65% Virtual zoneadmd zoneadmd zoneadmd zone management (zonecfg(1M), zoneadm(1M), zlogin(1), ...) core services platform administration remote administration (LDAP, inetd, rpcbind, (syseventd, devfsadm, ...) (SNMP, SunMC, WBEM, ...) automountd, snmpd, dtlogin, sendmail, sshd, ...) storage complex network device network device (ce0) (ge0) Exact File Name 1/25/07 Page 10
    • Branded Zones • Extends Zones infrastructure. • Allows the creation of non-Solaris zones on a Solaris system. > Only supports user-space environments. > If you need a different kernel, see Xen • Each distinct zone type is called a Brand Exact File Name 1/25/07 Page 11
    • Running Linux Processes ld.so.1 1.Kernel jumps into our linker 2.Loads our libc (and a few others) lx_brand.so.1 3.Resolves symbols in our libraries libc.so.1 4.Runs _init() in lx_brand.so.1 ld-linux.so.2 Pass lx_handler() address to kernel • glibc-2.3.2.so 5.Builds aux vector for Linux app Linux App 6.Jumps to Linux linker Stack 7.Load Linux glibc, etc. 8.Resolves Linux symbols 9.Jumps to Linux main() Heap Address Space Map (artist's rendering, not drawn to scale, etc.) Exact File Name 1/25/07 Page 12
    • Linux System Call Flow Global Zone Linux Zone LX emulation library Solaris Process Linux Process lx_open(args) { { { fd = open((lx_to_solaris(args)) ... ... if (fd < 0) return (solaris_to_lx(errno)) open() open() else ... return (fd); ... } } } Userland Kernel LX brand module Solaris Kernel struct lx_brand_ops { Syscall handler lx_syscall() lx_syscall { lx_proc_exit() return to userland if (p->p_brand) lx_pid_assign() } p->p_brand->br_syscall(); lx_pid_release() else lx_setregs() rval = do_syscall(); ... open() { return to userspace } ... return(fd); } Exact File Name 1/25/07 Page 13
    • Fault Management Architecture (FMA) • Problem Software not tolerent of hardware faults > Many disjoint messages. > Messages describe symptoms, not the original problem. > System goes offline and needs human intervention. > • Solution Unified system for fault management. > Consistent delivery of error reports. > Automated diagnosis of faults from disjoint messages. > Automated repair of non-fatal faults. > Exact File Name 1/25/07 Page 14
    • Fault Management Architecture Exact File Name 1/25/07 Page 15
    • FMA contd... Exact File Name 1/25/07 Page 16
    • Service Management Facility (SMF) • Problem > Adhoc mechanisms for managing services > rc scripts, admin scripts, /etc files etc > Linear execution slows the boot process. > No dependency information ofr these services. • Solution > Single repository for configuration information. > Unified administrative interface. > Dependency tracking for fault management and restart. Exact File Name 1/25/07 Page 17
    • Service Management Facility • Service: a long-lived software object with well-defined state, failure boundary, dependencies, methods • A service is often critical to operation of system or fulfillment of business objectives. • SMF makes Solaris services self healing. • Single repository and parallel startup. Exact File Name 1/25/07 Page 18
    • Dynamic Tracing Framework (DTrace) • Problem > Sophisticated tools to examine static kernel state > mdb, kmdb etc > Robust tools to examine individual processes. > truss, proc tools, mdb etc > But...no tools to examine transient or systemic behavior. • Solution > Dynamic Tracing Framework. (Dtrace) > Gather arbitrary data across kernel and userland. Exact File Name 1/25/07 Page 19
    • Dynamic Tracing with DTrace The Performance Bottleneck Buster • Breakthrough approach for tuning > Power tool for real-time analysis, diagnosis • Safe and comprehensive > Non invasive, little overhead, easy to use > One view into both system and application level > Over 25,000 data monitoring points • Designed for live use on production systems > No need to force failure, then do postmortem debug > No need to re-create the problem on test systems > No need to run different, instrumented OS in production • Reduced costs > Solutions found in minutes or hours, not days or weeks > Optimized apps: cases of 3-30x speedups already seen Exact File Name 1/25/07 Page 20 Break-away approach for solving elusive problems Power tool for real-time analysis and diagnostics Safe and comprehensive Non invasive, little overhead, easy to use Dynamically instruments kernel and application levels Over 30k probes for live monitoring Designed for use on production systems Superior to all other approaches Eliminates need to induce failure to debug with postmortem tools Eliminates need to re-create the problem on test systems Eliminates need to run different, slow instrumented OS in production Reduced Costs Root causes of problems found in minutes or hours, not days or weeks Apps optimized can run 3 to 30 times faster
    • Dtrace • Dynamically Interpreted Language 'D' allows for arbitrary actions & predicates • Powerful data management primitives eliminate need for most postprocessing • Unwanted data is pruned as close to the source as possible • Mechanism to trace during boot • Mechanism to retrieve all data from a kernel crash dump Exact File Name 1/25/07 Page 21 Break-away approach for solving elusive problems Power tool for real-time analysis and diagnostics Safe and comprehensive Non invasive, little overhead, easy to use Dynamically instruments kernel and application levels Over 30k probes for live monitoring Designed for use on production systems Superior to all other approaches Eliminates need to induce failure to debug with postmortem tools Eliminates need to re-create the problem on test systems Eliminates need to run different, slow instrumented OS in production Reduced Costs Root causes of problems found in minutes or hours, not days or weeks Apps optimized can run 3 to 30 times faster
    • Zettabyte FileSystem (ZFS) • Problem > No defense against silent data corruption. > Too complicated: disk labels, partitions, volumes, provisioning, grow/shrink, manual edit /etc/vfstab etc > Lots of limits: filsystem size, volume size, file size, no. of files, files per directory, no. of snapshots etc > Not portable between x86 and SPARC. > Dog slow • Solution > ZFS adddresses all these problems and more. > Blows away 20 years of obsolete assumptions. Exact File Name 1/25/07 Page 22
    • Zettabyte File System (ZFS) The Last word in filesystems • Immense capacity > The world's first 128-bit filesystem > 256 quadrillion ZB (zettabyte = 70-bit (a billion TB)) • Simple administration > Unlimited snapshots and Undeletes I/O > Pooled Storage, Quotas and reservations • Smokin' performance Write sequentialization, Dynamic striping, multiple block sizes > constant-time snapshots > concurrent constant-time directory ops > byte-range locking for concurrent writes > sync semantics at async speed > Exact File Name 1/25/07 Page 23 UFS Raw OtherFS ZFS POSIX Layer NFS ZFS Volume Emulator (zvol) Oracle Data Management Unit (DMU) Storage Pool Allocator (SPA)
    • ZFS contd... • Provable data integrity (Detects and corrects silent data corruption) > Self-healing data > Copes with every class of error bit rot • phantom writes • I/O • misdirected reads/writes • administrative errors > Disk scrubbing > Encryption > All operations are copy-on-write > All operations are transactional > All data is checksummed > Block-level compression and encryption Exact File Name 1/25/07 Page 24
    • More Solaris features... • Network File System Version4 (NFSv4) • libumem > Scalable memory allocator (libumem(3LIB) > Slab allocator concepts > Debugging support • coreadm(1m) improvements > specify core file content (program text, mapped files , System V shared memory segments, ism, dism) > No environment (patches) replication for core analysis GRUB boot loader (x86 only) • Sun Java Desktop System Integration. • Sun Java Web console • Webmin • Exact File Name 1/25/07 Page 25 Break-away approach for solving elusive problems Power tool for real-time analysis and diagnostics Safe and comprehensive Non invasive, little overhead, easy to use Dynamically instruments kernel and application levels Over 30k probes for live monitoring Designed for use on production systems Superior to all other approaches Eliminates need to induce failure to debug with postmortem tools Eliminates need to re-create the problem on test systems Eliminates need to run different, slow instrumented OS in production Reduced Costs Root causes of problems found in minutes or hours, not days or weeks Apps optimized can run 3 to 30 times faster
    • More Solaris features... • pfiles(1) provides the filenames for the open file descriptors of a process • System V IPC tunables > dynamically tunable via resource controls (prctl(1)), no /etc/system tuning, no reboot > project.max-shm-ids, project.max-sem-ids, project.max-shm- memory • 17 new resource controls added. • Event ports Exact File Name 1/25/07 Page 26
    • Solaris features -- Debugging • pmap(1) features > thread and signal stacks > core file content • Per-thread p-tools > pstack <pid>|<core>/lwp > truss -p <pid>/lwp • watchpoints > Faster, More robust, Scalable • pstack(1) for Java > see java stack frames in the JVM, core file • kmdb > New interactive kernel debugger > Allows use of mdb dcmds and walkers Exact File Name 1/25/07 Page 27 Break-away approach for solving elusive problems Power tool for real-time analysis and diagnostics Safe and comprehensive Non invasive, little overhead, easy to use Dynamically instruments kernel and application levels Over 30k probes for live monitoring Designed for use on production systems Superior to all other approaches Eliminates need to induce failure to debug with postmortem tools Eliminates need to re-create the problem on test systems Eliminates need to run different, slow instrumented OS in production Reduced Costs Root causes of problems found in minutes or hours, not days or weeks Apps optimized can run 3 to 30 times faster
    • Solaris features on SPARC • Chip Multi-threading(CMT) support > Execute multiple threads simultaneously > S10 CMT aware (x86 & SPARC) “knows” which logical processors share a Chip (psrinfo(1M)) thread scheduling improves system performance cache utilization & maximize resource availablity > Transparent to applications Exact File Name 1/25/07 Page 28 Break-away approach for solving elusive problems Power tool for real-time analysis and diagnostics Safe and comprehensive Non invasive, little overhead, easy to use Dynamically instruments kernel and application levels Over 30k probes for live monitoring Designed for use on production systems Superior to all other approaches Eliminates need to induce failure to debug with postmortem tools Eliminates need to re-create the problem on test systems Eliminates need to run different, slow instrumented OS in production Reduced Costs Root causes of problems found in minutes or hours, not days or weeks Apps optimized can run 3 to 30 times faster
    • And now all this technology is OpenSource 14 M Lines of Source Code kernel, rctl_action, dtrace_probe Core Operating System pool_bind_kmem_enable, zone_enter, chip_t, mutex_exit, ddi_fm_capable, priv_set_t, putnext, lgrp_mem_rename, syscall_mstate, vmem_xfree tcp, dhcp, ipsec, nfs, dlpi, dns, ldap, nis, nis+, ppp, ipqos, ip Networking multicast, ip multipathing, ipv4, ipv6, rpc, udp, snmp, sctp, packet filtering libc, libumem, libsysevent, librt, libnsl, libproc, libsocket, libscf, System Libraries libw, libkstat, librpcsvc, libxnet, libcurses, libbsm, libnvpair, libsendfile, libadm Kstat, ifconfig, zoneadm, svcadm, traceroute,ppriv, prctl, mdb, Commands pfexec, lofiadm, lari, ifconfig,fmadm, dispadmin, cputrack, crle, ptree Exact File Name 1/25/07 Page 29 Break-away approach for solving elusive problems Power tool for real-time analysis and diagnostics Safe and comprehensive Non invasive, little overhead, easy to use Dynamically instruments kernel and application levels Over 30k probes for live monitoring Designed for use on production systems Superior to all other approaches Eliminates need to induce failure to debug with postmortem tools Eliminates need to re-create the problem on test systems Eliminates need to run different, slow instrumented OS in production Reduced Costs Root causes of problems found in minutes or hours, not days or weeks Apps optimized can run 3 to 30 times faster
    • Sun’s Roots in Open Source UNIX SVR4 1980 1990 2000 2006 Exact File Name 1/25/07 Page 30
    • What is OpenSolaris? • An open development effort based on Solaris > Non-Sun developers can contribute. > Collaboration between Sun and non-Sun developers • An attempt to use a community development model to develop Solaris > Future versions of Solaris will be based around OpenSolaris. > Expand the ecosystem of Solaris technology. > Better engage with the Solaris developer and user communities. Exact File Name 1/25/07 Page 31
    • The OpenSolaris Community Browse Source code FAQs Communities Discussions Download Source Code Binaries Tools Participate IRC #opensolaris Discussions Blogs Communities User Groups Buttons Exact File Name 1/25/07 Page 32
    • Why Open Source? • Customers are demanding it. • Good for Security and quality. • Open development can take Solaris to places, closed development could not. Exact File Name 1/25/07 Page 33
    • Licensing • Most of the OpenSolaris code is released under CDDL. • Common Development and Distribution License (CDDL) • OSI-approved open source license. • Based on the Mozilla Public License (MPL). • Alows royalty-free use, modification, derived works. • Source for modifications must be published but proprietary extensions possible. • Includes an explicit patent license for code released under CDDL. • More details: > http://opensolaris.org/os/licensing/opensolaris_license/ > http://opensolaris.org/os/about/faq/licensing_faq/ Exact File Name 1/25/07 Page 34
    • Whats Happening in OpenSolaris 14,000 members (in just 1 year) 40 major community projects, BrandZ, DTrace, Solaris ZFS, Zones 30 User Groups Worldwide 250 Code Contributions 33,000 Source Downloads 4 Million Solaris Express Downloads 5 Open Solaris Distros Available: Solaris SchilliX, BeliniX, NexentaOS, MartUX Community Recognition: 2006 SIIA Codie Award: 2005 World Editor’s Choice Solaris Eng: InfoWorld Innovators Award, Bryan Cantrill: Source: Sun 6/06 – For latest, see: http://www.opensolaris.org/os/community/marketing/metrics/latest/ Top 35 Young Innovators – MIT Exact File Name 1/25/07 Page 35
    • Want to get involved? • Subscribe to Sun Developer Network and OpenSolaris forums. • Host a OpenSolaris workshop on your campus. • Start a OpenSolaris User group. • Chew the bite sized bugs. • Join the community projects. • Solaris University Challenge contest. • Comeup with new ideas and projects. • Become the OpenSolaris Center of Excellence. Exact File Name 1/25/07 Page 36
    • Innovation Happens Here SchilliX, BeleniX, NexentaOS, MarTUX community distros FreeBSD DTrace port underway Xen project code available PowerPC Port underway DragonFly Linux and Mac OSX ports of ZFS underway Exact File Name 1/25/07 Page 37 Break-away approach for solving elusive problems Power tool for real-time analysis and diagnostics Safe and comprehensive Non invasive, little overhead, easy to use Dynamically instruments kernel and application levels Over 30k probes for live monitoring Designed for use on production systems Superior to all other approaches Eliminates need to induce failure to debug with postmortem tools Eliminates need to re-create the problem on test systems Eliminates need to run different, slow instrumented OS in production Reduced Costs Root causes of problems found in minutes or hours, not days or weeks Apps optimized can run 3 to 30 times faster
    • OpenSolaris Worldwide User Groups Exact File Name 1/25/07 Page 38 Break-away approach for solving elusive problems Power tool for real-time analysis and diagnostics Safe and comprehensive Non invasive, little overhead, easy to use Dynamically instruments kernel and application levels Over 30k probes for live monitoring Designed for use on production systems Superior to all other approaches Eliminates need to induce failure to debug with postmortem tools Eliminates need to re-create the problem on test systems Eliminates need to run different, slow instrumented OS in production Reduced Costs Root causes of problems found in minutes or hours, not days or weeks Apps optimized can run 3 to 30 times faster
    • References http://opensolaris.org/ • http://blogs.sun.com/ • http://docs.sun.com/ • http://cvs.opensolaris.org/source/ • http://opensolaris.org/os/communities/#all • opensolaris-discuss@opensolaris.org • Exact File Name 1/25/07 Page 39 Break-away approach for solving elusive problems Power tool for real-time analysis and diagnostics Safe and comprehensive Non invasive, little overhead, easy to use Dynamically instruments kernel and application levels Over 30k probes for live monitoring Designed for use on production systems Superior to all other approaches Eliminates need to induce failure to debug with postmortem tools Eliminates need to re-create the problem on test systems Eliminates need to run different, slow instrumented OS in production Reduced Costs Root causes of problems found in minutes or hours, not days or weeks Apps optimized can run 3 to 30 times faster
    • Thank You Thank You Sun Microsystems, Inc. Exact File Name 1/25/07 Page 40