Anda di halaman 1dari 30

ARQUITECTURA DE

SISTEMAS OPERATIVOS.

Unidad I: Introduccin.

I.1-Conceptos Bsicos.

Sistema Operativo.
Procesos.
Archivos.
Llamadas al Sistema.
Tipos de Sistemas Operativos.
Shell: Linux Unix
Windows

Definicin: Concepto de Sistema Operativo.


Qu es un Sistema Operativo?
Es una capa de software cuya labor es administrar todos
los dispositivos y proporcionar a los programas de
usuario una interfaz que les permita comunicarse con el
hardware.
El Sistema Operativo tiene dos funciones independientes:
1- Extender la mquina.
Facilita la comunicacin hombre mquina, permitiendo al
programador cierto nivel de abstraccin en el manejo de
dispositivos y recursos del sistema de cmputo al ocultarle la
verdad acerca del hardware.
2- Administrar recursos.
Administra todos los elementos de un sistema complejo:
procesadores, memoria, temporizadores, discos, interfaces de red,
perifricos de E/S, etc. efectuando un reparto ordenado y
controlado entre los distintos programas que compiten por
obtenerlos.

Lenguaje de Mquina:
Hardware+Instrucciones
III
Instruction Set Arquitecture

Usualmente son 50 a 300


instrucciones
que permiten: trasladar datos, realizar
operaciones aritmticas y lgicas, etc

Microarquitectura:

Se agrupan los dispositivos fsicos para


formar unidades funcionales. Ejemplo:
registros de la CPU y ruta de datos que
contiene una unidad aritmtico lgica.

Dispositivos Fsicos:

Hechos con circuitos integrados,


cables, fuentes de potencia,
tubos de rayos catdicos, etc.

Qu es un Proceso?
Bsicamente, es un programa en
ejecucin.
Tiene asignado un espacio de direcciones de
memoria donde puede leer y/o escribir. All se
encuentra: su cdigo ejecutable, sus datos y
su pila. Tambin tiene asignado un conjunto
de registros (CISC: IP, SP, BP, CS, DS, AX,
BX, CX, DX, etc.) y guarda toda la informacin
necesaria para ejecutar el programa.

Un sistema consiste en una coleccin de


procesos que podran ejecutarse
concurrentemente.
Las obligaciones del SO como gestor de
procesos son:
Creacin y eliminacin de procesos.
Planificacin de procesos (procurando la
ejecucin de mltiples procesos y
maximizando la utilizacin del procesador).
Establecimiento de mecanismos para la
sincronizacin y comunicacin entre procesos.
Manejo de bloqueos mutuos.

A medida que un proceso se ejecuta cambia de


estado. Cada proceso puede estar en uno de
los siguientes estados:

Nuevo (new): el proceso se est creando.


En ejecucin(running): el proceso est en la CPU
ejecutando instrucciones.
Bloqueado (waiting, en espera): proceso esperando
a que ocurra un suceso (ejemplo: terminacin de E/S
o recepcin de una seal).
Preparado (ready, listo): esperando que se le asigne
a un procesador.
Terminado (terminated): finaliz su ejecucin, por
tanto no ejecuta ms instrucciones y el SO le retirar
los recursos que consume.

Diagrama de
estados de un proceso.

Para que un programa se


ejecute, el SO debe crear un
proceso para l. En un sistema
con multiprogramacin el
procesador ejecuta cdigo de
distintos programas que
pertenecen a distintos procesos.

Llamamos traza de un
proceso al listado de la
secuencia de
instrucciones que se ejecutan
para el mismo.

Aunque dos
procesos estn
asociados al
mismo programa,
se consideran dos
secuencias de
ejecucin
separadas, cada
una de las cuales
se considera un
proceso.

Nota: Slo un proceso puede estar ejecutndose


en cualquier procesador en un instante dado, pero
muchos procesos pueden estar listos y esperando.

Los sucesos que pueden dar lugar a una transicin de


estados en este modelo son los siguientes:
Ninguno a nuevo: se crea un nuevo proceso para
ejecutar un programa.
Nuevo a preparado: el sistema est preparado para
aceptar un proceso ms porque dispone de recursos
para ello.
Preparado a ejecucin: el sistema elige uno de los
procesos en estado preparado para llevarlo a ejecucin.
Ejecucin a terminado: el proceso que se est
ejecutando es finalizado por el SO si indica que termin,
se abandona o se cancela.
Ejecucin a preparado: el proceso ha agotado su
tiempo de ejecucin, cede voluntariamente su tiempo de
ejecucin o se interrumpe para atender a otro de mayor
prioridad.

Los sucesos que pueden dar lugar a una transicin de


estados en este modelo son los siguientes: (Continuacin)

Ejecucin a bloqueado: el proceso solicita algo por lo


que debe esperar.
Bloqueado a preparado: se produce el suceso por el
que el proceso estaba esperando.
Preparado a terminado (no aparece en la figura): un
padre puede terminar con un proceso hijo en cualquier
momento, o bien, si el padre termina todos sus hijos se
pueden terminar.
Bloqueado a terminado: el mismo criterio que el
anterior.

Ejemplo: disposicin en memoria de tres procesos.

Ejemplo: estados asociados a la traza de los tres procesos.

Sera necesario disponer (como mnimo) de dos colas: una de


listos y otra de bloqueados. Los procesos nuevos que se van
admitiendo pasan a la cola de listos, el sistema elige de esta cola
alguno para pasarlo a ejecucin. Cuando ocurre un suceso, todos
los procesos que esperan por l pasan de la cola de bloqueados a
la cola de listos.

Aspectos importantes a tener en cuenta durante la


ejecucin de procesos:
Asignacin o administracin de los recursos del
sistema a los procesos.
- Cmo manejar los requerimientos de Entrada/Salida?
- De qu forma se deben administrar los recursos de
memoria necesarios para la ejecucin de los procesos?
Posibilidad de que ocurran interbloqueos.
- Qu problemas puede ocasionar un interbloqueo?
- Cmo evitar los interbloqueos? Cmo asegurar la
comunicacin entre procesos?

Sistema de Archivos (o Ficheros)


El SO oculta a los usuarios
las peculiaridades del manejo
de los discos y otros
dispositivos de E/S,
presentando al programador
un modelo abstracto, bueno y
claro de archivos
independientes de los
dispositivos. De esto se
encarga el SISTEMA DE
FICHEROS (ARCHIVOS).

Sistema de Archivos (o Ficheros)


(Continuacin)

Un archivo puede contener un texto, programas


ejecutables, cdigo intermedio, cdigo fuente de
programas, hojas de clculo, documentos,
imgenes, audio, video, informacin financiera
y/o econmica, informacin y/o datos en general,
etc.
Los ARCHIVOS (tambin conocidos como
FICHEROS) se guardan en memoria externa.
Para ello se les da nombre nemotcnicos y se
agrupan en CARPETAS o DIRECTORIOS.

Sistema de Archivos (o Ficheros)


(Continuacin)

Los directorios o carpetas tambin son


manejados como un tipo especial de
archivos: son archivos que contienen
otros archivos o directorios.
Mediante llamadas al sistema es posible:
- Crear Archivos. - Eliminar Archivos.
- Leer y/o Escribir (Modificar) Archivos.

Sistema de Archivos (o Ficheros)


(Continuacin)

Sistema de Archivos (o Ficheros)


(Continuacin)

Llamadas al Sistema.

La interfaz entre el SO y los programas de usuario


est definida por el conjunto de llamadas al sistema
ofrecidas por el SO. Estas llamadas pueden variar de
un SO a otro pero los conceptos tienden a
mantenerse.

Generalmente, las llamadas al sistema se invocan


desde programas en C llamando a un procedimiento
de biblioteca que tiene el mismo nombre de la llamada
al sistema.

Ejemplos de llamadas al sistema en UNIX:


fd = open(mifichero, O_RDONLY);
cuenta = read(fd, buffer, nbytes);

Llamadas al Sistema.
(Continuacin)

En general, las interfaces con los servicios del sistema


operativo se distinguen porque:
1. En el caso del programador, las llamadas al sistema se realizan
invocando a un procedimiento de biblioteca en lenguaje de
mquina o en alto nivel.
2. En los casos de los usuarios, las llamadas al sistema se hacen
mediante:
Intrprete de rdenes.
Programas del sistema.

El SO ofrece una gama de servicios a los programas,


que acceden a ellos mediante llamadas al sistema.
Son la interfaz entre el programa en ejecucin y el SO.
nica forma en la que un programa puede solicitar
operaciones al SO.

Llamadas al Sistema.
(Continuacin)

Implantacin de las llamadas al sistema:


Cmo se implanta la llamada?
Habitualmente, mediante una instruccin especial de la
mquina (syscall, int, trap, ...).
La instruccin cambia automticamente a modo privilegiado.
Si programamos en un lenguaje de alto nivel escribimos la
llamada al sistema como una subrutina, y el compilador la
sustituye por la instruccin de mquina correspondiente.

Muchas llamadas necesitan parmetros cmo los


pasamos al SO?:
Usando registros de la mquina.
En una tabla en memoria principal.
Ponindolos en la pila (stack).

SHELL del Sistema Operativo


Sistema Operativo
Windows:
- Entorno grfico.
- Lnea de
comandos.
- Ventana al DOS.

Sistema Operativo Linux:


- Entorno grfico.
- Consolas / Terminales.

SHELL de LINUX / UNIX


En LINUX / UNIX, el intrprete de rdenes es un programa que se
ejecuta como un proceso de usuario. Ejemplos: sh, bash, ksh, csh,

SHELL de LINUX / UNIX

SHELL de LINUX / UNIX

Anda mungkin juga menyukai