SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
OpenSolaris 2008.05



    OpenSolaris Indiana 2008.05 en una máquina virtual creada 
     con VirtualBox 1.6 bajo el Sistema Operativo Kubuntu 8.04 
                               Amd64 




                                 
OpenSolaris: Procesos

    ➢   Los ficheros mantienen información sobre los distintos procesos 
        que  se  están  ejecutando  en  la  máquina,  OpenSolaris  utiliza  un 
        pseudo sistema de ficheros llamado Procfs, en el cual, el kernel 
        mantiene información sobre los procesos que está corriendo.


    ➢   El  sistema  de  archivos  procfs  está  organizado  en  directorios, 
        uno  por  cada  proceso  en  que  se  ejecuta  en  la  máquina,  los 
        directorios se llaman con el PID del proceso del cual mantienen 
        la información. Ejemplo:
                                          
OpenSolaris: Procesos
    (root@Carlos)# cd /proc
    (root@Carlos)# ls
    0         14470  18279  19575  22216  2496   28190  3782   4622   605
    1          1464   18340  19604  22610  25190  28252  398    4636   606
    10192   1465   18709  19634  22645  25229  285    421      472    6347
    10622   14896  18779  2        23054  25479  28610  4210   476    664
    ...
    (root@Carlos)#

    ➢   Cada uno de estos ficheros que representa a un proceso contiene una serie 
        de ficheros y directorios, de los cuales podemos obtener información sobre el 
        proceso y todos sus LWP.
                                             
OpenSolaris: Procesos
    Ejemplo:

    (root@carlos)# cd 29039
    (root@carlos)# ls ­l
    total 5933
    ­rw­­­­­­­   1 noxos   noxos   2998272 May 16 12:13 as
    ­r­­­­­­­­   1 noxos   noxos       152 May 16 12:13 auxv
    ­r­­­­­­­­   1 noxos   noxos        36 May 16 12:13 cred
    ­­w­­­­­­­   1 noxos   noxos         0 May 16 12:13 ctl
    lr­x­­­­­­   1 noxos   noxos         0 May 16 12:13 cwd ­>
    dr­x­­­­­­   2 noxos   noxos      8208 May 16 12:13 fd
    ...
    (root@carlos)#
                                                
OpenSolaris: Procesos
  Ficheros:
   ➢ /proc/< pid >/as


   ➢ /proc/< pid >/auxv

   ➢ /proc/< pid >/cred

   ➢ /proc/< pid >/ctl

   ➢ /proc/< pid >/cwd

   ➢ /proc/< pid >/fd/

   ➢ /proc/< pid >/psinfo

   ➢ /proc/< pid >/map

   ➢ /proc/< pid >/object/

   ➢ /proc/< pid >/pagedata

   ➢ /proc/< pid >/sigact

   ➢ /proc/< pid >/status
                               
OpenSolaris: Fallos

   MDB  (Modular  Debugger)  es  una  herramienta  que  nos  puede  ayudar  a 
    conocer las causas que provocaron un fallo, MDB trabaja con los ficheros 
    core, que son una imagen de memoria del proceso que ha sufrido el fallo, 
    esto nos permitía averiguar cuales fueron la causa de dicho fallo.


   MDB no solo puede trabajar con los volcados de memoria de los procesos, 
    sino  que  también  lo  puede  hacer  con  las  imágenes  de  memoria  del  kernel 
    mientras este está ejecutándose, esto nos  permite poder  acceder a toda la 
    información, si sabemos como leerla, con la que trabaja el kernel, lista de 
    procesos, páginas de memoria, ficheros abiertos, listas de espera, conexiones 
    de red, bloqueos, etc.
                                            
OpenSolaris: Fallos


   Para  que  MDB  acceda  a  la  imagen  del  memoria  del  Kernel 
    debemos  saber  como  fichero  objeto  debemos  utilizar 
    /dev/ksyms  el  cual  contiene  la  tabla  de  símbolos  y  como 
    fichero  core  utilizaremos  /dev/kmem,  por  lo  tanto  podemos 
    ejecutar la siguiente línea.
(root@carlos)# mdb /dev/ksyms /dev/kmem
Loading modules: [ unix krtld genunix ip usba ipc random nfs 
  ptm ]
                                   
>
OpenSolaris: Fallos

   Lo que debemos conocer de MDB para comenzar a trabajar con él es que se 
    basa en los siguientes tres elementos:


­dmods  son  los  módulos  que  se  cargan  en  el  debugger,  dependiendo  de  los 
  módulos que se hayan cargado podremos realizar más o menos acciones.
­dcmds son los comandos que podemos utilizar en el debugger.
­walkers  son sencillos programas que nos permiten iterar sobre una serie de 
  datos.

                                          
OpenSolaris: Paginación

   Todos    los  procesos,  disponen  de  su  propio  espacio  de  direcciones  de 
    memoria,  los  espacios  de  direcciones  están  formados  por  segmentos  de 
    memoria,  un  espacio  de  direcciones  tiene  al  menos  4  segmentos  de 
    memoria,  el  de  datos,  el  de  texto,  el  de  heap  y  el  de  stack.  Cada 
    segmento de memoria está formado por un número determinado de páginas 
    de memoria.


   Las páginas tienen un tamaño fijo, son de 8K, con el comando pagesize
    podemos ver qué tamaños de página podemos utilizar en nuestro sistema y 
    cual  es  el  tamaño  por  defecto    (8k).  Utilizando  el  !  podemos  ejecutar 
    comandos del sistema operativo dentro de mdb.
                                            
OpenSolaris: Paginación
Ejemplo:
(root@carlos)# mdb ­k
Loading modules: [ unix krtld genunix ip usba ipc random nfs ptm 
> ! pagesize ­a
8192
65536
>
   El tamaño de página por defecto es 8K, aunque podemos disponer de 
    páginas de 8K,64K, 512K y 4MB, el tamaño de página se define en el 
 
    momento del arranque, por lo que no se puede cambiar en caliente, 
                                        
OpenSolaris: Segmentación
   Al menos existen 4 segmentos: Texto, Datos, Heap, Pila.
   MDB nos ayuda para conocer los distintos segmentos que están asignados 
    al espacio de direcciones de un proceso. Para nuestro ejemplo crearemos un 
    nuevo proceso lanzando el comando sleep 50000 en background.[1] 1788
(root@carlos)#
(root@carlos)# mdb ­k
Loading modules: [ unix krtld genunix ip usba ipc random nfs ptm ]
> 0t1788::pid2proc |::print proc_t p_as |::walk seg |::seg
             SEG         BASE             SIZE             DATA OPS
     3007d839f80        10000             2000      3000863d598 segvn_ops
     300881d6d38        20000             2000      3578600afe8 segvn_ops
     3015579b128        22000             2000      3007d8469c0 segvn_ops
                                         
OpenSolaris: Segmentación
     ...
      35785fea3a8     ff3a0000             2000      3578601aa38 segvn_ops
      3007d8661b0     ff3b0000            2e000      3578dae20e8 segvn_ops
      3007d842120     ff3ee000             2000      301b3697bb8 segvn_ops
      30008602678     ff3f0000             2000      3578da37e90 segvn_ops
      3578da9d5a8     ffbfe000             2000      3000369f590 segvn_ops
 >
    En el sistema existen varios tipos de segmentos de memoria, dependiendo 
     de  la  funcionalidad  para  la  que  se  crearon,  así  podemos  encontrar 
     segmentos  de  tipo  seg_map,  seg_kmem,  seg_dev  o  seg_vn,  entre 
     otros. Todos los segmentos son de tipo struct  seg  y lo que los diferencia 
     entre  ellos,  es  el  tipo  de  operaciones  y  el  tipo  de  dato  al  que  apunta  el 
     puntero  del  campo  s_data,  por  esta  razón,  este  campo  es  un  puntero 
 
     void.                                      
OpenSolaris: Semáforos


       En OpenSolaris existe un elemento llamado Sets  de semáforos, el cual es 
        en  realidad  un  grupo  de  semáforos,  no  existen  los  semáforos 
        independientes, es decir, cuando nuestra aplicación necesita un semáforo le 
        solicita  al  Kernel  un  Set  de  semáforos,  el  cual  tendrá  un  número 
        determinado de ellos mediante la llamada a sistema semget(), que acepta 
        como parámetros una key  que define al set de semáforos, el número de los 
        semáforos del set y los permisos que tendrá el set de semáforos 



                                            
OpenSolaris: Semáforos

       En  esta  versión  los  límites  de  los  semáforos  los  podemos  aplicar  a 
        proyectos  o procesos. Para ver como están configurados los límites de 
        los  semáforos  mediante  el  control  de  recursos  debemos  utilizar  el 
        comando rctladm.


    (root@carlos_10)# rctladm ­l | grep sem
    process.max­sem­ops         syslog=off     [ deny count ]
    process.max­sem­nsems       syslog=off     [ deny count ]
    project.max­sem­ids         syslog=off     [ no­basic deny count ]
    (root@carlos_10)#                        
OpenSolaris: Caché

       Dependiendo  del  tipo  de  procesador  con  el  que  se  esta  trabajando,  el 
        tamaño  y  número  de  niveles  varía,  así  en  el  procesador  como  el 
        UltraSparc V+ existen 3 niveles en la jerarquía de cache.
                Nivel  L1:  Es  la  memoria  más  rápida  con  la  que  trabaja  el 
                 procesador,  aunque  presenta  el  inconveniente  de  su  reducido 
                 tamaño.
                Nivel L2: Es más lenta que la cache L1 aunque presenta la ventaja 
                 que es mayor tamaño.
                Nivel L3: Es la cache más lenta y está situada fuera del chip, el 
                 tamaño  de  esta  cache  en  el  procesador  UltraSPARC  V+  es  de 
 
                 32MB.                         
OpenSolaris: Intercambio

       El  sistema  de  memoria  virtual  (VM)  de  Solaris  utiliza  una  nueva  capa, 
        denominada swapfs, que consiste en un sistema de archivos que gestiona 
        el  área  de  swap,  de  tal  forma  que  en  el  área  de  swap  únicamente  se 
        ocupará espacio cuando el sistema lo necesite y no cada vez que un proceso 
        realice una petición de memoria.
       Cuando  un  proceso  solicita  una  cantidad  de  memoria,  supongamos  que 
        mediante la llamada malloc()  realiza una petición de 16K, esto significa 
        que el sistema reservará 2 páginas de memoria (suponiendo que el tamaño 
        de la página sea de 8K), estas nuevas páginas deben tener asignadas a un 
        vnode,  como  el  resto  de  páginas  de  memoria,  estas  nuevas  páginas  son 
        páginas anónimas por lo que el vnode debe ser el área de swap. 
                                              
OpenSolaris: Intercambio
       El Kernel utiliza la capa de swapfs  para gestionar la asignación de los 
        vnodes  a  las  nuevas  páginas  anónimas  que  se  creen,  mientras  una 
        página que ha sido solicitada no sea necesario llevarla al área de swap, no 
        tendrá asignado ningún espacio en dicho área.
       Algo que debemos tener claro para entender cómo funciona swapfs  es lo 
        siguiente,  swapfs  trabaja  con  un  espacio  virtual  de  swap  el  cual 
        está compuesto por el espacio físico de swap, es decir, todos los discos 
        o ficheros que se hayan asignado al espacio de swap, mas toda la memoria 
        física  del  sistema  que  pueda  ser  paginable.  Es  decir  swapfs  además  de 
        utilizar  los  ficheros  o  discos  que  hayamos  asignado  al  área  de  swap, 
        también utilizará toda la memoria disponible en el sistema.
 
       Espacio virtual de swap = Espácio de swap + Memoria física
                                                 
OpenSolaris: Deadlocks

       OpenSolaris proporciona varias herramientas que permiten garantizar que 
        un dato solo es accedido por un thread o por varios pero teniendo solo uno 
        de ellos acceso como escritura.
       El  bloqueo  mas  comúnmente  usado  es  el  de  exclusión  mutua  (mutex), 
        dando acceso de lectura y escritura a un único thread.
       Cuando vayamos a acceder para leer o modificar un dato, por ejemplo la 
        lista  de  una  cola  de  ejecución,  podemos  encontrar  que  su  bloqueo  se 
        encuentre  libre  o  ocupado:  Si  el  bloqueo  se  encuentra  libre,  nos 
        adueñaremos de el, realizaremos las acciones oportunas, y lo liberaremos de 
        nuevo.
 
       Si el bloqueo está ya ocupado se usa: Spin Mutex o Mutex Adaptive
                                                
OpenSolaris: Hilos

       OpenSolaris es un sistema multithread  donde cada uno de los hilos de un 
        proceso puede tener una prioridad distinta, además esta es dinámica, es 
        decir durante su vida puede variar en función de varios parámetros, como 
        pueda ser la carga el sistema, como interactúe con otros hilos.
       Cuando un threads es creado en Solaris se asigna a una scheduling class, 
        para que nos entendemos esta define el rango de prioridades en el que 
        fluctuará durante su vida. Existen 6 rangos distintos:

       Timeshare  (TS): Es la scheduling class por defecto, la prioridad del hilo 
        aumenta a medida que va esperando un cpu libre, una vez consiga cpu se 
        ejecutará hasta que se agote su quantum.
                                            
OpenSolaris: Hilos

       Interactive  (IA):  Parecida  a  la  anterior,  para  entornos  de  escritorio,  los 
        threads  correspondientes  a  los  procesos  X  window  reciben  un  incremento  de 
        prioridad.
       Fair  Share  (FSS):  El tiempo de cpu se divide en unidades llamadas shares, 
        cada thread puede consumir x shares dependiendo del número de threads que hay 
        en esa scheduling class, de su consumo reciente y de su prioridad.
       Fixed  Priority  (FX):  El  thread  tiene  las  misma  prioridad  durante  todo  su 
        ciclo de vida.
       Real  Time  (RT):  Es el rango de prioridades altas, garantiza el mínimo tiempo 
        de  lantencia  entre  que  el  thread  pasa  a  estado  running  hasta  que  se  le  asigna 
        CPU.
       System  (SYS):  Es  la  clase  usada  para  los  threads  del kernel,  tiene prioridad 
        superior a las demás excepto la Real Time. 
 Créditos


     Grupo de Trabajo:

     Alvarado Pablo
     Coronel Brayann
      Peralta Diego
      Román Carlos


               

Más contenido relacionado

La actualidad más candente

Instalación Oracle 11gR2 en Linux Centos 5.5
Instalación Oracle 11gR2 en Linux Centos 5.5Instalación Oracle 11gR2 en Linux Centos 5.5
Instalación Oracle 11gR2 en Linux Centos 5.5Cosmosnet
 
Mongodb administración
Mongodb administraciónMongodb administración
Mongodb administraciónJuan Ladetto
 
Conexión remota a base de datos con Oracle y MySQL
Conexión remota a base de datos con Oracle y MySQLConexión remota a base de datos con Oracle y MySQL
Conexión remota a base de datos con Oracle y MySQLIvan Luis Jimenez
 
Hoja de ruta instalando Drupal 6
Hoja de ruta instalando Drupal 6Hoja de ruta instalando Drupal 6
Hoja de ruta instalando Drupal 6ubuntuz
 
MÁS DE 400 COMANDOS PARA GNU/LINUX QUE DEBERÍAS CONOCER
MÁS DE 400 COMANDOS PARA GNU/LINUX QUE DEBERÍAS CONOCERMÁS DE 400 COMANDOS PARA GNU/LINUX QUE DEBERÍAS CONOCER
MÁS DE 400 COMANDOS PARA GNU/LINUX QUE DEBERÍAS CONOCERnelson rodriguez huallpa
 
Samba como PDC y autentificación LDAP
Samba como PDC y autentificación LDAPSamba como PDC y autentificación LDAP
Samba como PDC y autentificación LDAPiesgrancapitan.org
 
Fragmentación vertical - MySQL
Fragmentación vertical - MySQLFragmentación vertical - MySQL
Fragmentación vertical - MySQLAngel Vazquez
 
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTERREPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTEREduardo Schenker
 
Manejo de información raster_en_post_gis-2.0-
Manejo de información raster_en_post_gis-2.0-Manejo de información raster_en_post_gis-2.0-
Manejo de información raster_en_post_gis-2.0-Kudos S.A.S
 
Administración de Usuarios, Grupos y Permisos
Administración de Usuarios, Grupos y PermisosAdministración de Usuarios, Grupos y Permisos
Administración de Usuarios, Grupos y PermisosKramer Garay Gómez
 
Manual del cluster mysql
Manual del cluster mysqlManual del cluster mysql
Manual del cluster mysqlquiqueohio
 
Installacion De Una Base De Datos Mysql En Linux
Installacion De Una Base De Datos Mysql En LinuxInstallacion De Una Base De Datos Mysql En Linux
Installacion De Una Base De Datos Mysql En Linuxandres
 

La actualidad más candente (20)

Instalación Oracle 11gR2 en Linux Centos 5.5
Instalación Oracle 11gR2 en Linux Centos 5.5Instalación Oracle 11gR2 en Linux Centos 5.5
Instalación Oracle 11gR2 en Linux Centos 5.5
 
Mongodb administración
Mongodb administraciónMongodb administración
Mongodb administración
 
Conexión remota a base de datos con Oracle y MySQL
Conexión remota a base de datos con Oracle y MySQLConexión remota a base de datos con Oracle y MySQL
Conexión remota a base de datos con Oracle y MySQL
 
Hoja de ruta instalando Drupal 6
Hoja de ruta instalando Drupal 6Hoja de ruta instalando Drupal 6
Hoja de ruta instalando Drupal 6
 
MÁS DE 400 COMANDOS PARA GNU/LINUX QUE DEBERÍAS CONOCER
MÁS DE 400 COMANDOS PARA GNU/LINUX QUE DEBERÍAS CONOCERMÁS DE 400 COMANDOS PARA GNU/LINUX QUE DEBERÍAS CONOCER
MÁS DE 400 COMANDOS PARA GNU/LINUX QUE DEBERÍAS CONOCER
 
Samba como PDC y autentificación LDAP
Samba como PDC y autentificación LDAPSamba como PDC y autentificación LDAP
Samba como PDC y autentificación LDAP
 
Fragmentación vertical - MySQL
Fragmentación vertical - MySQLFragmentación vertical - MySQL
Fragmentación vertical - MySQL
 
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTERREPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
 
Workshop Técnicas Replicacion I
Workshop Técnicas Replicacion IWorkshop Técnicas Replicacion I
Workshop Técnicas Replicacion I
 
Linux
LinuxLinux
Linux
 
Mysql
MysqlMysql
Mysql
 
Instalar Oracle 11g R2 CentOS 6.4
Instalar Oracle 11g R2 CentOS 6.4Instalar Oracle 11g R2 CentOS 6.4
Instalar Oracle 11g R2 CentOS 6.4
 
Manejo de información raster_en_post_gis-2.0-
Manejo de información raster_en_post_gis-2.0-Manejo de información raster_en_post_gis-2.0-
Manejo de información raster_en_post_gis-2.0-
 
Free nas 8
Free nas 8Free nas 8
Free nas 8
 
Requerimientos de PostgreSQL
Requerimientos de PostgreSQLRequerimientos de PostgreSQL
Requerimientos de PostgreSQL
 
Administración de Usuarios, Grupos y Permisos
Administración de Usuarios, Grupos y PermisosAdministración de Usuarios, Grupos y Permisos
Administración de Usuarios, Grupos y Permisos
 
Cafe con Bacula
Cafe con BaculaCafe con Bacula
Cafe con Bacula
 
Manual del cluster mysql
Manual del cluster mysqlManual del cluster mysql
Manual del cluster mysql
 
Reporte cluster
Reporte clusterReporte cluster
Reporte cluster
 
Installacion De Una Base De Datos Mysql En Linux
Installacion De Una Base De Datos Mysql En LinuxInstallacion De Una Base De Datos Mysql En Linux
Installacion De Una Base De Datos Mysql En Linux
 

Destacado

medios de c
medios de cmedios de c
medios de cjrodolfo
 
Pianobar (Sil)
Pianobar (Sil)Pianobar (Sil)
Pianobar (Sil)lgci
 
Multimedia Final
Multimedia FinalMultimedia Final
Multimedia Finalboirablava
 
Actividadesdemano
ActividadesdemanoActividadesdemano
Actividadesdemanoguest6b3076
 
Medios De ComunicacióN 2
Medios De ComunicacióN 2Medios De ComunicacióN 2
Medios De ComunicacióN 2jrodolfo
 
Descripción Personajes
Descripción PersonajesDescripción Personajes
Descripción Personajesguestb1c8c9
 
Los40 Top Gasolineras
Los40 Top GasolinerasLos40 Top Gasolineras
Los40 Top Gasolinerasgrouchadas
 
No Te Automediques
No Te AutomediquesNo Te Automediques
No Te Automediquesyol4070
 
VINCE CARTER
VINCE CARTERVINCE CARTER
VINCE CARTERmakaveli
 
Les entreprises familiales sont sous-endettées - communiqué de presse et l'ét...
Les entreprises familiales sont sous-endettées - communiqué de presse et l'ét...Les entreprises familiales sont sous-endettées - communiqué de presse et l'ét...
Les entreprises familiales sont sous-endettées - communiqué de presse et l'ét...Philippe Foulquier
 
Compte rendu photos bauge, chaux et paille - Barnstaple le 27 Juin 2014
Compte rendu photos bauge, chaux et paille - Barnstaple le 27 Juin 2014Compte rendu photos bauge, chaux et paille - Barnstaple le 27 Juin 2014
Compte rendu photos bauge, chaux et paille - Barnstaple le 27 Juin 2014libnam
 
Perspectives économiques Egypte2008
Perspectives économiques Egypte2008Perspectives économiques Egypte2008
Perspectives économiques Egypte2008PARIS
 
Resumen Exposicion MotivacióN
Resumen Exposicion MotivacióNResumen Exposicion MotivacióN
Resumen Exposicion MotivacióNKathy
 
B2 T5 Vectores Ii
B2 T5 Vectores IiB2 T5 Vectores Ii
B2 T5 Vectores Iimartha leon
 

Destacado (20)

medios de c
medios de cmedios de c
medios de c
 
Pianobar (Sil)
Pianobar (Sil)Pianobar (Sil)
Pianobar (Sil)
 
Open Innovation
Open InnovationOpen Innovation
Open Innovation
 
Beijing Schutz
Beijing SchutzBeijing Schutz
Beijing Schutz
 
Multimedia Final
Multimedia FinalMultimedia Final
Multimedia Final
 
Guia Trueque
Guia Trueque Guia Trueque
Guia Trueque
 
Actividadesdemano
ActividadesdemanoActividadesdemano
Actividadesdemano
 
Medios De ComunicacióN 2
Medios De ComunicacióN 2Medios De ComunicacióN 2
Medios De ComunicacióN 2
 
Descripción Personajes
Descripción PersonajesDescripción Personajes
Descripción Personajes
 
Los40 Top Gasolineras
Los40 Top GasolinerasLos40 Top Gasolineras
Los40 Top Gasolineras
 
No Te Automediques
No Te AutomediquesNo Te Automediques
No Te Automediques
 
VINCE CARTER
VINCE CARTERVINCE CARTER
VINCE CARTER
 
Les entreprises familiales sont sous-endettées - communiqué de presse et l'ét...
Les entreprises familiales sont sous-endettées - communiqué de presse et l'ét...Les entreprises familiales sont sous-endettées - communiqué de presse et l'ét...
Les entreprises familiales sont sous-endettées - communiqué de presse et l'ét...
 
Compte rendu photos bauge, chaux et paille - Barnstaple le 27 Juin 2014
Compte rendu photos bauge, chaux et paille - Barnstaple le 27 Juin 2014Compte rendu photos bauge, chaux et paille - Barnstaple le 27 Juin 2014
Compte rendu photos bauge, chaux et paille - Barnstaple le 27 Juin 2014
 
Profesores
ProfesoresProfesores
Profesores
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 
La Dom J
La Dom JLa Dom J
La Dom J
 
Perspectives économiques Egypte2008
Perspectives économiques Egypte2008Perspectives économiques Egypte2008
Perspectives économiques Egypte2008
 
Resumen Exposicion MotivacióN
Resumen Exposicion MotivacióNResumen Exposicion MotivacióN
Resumen Exposicion MotivacióN
 
B2 T5 Vectores Ii
B2 T5 Vectores IiB2 T5 Vectores Ii
B2 T5 Vectores Ii
 

Similar a OpenSolaris

Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextkjuanextk
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextkjuanextk
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextkjuanextk
 
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64Santa Edith De La Cruz Gonzalez
 
Práctica 4: Registro y configuración inicio de Windows
Práctica 4: Registro y configuración inicio de WindowsPráctica 4: Registro y configuración inicio de Windows
Práctica 4: Registro y configuración inicio de Windowsjosemafe7
 
Grupo#4 trabajo colaborativo2
Grupo#4 trabajo colaborativo2Grupo#4 trabajo colaborativo2
Grupo#4 trabajo colaborativo2ddiego7
 
Manual de administración BD
Manual de administración BDManual de administración BD
Manual de administración BDAnderson Rubio
 
2.8 Comandos generales de alta y baja del SGBD
2.8 Comandos generales de alta y baja del SGBD2.8 Comandos generales de alta y baja del SGBD
2.8 Comandos generales de alta y baja del SGBDEmanuelMuoz11
 
Postgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_pPostgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_pedvin_marcelo
 
Manual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUIDManual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUIDAndres Ldño
 
Gestión de la instancia de Oracle 11g R2
Gestión de la instancia de Oracle 11g R2Gestión de la instancia de Oracle 11g R2
Gestión de la instancia de Oracle 11g R2Carmen Soler
 
Tarea 3 cristian_merchan_administracion_base_datos
Tarea 3 cristian_merchan_administracion_base_datosTarea 3 cristian_merchan_administracion_base_datos
Tarea 3 cristian_merchan_administracion_base_datosCristian Merchan
 
Bases distribuidas en mysql
Bases distribuidas en mysqlBases distribuidas en mysql
Bases distribuidas en mysqlGiovanni Peruch
 

Similar a OpenSolaris (20)

Clúster
ClústerClúster
Clúster
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextk
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextk
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextk
 
COMO INSTALAR MySQL EN LINUX
COMO INSTALAR  MySQL EN LINUXCOMO INSTALAR  MySQL EN LINUX
COMO INSTALAR MySQL EN LINUX
 
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
 
Práctica 4: Registro y configuración inicio de Windows
Práctica 4: Registro y configuración inicio de WindowsPráctica 4: Registro y configuración inicio de Windows
Práctica 4: Registro y configuración inicio de Windows
 
Grupo#4 trabajo colaborativo2
Grupo#4 trabajo colaborativo2Grupo#4 trabajo colaborativo2
Grupo#4 trabajo colaborativo2
 
Manual de administración BD
Manual de administración BDManual de administración BD
Manual de administración BD
 
Os
OsOs
Os
 
2.8 Comandos generales de alta y baja del SGBD
2.8 Comandos generales de alta y baja del SGBD2.8 Comandos generales de alta y baja del SGBD
2.8 Comandos generales de alta y baja del SGBD
 
Mysql java
Mysql javaMysql java
Mysql java
 
Postgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_pPostgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_p
 
Manual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUIDManual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUID
 
Gestión de la instancia de Oracle 11g R2
Gestión de la instancia de Oracle 11g R2Gestión de la instancia de Oracle 11g R2
Gestión de la instancia de Oracle 11g R2
 
Recuperación de-datos-en-my sql
Recuperación de-datos-en-my sqlRecuperación de-datos-en-my sql
Recuperación de-datos-en-my sql
 
Tarea 3 cristian_merchan_administracion_base_datos
Tarea 3 cristian_merchan_administracion_base_datosTarea 3 cristian_merchan_administracion_base_datos
Tarea 3 cristian_merchan_administracion_base_datos
 
Oracle
OracleOracle
Oracle
 
Bases distribuidas en mysql
Bases distribuidas en mysqlBases distribuidas en mysql
Bases distribuidas en mysql
 
Taller
TallerTaller
Taller
 

Más de Diego Peralta

Formulación Y Planeación
Formulación Y PlaneaciónFormulación Y Planeación
Formulación Y PlaneaciónDiego Peralta
 
Verificación de Protocolos
Verificación de ProtocolosVerificación de Protocolos
Verificación de ProtocolosDiego Peralta
 
Sociedad De La Información
Sociedad De La InformaciónSociedad De La Información
Sociedad De La InformaciónDiego Peralta
 

Más de Diego Peralta (6)

Paper(repositorio)
Paper(repositorio)Paper(repositorio)
Paper(repositorio)
 
Paper(repositorio)
Paper(repositorio)Paper(repositorio)
Paper(repositorio)
 
Formulación Y Planeación
Formulación Y PlaneaciónFormulación Y Planeación
Formulación Y Planeación
 
Verificación de Protocolos
Verificación de ProtocolosVerificación de Protocolos
Verificación de Protocolos
 
Presentación
PresentaciónPresentación
Presentación
 
Sociedad De La Información
Sociedad De La InformaciónSociedad De La Información
Sociedad De La Información
 

Último

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 

Último (12)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

OpenSolaris

  • 1. OpenSolaris 2008.05 OpenSolaris Indiana 2008.05 en una máquina virtual creada  con VirtualBox 1.6 bajo el Sistema Operativo Kubuntu 8.04  Amd64     
  • 2. OpenSolaris: Procesos ➢ Los ficheros mantienen información sobre los distintos procesos  que  se  están  ejecutando  en  la  máquina,  OpenSolaris  utiliza  un  pseudo sistema de ficheros llamado Procfs, en el cual, el kernel  mantiene información sobre los procesos que está corriendo. ➢ El  sistema  de  archivos  procfs  está  organizado  en  directorios,  uno  por  cada  proceso  en  que  se  ejecuta  en  la  máquina,  los  directorios se llaman con el PID del proceso del cual mantienen  la información. Ejemplo:    
  • 3. OpenSolaris: Procesos (root@Carlos)# cd /proc (root@Carlos)# ls 0         14470  18279  19575  22216  2496   28190  3782   4622   605 1          1464   18340  19604  22610  25190  28252  398    4636   606 10192   1465   18709  19634  22645  25229  285    421      472    6347 10622   14896  18779  2        23054  25479  28610  4210   476    664 ... (root@Carlos)# ➢ Cada uno de estos ficheros que representa a un proceso contiene una serie  de ficheros y directorios, de los cuales podemos obtener información sobre el  proceso y todos sus LWP.    
  • 4. OpenSolaris: Procesos Ejemplo: (root@carlos)# cd 29039 (root@carlos)# ls ­l total 5933 ­rw­­­­­­­   1 noxos   noxos   2998272 May 16 12:13 as ­r­­­­­­­­   1 noxos   noxos       152 May 16 12:13 auxv ­r­­­­­­­­   1 noxos   noxos        36 May 16 12:13 cred ­­w­­­­­­­   1 noxos   noxos         0 May 16 12:13 ctl lr­x­­­­­­   1 noxos   noxos         0 May 16 12:13 cwd ­> dr­x­­­­­­   2 noxos   noxos      8208 May 16 12:13 fd ... (root@carlos)#    
  • 5. OpenSolaris: Procesos Ficheros: ➢ /proc/< pid >/as ➢ /proc/< pid >/auxv ➢ /proc/< pid >/cred ➢ /proc/< pid >/ctl ➢ /proc/< pid >/cwd ➢ /proc/< pid >/fd/ ➢ /proc/< pid >/psinfo ➢ /proc/< pid >/map ➢ /proc/< pid >/object/ ➢ /proc/< pid >/pagedata ➢ /proc/< pid >/sigact ➢ /proc/< pid >/status    
  • 6. OpenSolaris: Fallos  MDB  (Modular  Debugger)  es  una  herramienta  que  nos  puede  ayudar  a  conocer las causas que provocaron un fallo, MDB trabaja con los ficheros  core, que son una imagen de memoria del proceso que ha sufrido el fallo,  esto nos permitía averiguar cuales fueron la causa de dicho fallo.  MDB no solo puede trabajar con los volcados de memoria de los procesos,  sino  que  también  lo  puede  hacer  con  las  imágenes  de  memoria  del  kernel  mientras este está ejecutándose, esto nos  permite poder  acceder a toda la  información, si sabemos como leerla, con la que trabaja el kernel, lista de  procesos, páginas de memoria, ficheros abiertos, listas de espera, conexiones  de red, bloqueos, etc.    
  • 7. OpenSolaris: Fallos  Para  que  MDB  acceda  a  la  imagen  del  memoria  del  Kernel  debemos  saber  como  fichero  objeto  debemos  utilizar  /dev/ksyms  el  cual  contiene  la  tabla  de  símbolos  y  como  fichero  core  utilizaremos  /dev/kmem,  por  lo  tanto  podemos  ejecutar la siguiente línea. (root@carlos)# mdb /dev/ksyms /dev/kmem Loading modules: [ unix krtld genunix ip usba ipc random nfs  ptm ]     >
  • 8. OpenSolaris: Fallos  Lo que debemos conocer de MDB para comenzar a trabajar con él es que se  basa en los siguientes tres elementos: ­dmods  son  los  módulos  que  se  cargan  en  el  debugger,  dependiendo  de  los  módulos que se hayan cargado podremos realizar más o menos acciones. ­dcmds son los comandos que podemos utilizar en el debugger. ­walkers  son sencillos programas que nos permiten iterar sobre una serie de  datos.    
  • 9. OpenSolaris: Paginación  Todos    los  procesos,  disponen  de  su  propio  espacio  de  direcciones  de  memoria,  los  espacios  de  direcciones  están  formados  por  segmentos  de  memoria,  un  espacio  de  direcciones  tiene  al  menos  4  segmentos  de  memoria,  el  de  datos,  el  de  texto,  el  de  heap  y  el  de  stack.  Cada  segmento de memoria está formado por un número determinado de páginas  de memoria.  Las páginas tienen un tamaño fijo, son de 8K, con el comando pagesize podemos ver qué tamaños de página podemos utilizar en nuestro sistema y  cual  es  el  tamaño  por  defecto    (8k).  Utilizando  el  !  podemos  ejecutar  comandos del sistema operativo dentro de mdb.    
  • 10. OpenSolaris: Paginación Ejemplo: (root@carlos)# mdb ­k Loading modules: [ unix krtld genunix ip usba ipc random nfs ptm  > ! pagesize ­a 8192 65536 >  El tamaño de página por defecto es 8K, aunque podemos disponer de  páginas de 8K,64K, 512K y 4MB, el tamaño de página se define en el    momento del arranque, por lo que no se puede cambiar en caliente,   
  • 11. OpenSolaris: Segmentación  Al menos existen 4 segmentos: Texto, Datos, Heap, Pila.  MDB nos ayuda para conocer los distintos segmentos que están asignados  al espacio de direcciones de un proceso. Para nuestro ejemplo crearemos un  nuevo proceso lanzando el comando sleep 50000 en background.[1] 1788 (root@carlos)# (root@carlos)# mdb ­k Loading modules: [ unix krtld genunix ip usba ipc random nfs ptm ] > 0t1788::pid2proc |::print proc_t p_as |::walk seg |::seg              SEG         BASE             SIZE             DATA OPS      3007d839f80        10000             2000      3000863d598 segvn_ops      300881d6d38        20000             2000      3578600afe8 segvn_ops      3015579b128        22000             2000      3007d8469c0 segvn_ops    
  • 12. OpenSolaris: Segmentación ...      35785fea3a8     ff3a0000             2000      3578601aa38 segvn_ops      3007d8661b0     ff3b0000            2e000      3578dae20e8 segvn_ops      3007d842120     ff3ee000             2000      301b3697bb8 segvn_ops      30008602678     ff3f0000             2000      3578da37e90 segvn_ops      3578da9d5a8     ffbfe000             2000      3000369f590 segvn_ops >  En el sistema existen varios tipos de segmentos de memoria, dependiendo  de  la  funcionalidad  para  la  que  se  crearon,  así  podemos  encontrar  segmentos  de  tipo  seg_map,  seg_kmem,  seg_dev  o  seg_vn,  entre  otros. Todos los segmentos son de tipo struct  seg  y lo que los diferencia  entre  ellos,  es  el  tipo  de  operaciones  y  el  tipo  de  dato  al  que  apunta  el  puntero  del  campo  s_data,  por  esta  razón,  este  campo  es  un  puntero    void.   
  • 13. OpenSolaris: Semáforos  En OpenSolaris existe un elemento llamado Sets  de semáforos, el cual es  en  realidad  un  grupo  de  semáforos,  no  existen  los  semáforos  independientes, es decir, cuando nuestra aplicación necesita un semáforo le  solicita  al  Kernel  un  Set  de  semáforos,  el  cual  tendrá  un  número  determinado de ellos mediante la llamada a sistema semget(), que acepta  como parámetros una key  que define al set de semáforos, el número de los  semáforos del set y los permisos que tendrá el set de semáforos     
  • 14. OpenSolaris: Semáforos  En  esta  versión  los  límites  de  los  semáforos  los  podemos  aplicar  a  proyectos  o procesos. Para ver como están configurados los límites de  los  semáforos  mediante  el  control  de  recursos  debemos  utilizar  el  comando rctladm. (root@carlos_10)# rctladm ­l | grep sem process.max­sem­ops         syslog=off     [ deny count ] process.max­sem­nsems       syslog=off     [ deny count ] project.max­sem­ids         syslog=off     [ no­basic deny count ]   (root@carlos_10)#  
  • 15. OpenSolaris: Caché  Dependiendo  del  tipo  de  procesador  con  el  que  se  esta  trabajando,  el  tamaño  y  número  de  niveles  varía,  así  en  el  procesador  como  el  UltraSparc V+ existen 3 niveles en la jerarquía de cache.  Nivel  L1:  Es  la  memoria  más  rápida  con  la  que  trabaja  el  procesador,  aunque  presenta  el  inconveniente  de  su  reducido  tamaño.  Nivel L2: Es más lenta que la cache L1 aunque presenta la ventaja  que es mayor tamaño.  Nivel L3: Es la cache más lenta y está situada fuera del chip, el  tamaño  de  esta  cache  en  el  procesador  UltraSPARC  V+  es  de    32MB.   
  • 16. OpenSolaris: Intercambio  El  sistema  de  memoria  virtual  (VM)  de  Solaris  utiliza  una  nueva  capa,  denominada swapfs, que consiste en un sistema de archivos que gestiona  el  área  de  swap,  de  tal  forma  que  en  el  área  de  swap  únicamente  se  ocupará espacio cuando el sistema lo necesite y no cada vez que un proceso  realice una petición de memoria.  Cuando  un  proceso  solicita  una  cantidad  de  memoria,  supongamos  que  mediante la llamada malloc()  realiza una petición de 16K, esto significa  que el sistema reservará 2 páginas de memoria (suponiendo que el tamaño  de la página sea de 8K), estas nuevas páginas deben tener asignadas a un  vnode,  como  el  resto  de  páginas  de  memoria,  estas  nuevas  páginas  son  páginas anónimas por lo que el vnode debe ser el área de swap.     
  • 17. OpenSolaris: Intercambio  El Kernel utiliza la capa de swapfs  para gestionar la asignación de los  vnodes  a  las  nuevas  páginas  anónimas  que  se  creen,  mientras  una  página que ha sido solicitada no sea necesario llevarla al área de swap, no  tendrá asignado ningún espacio en dicho área.  Algo que debemos tener claro para entender cómo funciona swapfs  es lo  siguiente,  swapfs  trabaja  con  un  espacio  virtual  de  swap  el  cual  está compuesto por el espacio físico de swap, es decir, todos los discos  o ficheros que se hayan asignado al espacio de swap, mas toda la memoria  física  del  sistema  que  pueda  ser  paginable.  Es  decir  swapfs  además  de  utilizar  los  ficheros  o  discos  que  hayamos  asignado  al  área  de  swap,  también utilizará toda la memoria disponible en el sistema.    Espacio virtual de swap = Espácio de swap + Memoria física  
  • 18. OpenSolaris: Deadlocks  OpenSolaris proporciona varias herramientas que permiten garantizar que  un dato solo es accedido por un thread o por varios pero teniendo solo uno  de ellos acceso como escritura.  El  bloqueo  mas  comúnmente  usado  es  el  de  exclusión  mutua  (mutex),  dando acceso de lectura y escritura a un único thread.  Cuando vayamos a acceder para leer o modificar un dato, por ejemplo la  lista  de  una  cola  de  ejecución,  podemos  encontrar  que  su  bloqueo  se  encuentre  libre  o  ocupado:  Si  el  bloqueo  se  encuentra  libre,  nos  adueñaremos de el, realizaremos las acciones oportunas, y lo liberaremos de  nuevo.    Si el bloqueo está ya ocupado se usa: Spin Mutex o Mutex Adaptive  
  • 19. OpenSolaris: Hilos  OpenSolaris es un sistema multithread  donde cada uno de los hilos de un  proceso puede tener una prioridad distinta, además esta es dinámica, es  decir durante su vida puede variar en función de varios parámetros, como  pueda ser la carga el sistema, como interactúe con otros hilos.  Cuando un threads es creado en Solaris se asigna a una scheduling class,  para que nos entendemos esta define el rango de prioridades en el que  fluctuará durante su vida. Existen 6 rangos distintos:  Timeshare  (TS): Es la scheduling class por defecto, la prioridad del hilo  aumenta a medida que va esperando un cpu libre, una vez consiga cpu se  ejecutará hasta que se agote su quantum.    
  • 20. OpenSolaris: Hilos  Interactive  (IA):  Parecida  a  la  anterior,  para  entornos  de  escritorio,  los  threads  correspondientes  a  los  procesos  X  window  reciben  un  incremento  de  prioridad.  Fair  Share  (FSS):  El tiempo de cpu se divide en unidades llamadas shares,  cada thread puede consumir x shares dependiendo del número de threads que hay  en esa scheduling class, de su consumo reciente y de su prioridad.  Fixed  Priority  (FX):  El  thread  tiene  las  misma  prioridad  durante  todo  su  ciclo de vida.  Real  Time  (RT):  Es el rango de prioridades altas, garantiza el mínimo tiempo  de  lantencia  entre  que  el  thread  pasa  a  estado  running  hasta  que  se  le  asigna  CPU.  System  (SYS):  Es  la  clase  usada  para  los  threads  del kernel,  tiene prioridad    superior a las demás excepto la Real Time. 
  • 21.  Créditos Grupo de Trabajo: Alvarado Pablo Coronel Brayann Peralta Diego Román Carlos