PDF de programación - HP UX

Imágen de pdf HP UX

HP UXgráfica de visualizaciones

Publicado el 27 de Noviembre del 2019
767 visualizaciones desde el 27 de Noviembre del 2019
42,2 KB
8 paginas
Creado hace 21a (18/09/2002)
HP UX


Este sistema operativo es una versión de UNIX el cual provee el poder de
controlar empresas y servidores de misión critica. Que operan en las plataformas
PA – RISC e Itanium. Este sistema operativo ofrece manejabilidad con
interoperabilidad para dar un control total de la integridad de la infraestructura.

herramientas de desarrollo con código abierto.

hardware:

El sistema HP UX combina un kernel robusto, compatibilidad con Linux y

El sistema HP UX se encuentra disponible para múltiples plataformas de

• Arquitectura PA – RISC


Intel Itanium


Sistema de Archivos



Existen dos tipos de sistemas de archivos:

• UFS.- Se configura con bloques de 64 kb y fragmentos de 8 kb. Este
sistema de archivos tiene preferencia sobre el desempeño de entrada y
salida en bloques de 64 kb.

• JFS.- Se conoce como VxFS, es un sistema de archivos en el que no hay
que preocuparse cuando las aplicaciones chocan o cuando se han
completado satisfactoriamente. Cuando se trata de montar este sistema se
hace con 3 opciones especificas para ganar rendimiento:

o Nolog
o Mincache = TmpCache.
o Convosync = Delay



Memoria Física y virtual

El sistema de manejo de memoria está diseñado para hacer disponibles los
recursos de seguridad y eficiencia para los hilos y los procesos.

-Este sistema provee un espacio completo de dirección para cada proceso, siendo
protegido de todos los demás procesos.

-También habilita el tamaño del programa para que pueda ser más largo que el
tamaño de la memoria.

-El sistema decide que procesos e hilos residen en memoria física y manipula los
hilos y los procesos dentro y fuera de la memoria.

- Maneja las partes del espacio virtual de direcciones de un hilo o proceso no en la
memoria física y determina que porciones del espacio de direcciones debe residir
en la memoria física.



Los datos e instrucciones de cualquier proceso (un programa en ejecución)
o hilo de ejecución en un proceso debe residir en la memoria física al momento de
ser ejecutado.


Para ejecutar un proceso, el kernel crea un espacio virtual de dirección , en

la que parte de este espacio es mapeado en la memoria física.


A través de la "Paginación por demanda", HP-UX permite ejecutar hilos y
procesos por medio de páginas virtuales en la memoria principal solo cuando se
necesita, y coloca fuera de ella porciones del proceso que no han sido usadas
recientemente.


El término "Manejo de memoria" se refiere a unas reglas que gobiernan la
memoria física y la memoria virtual ayudando a un mejor uso de los recursos del
sistema por los procesos del sistema y los del usuario.

PAGINAS.


Las páginas son los bloques más pequeños y contiguos de la memoria
física que pueden alojar datos y código. El tamaño de página de todos los
sistemas HP-UX es de cuatro kilobytes. En los sistemas PA-RISC, cada página de
memoria física es direccionada por un número físico de página. El acceso a las
páginas es hecho por medio de direcciones virtuales.

DIRECCIONES VIRTUALES.


Cuando un programa es compilado, el compilador genera direcciones
virtuales para el código, las direcciones virtuales representan una localidad en
memoria. Estas direcciones virtuales deben ser mapeadas a direcciones físicas
(Localidades de las páginas físicas en memoria) por el código compilado a
ejecutar.


El kernel y el hardware coordinan el mapeo de estas direcciones físicas y
virtuales para el CPU, esto es llamado "Translación de dirección", para colocar el
proceso en memoria.


La dirección virtual de un PA-RISC consiste en un identificador de

- Cada identificador de espacio representa una unidad de 4GB de memoria

- La porción de desplazamiento de una dirección virtual es el

espacio(Space Identifier) y un desplazamiento.

virtual.

desplazamiento en este espacio.



PAGINACION POR DEMANDA.

Para que un proceso se ejecute, las páginas no son cargadas en memoria hasta
que son requeridas por el proceso. Solamente la parte que se está ejecutando de
el proceso necesita estar en memoria al mismo tiempo, la translación no se puede
hacer hasta que la página actual sea accesada.

MANEJO DEL ESPACIO DE SWAP.


El espacio de swap es un área de un dispositivo de almacenamiento de alta
velocidad(casi siempre un disco), reservada para ser usada por el sistema de
memoria virtual para desactivar y paginar los procesos.


Durante el arranque del sistema, la localidad y tamaño de cada dispositivo
de SWAP es desplegado en bloques de 512 KB. El swapper reserva el espacio de
swap a la hora de que se crea un proceso El reservar espacio de swap a la hora
de crear el proceso protege al swapper para que no corra fuere de este espacio.


Es posible agregar o quitar swaps como sea necesario (ya que es dinámico)

mientras el sistema se encuentra corriendo, sin tener que regenerar el kernel.

ESTADOS Y TRANSICIONES DE LOS PROCESOS.


Durante su tiempo de vida los procesos transitan a través de varios

estados.


Por medio de colas en memoria principal se mantiene la pista de un
proceso por medio de su ID, el proceso reside en memoria de acuerdo al estado
en el que se encuentra, los estados del proceso están definidos dentro del archivo
de cabecera proc.h.



El recibir una señal provoca que un proceso cambie de un estado a otro.

Tabla 1 Estados de un proceso

Estado

Que sucede

idle (SIDL)

El proceso es creado al llamar fork, vfork, or exec.

run (SRUN)

El proceso está en una cola de espera para ser ejecutado.

La ejecución del proceso es detenida por una señal o por un
proceso padre


El proceso no se está ejecutando ya que puede estar esperando
algún recurso.


El proceso ha sido terminado, ya no existe pero se mantiene atrás
por si algún proceso requiere de el.

stopped
(SSTOP)

sleep
(SSLEEP)

Zombie
(SZOMB)



Figura 2 : Estados y Transiciones de los procesos



Cuando un programa comienza un proceso, el kernel aloja una estructura
para él de la tabla de procesos, el proceso entonces esta en el estado idle (El
proceso es creado al llamar fork, vfork, o exec), en espera de que se le asignen
recursos del sistema.


Una vez que ha adquirido el recurso, el proceso es ligado hacia una cola de
espera para que se haga corrible , en este momento se corre switcheando como
sea necesario entre modo kernel y modo usuario.


Si un proceso que se encuentra ejecutando recibe una señal SIGSTOP

entra a un estado de detenido.


Cuando reciba una señal SIGCONT , el proceso regresa a una cola de
ejecución(in-core runnable). Si un proceso en ejecución debe esperar por un
recurso (como un semáforo o una competencia de E/S), el proceso va a una cola
de dormido (Estado de dormido) hasta que obtenga el recurso, en ese momento el
proceso despierta y es puesto en una cola de ejecución . Un proceso en estado de
dormido debe ser sacado de memoria hasta que reciba su recurso (señal de

despertar) y colocarse en una cola de ejecución entonces el proceso es traído a
memoria nuevamente y colocado en la cola.
Una vez que el proceso es terminado, sigue existiendo en un estado llamado
Zombie.

Creación del proceso.

El proceso 0 es creado e inicializado al mismo tiempo que se arranca el sistema
pero todos los otros procesos son creados por las llamadas del sistema fork() o
vfork().


- La llamada del sistema fork() provoca la creación de un nuevo proceso, en

el que el nuevo hijo es una copia exacta del proceso llamado padre.

- Vfork() difiere de fork() solo en que el proceso hijo puede compartir codigo y

datos con el proceso padre.


Ejecución del proceso.

Una vez que el proceso es creado con fork() y vfork(), el proceso llama a exec()
(localizada en kern_exec.c) para comenzar a ejecutar el código del programa.
Exec(), en todas sus formas, carga un programa de un archivo ejecutable ordinario
de ese proceso
Reemplazando el texto existente de un proceso por una nueva copia y un archivo
ejecutable.
Un archivo ejecutable consiste de una cabecera, segmento de texto y segmento
de datos.
El segmento de datos consiste en una porción inicializada y una porción no
inicializada , la parte del argumento del archivo se refiere a si es un arcyhivo
ejecutable o solo de texto.
Una vez terminada la llamada a exec() no se regresa nada ya que el nuevo
programa sobrescribe lo anterior.

Terminación de un proceso.

Cuando un proceso termina su ejecución , HP-UX lo termina por medio de la
llamada de sitema exit.

En algunas ocasiones se requiere que el proceso sea sincronizado para su
ejecución con un proceso hijo, esto es posible haciendo uso de la llamada de
sistema wait.
Durante la llamada exit , el proceso entra en estado de zombie y debe esperar a
los procesos hijos.
Para terminar los procesos y sus hijos existen tres rutinas freeproc(), freethread() y
kissofdeath().


Scheduling del proceso.

Para entender como corre un hilo de un proceso, debemos de entender como son
planificados.
Aunque aparentemente los proceso están corriendo simultáneamente para el
usuario, de hecho un solo procesador está ejecutando solo un hilo a cualquier
momento.

Factores que contribuyen para el scheduling de un proceso.


- Tipo de política de scheduling requerida : Esta política gobierna como el
proceso (o hilo) interactua con otros procesos (o hilos) de la misma
prioridad.
- Elección de scheduler: Existen cuatro schedulers : HP-UX timeshare
s
  • Links de descarga
http://lwp-l.com/pdf16978

Comentarios de: HP UX (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad