Solaris Group F Kevin Franklin Jay Lee Greg Nesslerodt Travis Thomas Chris Woodley Overview • • • • • • Environment State of the Art Commercial Success Technical success Pro’s Con’s Environment • UNIX • SPARC (32- and 64-bit) • Intel Architecture (32-bit) State of the Art • Advanced the state of the art by: – Manageability – Commercial Presence – Also Java-based applications Commercial Success • Called “the #1 UNIX operating environment” • Good reviews – InfoWorld – D.H. Brown Commercial Success (cont’d) • Satisfied customers: • • • • • • • • • • • • • • ATG BEA Systems, Inc. Cadence Design Systems, Inc. Computer Associates International, Inc. Data Connection Ltd. Gemstone Systems, Inc. Hewlett-Packard, Inc. Industri-Matematik Informix J.Crew Lexmark International Lotus Development Corporation Magma Design Automation Mentor Graphics Corp. • • • • • • • • • • • • • Metrowerks Novell Oracle Platform Computing RealNetworks, Inc. Resonate RSi Solutions Ltd. SAS Institute SBE.com Sybase ThinAirApps TimesTen VERITAS Commercial Success (cont’d) • The UNIX versus NT Organization lists 103 prominent companies web servers and their OSes • Many use Solaris including: AOL, Apple, AT&T, Bank of America, CBS, CNN, The Coca-cola company, FBI, Geico, Lockheed-Martin, McDonalds, MCI, MIT, Netscape, NSA, Oracle, Sony, Sprint, TimeWarner,Verisign Commercial Success – InfoWorld Review Sun Microsystems Solaris • Current release: Solaris 8 • Platform: Sun Sparc and Intel PC workstations and servers • Standard: Unix 98 • Application score: 10 out of 10 • “…Sun's ownership of Java and its involvement in iPlanet, make Sun the safest choice in enterprise Unix systems.” Commercial Success – InfoWorld Review (cont’d) Name Platform Standard SGI Irix 6.5 SGI MIPS servers and Unix 95 workstations 2 out of 10 Hewlett-Packard HPUX 11i HP 9000 servers Unix 95 9 out of 10 IBM AIX 5L IBM RS/6000 and Unix 98 selected other systems running IBM Power and PowerPC series processors; Intel IA64 edition planned 9 out of 10 SCO UnixWare 7.1 Intel PC workstations and servers 0 out of 10 Unix 95 Score Commercial Success – D.H. Brown • D.H. Brown Associates, 2001 UNIX Function Review – Rated Solaris the best overall against UnixWare 7.1.1, AIX 4.3.3, Tru64 UNIX 5.1, and HP-UX 11i – Rated Solaris first in RAS (Reliability, Availability/Scalability, and Serviceability) and Directory and Security Services – Gives Solaris a strong standing in Internet and WebApplication Services Technical success – Availability • allows installation of updates while applications continue to run • when installation is complete, a simple reboot enables the new version to take control – This reduces the amount of downtime • Backward compatible Technical success – Scalability • Designed for multiprocessing and 64-bit computing • the Solaris platform supports: – One million simultaneous processes on a single system – Up to 128 CPUs on a single system – More than four billion network connections – 32- and 64-bit applications – Two-, four-, and eight-node clusters – IPv4 and IPv6 network addresses – Up to 512 CPUs in a clustered environment Technical success – Manageability • • • • • • Solaris Web Start Wizards[tm] Solaris JumpStart[tm] Solaris Management Console Sun Cluster 3.0 Sun Management Center Solaris Volume Manager (formerly known as Solstice DiskSuite[tm] software) Technical success – Security • IPSec for creating virtual private networks (VPNs) • Smart card authentication compatible with the open card framework (OCF) 1.1 specification • “Role-based access control for distributing superuser authorizations” • Trusted Solaris – extension of Solaris – more security measures Technical success – Security: Trusted Solaris • Mandatory Access Controls (MAC) – allows information to be processed at multiple sensitivity levels • Labels: Sensitivity and Clearances – Sensitivity labels are assigned to system objects accessed by users – Clearances set an upper and lower sensitivity boundary where a user can work. • Discretionary Access Controls (DAC) – used to restrict access to information based on a user's identity or group membership. Advantages • the Sparc and Intel versions are the same OS • Solaris has the broadest application support of any commercial Unix-based OS. • Java compatibility • Availability • Manageability • Security • Presence in commercial environment – Free Binary License • Backwards compatibility Disadvantages • Sparc processors don't scale as efficiently as rivals’ • large-scale Sun systems are notoriously expensive • Solaris ships with an anemic standard software bundle with costly options • Some advantages lost when majority of network is not Sun-based – E.g., Sun Management Center 7 FILE TYPES • • • • • • • ‘-’ Ordinary File ‘d’ Directory File ‘b’ Block Device File ‘c’ Character Device File ‘l’ Symbolic Link File ‘s’ Socket ‘p’ Pipe File SOLARIS FILE SYSTEM • • • • Boot Block Super Boot Block Data Block I-node List Thread Creation and Control • • • • Threads created from process Begin from main-like sub-routine ID from creator Shared verse local data Thread Relationships Thread Execution • States of user-level threads: – Sleeping – Stopped – Runnable – Active Thread Execution • Events causing thread to exit active state: – – – – Suspension Preemption Yielding Synchronization Synchronization • Uses four primitives to accomplish synchronization – – – – Mutual exclusion locks Semaphores Multiple readers, single writer locks Condition variables Mutual Exclusion Locks • mutex_enter() – obtains lock • mutex_exit() – releases lock • mutex_tryenter() – busy wait for blocked Semaphores • sema_p() - decrements • sema_v() - increments • sema_tryp() –decrements with out blocking Readers/writer Lock • • • • • rw_enter() – obtains lock rw_exit() – releases lock rw_tryenter() – obtains lock using busy-wait rw_downgrade() – converts writer to reader rw_upgrade() – converts reader to writer Condition Variables • cv_wait() – blocks • cv_signal() – removes block • cv_broadcast() – removes all blocks Processes: Memory • Has own virtual memory space • Require address translation map and memory management unit to access real memory – MMU must update translation maps when context switch occurs • Must contain a u area and kernel stack Process Context • Contains information about the process – Hardware context: • program counter, process status word, memory management registers, floating point unit registers – User Address Space • Program text and data, user stack – Control Information • U area, proc structures, kernel stack, address translation maps Process Context Continued • Credentials – User and group Ids (real and effective) • Environmental variables • The u area must contain: – Process control block, pointer to the proc structure, info about system calls, signal handlers, memory management info, table of open files, pointers to current directory, CPU usage statistics, Threads • Relatively independent set of instructions • Control point within process • Advantages: – Context switches are cheaper – Application is able to continue to run if resources aren’t available to all threads Kernel Threads • Entity scheduled by the kernel • Uses kernel text and data, but unique kernel stack Lightweight Processes • Swappable portion of a thread • Performs the processing for the application • 12 states: – Preempt, wakeup, stop, blocking, system, call, dispatch, runnable, running, active, stopped, continue User Threads • Created by lightweight processes • Used to control time and locking issues • Handles segmentation violations Zombie Processes • A process that has been killed by a parent but has not been removed from the system • Not accessible by scheduler • Can be restored but only by programmer, not system. Sources • http://www.sun.com/software/solaris/ • http://www.sun.com/trustedsolaris/ • “Six flavors run the gamut: The good, the bad, and the ugly”, By Tom Yager, InfoWorld Test Center , 1/12/01; http://www.infoworld.com/articles/tc/xml/01/01/15/010115 tcunix.xml • “Microsoft Admits NT Trails Solaris” (07/28/98, 12:40 p.m. ET) By Barbara Darrow and Stuart Glascock http://www.techweb.com/wire/story/TWB19980728S0004 • http://www.unix-vs-nt.org/webservers.html Sources • Sun tops charts with security system By Maggie Biggs, For InfoWorld Test Center, 4/5/01; http://www.infoworld.com/articles/tc/xml/01/04/0 9/010409tctsolaris.xml • Fighting the threat within, Maggie Biggs, Federal Computer Week, 3/26/01; http://www.fcw.com/fcw/articles/2001/0326/tecsolaris-03-26-01.asp