You are on page 1of 3

J.E.D.I.

1 Introduction to Solaris
1.1

Introduction to the Solaris OS

The Solaris operating system was developed by Sun Microsystems in 1992. The SunOS
version 4, based on BSD, was succeeded by a new version called Solaris 2, which was based
on UNIX System V. Internally, the new version was still called SunOS version 5.0 but it was
marketed as Solaris 2, and the previous SunOS v.4.1 was renamed as Solaris 1.The first
Solaris 10 version (SunOS 5.10) was released in January 2005 . There were occasional
updates, with the latest stable release being Solaris 10 8/07 (as of October 2007).
The development of the Solaris OS focused on the following key areas 1

Reliability development in fault and error detection, isolation and recovery, and
service management combined with a strictly enforced rigorous set of standards for
integrating new code into Solaris OS.

Performance and scalability Unsurpassed ability to run a wide variety of workloads on


systems ranging from uniprocessor desktops and rack systems to high-end
multiprocessor systems.

Manageability Tools and applications to handle the day-to-day administration and


management of Solaris systems.

Observability Kernel features combined with user software to monitor and analyze the
behavior and performance of applications and the Solaris kernel.

Resource Management Management of available hardware resources to effectively


meet performance requirements, enabling a variety of workloads to run within a Solaris
system.

1.2

Introduction to Solaris 10

This chapter discusses the features of the latest release of the Solaris operating system 2.

Predictive self-healing Solaris 10 combines the Solaris Fault Manager and the Solaris
Service Manager , which is able to act when a hardware or software fault occurs. There
are facilities for event detection and isolation. Once a fault has been detected, a
dynamic deactivation of the affected components can be done.

Service Management Framework The SMF provides an organized set of commands


that help in the starting, stopping and restarting of system services.

Solaris Zones Allows for the creation and management of virtual computers coexisting within a single instance of the Solaris kernel. Each zone has its own
environment, processes and users that are independent of each other. A zone can also
be made to run a specific application, providing a virtual environment specifically
customized for that application.

Dynamic Resource Pools Allows users to assign particular processor or processor time
shares to a particular user. For example, a user can define a resource pool that is
allocated 70 percent of the CPU time of two processors, which can be assigned to a
particular process.

1 Richard McDougall and Jim Mauro. Solaris Internals. Sun Microsystems 2007
2 ibid.
Operating Systems

J.E.D.I.

Physical Memory Control users can limit how much physical memory a process can
use.

Dynamic Tracing Facility Allows for users to probe the behavior of applications and the
kernel as they run without having to modify any code.

Process Rights Management allows an administrator to assign specific rights to


specific users, not just the all-or-nothing rights of the administrator against a regular
user.

Network performance significant improvement on TCP/IP networking has been


implemented in Solaris 10, with emphasis on increasing throughput and efficiency.

x64 architecture support increased support for the new Intel 64-bit processors,
allowing Solaris 10 to support both 32-bit and 64-bit Intel processors.

1.3

Overview of the Solaris Kernel architecture

The Solaris Kernel is divided into modules that provide the following functionalities:

System call interface provides an interface for user level programs to access kernel
functions.

Process execution and scheduling handles process management. Processes are


executing programs, which are given processor time following a particular scheduling
algorithm. This module also handles process creation and cleanup when a process ends
execution.

Memory management the memory system not only handles physical memory
allocation to processes, but also handles virtual memory stored in the hard disk as well
as allocation of memory to kernel processes.

Hardware address translation layer This layer provides a mapping of the memory
address space to different devices, not just physical memory. For instance, a memory
address could, instead of pointing to physical memory, point to virtual memory which is
stored in the hard disk. Also, devices could be mapped to memory addresses.
Retrieving a value from the said address is actually a request for input from that device.
The hardware translation layer abstracts the memory management layer from this
complexity.

Operating Systems

J.E.D.I.

Resource management Resource management handles the allocation of system


resources such as memory, I/O, and CPU time. This module tries to maximize the
utilization of system resources. Used with zones, this module can provide an isolated
resource environment specific only to that zone.

File system management handles I/O to files. Solaris 10 can use a variety of different
file systems at the same time.

I/O bus and nexus drivers direct access to devices is handled by this module. For
each device attached to the system, Solaris loads a device driver which takes care of
the nuances of each device. The result is a seamless view of I/O for the rest of the
kernel.

Kernel services (clocks, timers, etc) this module provides the regularly used kernel
functionalities such as clock interrupts and synchronization libraries.

Networking handles communication with other computers.

Sources:
McDougall and Mauro. Solaris Internals. Sun Microsystems. 2007.

Operating Systems

You might also like