Introducción A Los Sistemas Operativos

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 62

Mgs. Johana Trejo A.

Temas
 Concepto de Sistema Operativo
 Clasificación de los Sistemas Operativos
 Sistema Operativo como administrador de recursos
 Secuencia lógica de arranque de los SO
 Evolución de los SO
 Componentes de un SO
 Servicios
 Shell de comandos
Concepto de Sistema Operativo
 Un sistema operativo es un programa que controla la ejecución
de los programas de aplicación y que actúa como interfaz entre el
usuario de un computador y el hardware de la misma.
Puede considerarse que un sistema operativo tiene tres objetivos :
 Comodidad: Un sistema operativo hace que un computador sea
más cómoda de utilizar.
 Eficiencia: Un sistema operativo permite que los recursos de un
sistema informático se aprovechen de una manera más eficiente.
 Capacidad de evolución: Un sistema operativo debe
construirse de modo que permita el desarrollo efectivo, la
verificación y la introducción de nuevas funciones en el sistema
y, a la vez, no interferir en los servicios que brinda. A
continuación se van a tratar estos tres aspectos de los sistemas
operativos.
Clasificación de los Sistemas
Operativos

 Por su estructura
 Por los servicios que ofrece
 Por su función
Sistemas Operativos por su
estructura
 Monolítico .- Es la estructura de los primeros sistemas operativos
constituidos fundamentalmente por un solo programa compuesto de
un conjunto de rutinas entrelazadas de tal forma que cada una puede
llamar a cualquier otra.
 Jerárquico.- A medida que fueron creciendo las necesidades de los
usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor
organización del software, del sistema operativo, donde una parte del
sistema contenía sub-partes y esto organizado en forma de niveles.
Sistemas Operativos por su
estructura
 Máquina Virtual.- Se trata de un tipo de sistemas
operativos que presentan una interface a cada proceso,
mostrando una máquina que parece idéntica a la máquina
real subyacente.

 Estos sistemas operativos separan dos conceptos que suelen


estar unidos en el resto de sistemas: la multiprogramación
y la máquina extendida.

 El objetivo de los sistemas operativos de máquina virtual es


el de integrar distintos sistemas operativos dando la
sensación de ser una sola máquina.
Sistemas Operativos por su
estructura
 Cliente-Servidor.- (Microkernel)
 El tipo más reciente de sistemas operativos es el
denominado Cliente-servidor, que puede ser ejecutado en
la mayoría de las computadoras, ya sean grandes o
pequeñas.
 En este tipo de modelo, el enfoque consiste en implementar
la mayor parte de los servicios y funciones del sistema
operativo en procesos de usuario, dejando solo una
pequeña parte del sistema operativo ejecutando en modo
núcleo.
 El núcleo tiene como misión establecer la comunicación
entre los clientes y los servidores. Los procesos pueden ser
tanto servidores como clientes.
Cliente-Servidor
Sistemas Operativos por Servicios
que ofrecen
Por el número de usuarios
 Multiusuarios
Los sistemas operativos multiusuarios son capaces de dar
servicio a más de un usuario a la vez, ya sea por medio de varias
terminales conectadas a la computadora o por medio de sesiones
remotas en una red de comunicaciones. No importa el número
de procesadores en la máquina ni el número de procesos que
cada usuario puede ejecutar simultáneamente.
 Monousuarios
Los sistemas operativos monousuarios son aquéllos que soportan
a un usuario a la vez, sin importar el número de procesadores
que tenga la computadora o el número de procesos o tareas que
el usuario pueda ejecutar en un mismo instante de tiempo. Las
computadoras personales típicamente se han clasificado en este
renglón.
Por el número de tareas
 Monotareas
Los sistemas monotarea son aquellos que sólo permiten una tarea a la
vez por usuario. Puede darse el caso de un sistema multiusuario y
monotarea, en el cual se admiten varios usuarios al mismo tiempo pero
cada uno de ellos puede estar haciendo solo una tarea a la vez.

 Multitareas
Un sistema operativo multitarea es aquél que le permite al usuario estar
realizando varias labores al mismo tiempo. Por ejemplo, puede estar
editando el código fuente de un programa durante su depuración
mientras compila otro programa, a la vez que está recibiendo correo
electrónico en un proceso en background. Es común encontrar en ellos
interfaces gráficas orientadas al uso de menús y el ratón, lo cual
permite un rápido intercambio entre las tareas para el usuario,
mejorando su productividad.
Por el número de procesos
 Uniproceso.-
Un sistema operativo uniproceso es aquél que es capaz de manejar
solamente un procesador de la computadora, de manera que si la
computadora tuviese más de uno le sería inútil. El ejemplo más típico de
este tipo de sistemas es el DOS y MacOS.
 Multiproceso.-
Un sistema operativo multiproceso se refiere al número de procesadores
del sistema, que es más de uno y éste es capaz de usarlos todos para
distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos
formas: simétrica o asimétricamente.
 Cuando se trabaja de manera asimétrica, el sistema operativo selecciona
a uno de los procesadores el cual jugará el papel de procesador maestro
y servirá como pivote para distribuir la carga a los demás procesadores,
que reciben el nombre de esclavos.
 Cuando se trabaja de manera simétrica, los procesos o partes de ellos
(threads) son enviados indistintamente a cualquiera de los
procesadores disponibles, teniendo, teóricamente, una mejor
distribución y equilibrio en la carga de trabajo bajo este esquema.
Sistemas Operativos de acuerdo a
su función
Sistemas Operativos de acuerdo a su
función
 Sistemas Operativos por lotes.- Este sistema operativo
procesa gran cantidad de trabajos con poca o ninguna
interacción con los usuarios y los programas en ejecución.
 Sistemas Operativos en tiempo real.- Son aquellos
donde no tiene importancia el usuario, sino los procesos.
 Sistemas Operativos de tiempo compartido.- Permiten
la simulación de que el Sistema y sus recursos son todos
para cada usuario.


Sistemas Operativos de acuerdo
a su función
 Sistemas Operativos multiprogramación.- Se
distinguen por sus habilidades de poder soportar la
ejecución de dos o mas trabajos activos.

 Sistemas Operativos paralelos.- En estos tipos de


Sistemas Operativos se pretende que cuando existan 2
o mas procesos compitiendo por algún recurso se
pueda realizar o ejecutar al mismo tiempo.
Sistemas Operativos Centralizado
 Se trata de aquel que utiliza los recursos de una sola
computadora, es decir, su memoria, CPU, disco y
periféricos.
 Respecto al hardware podemos decir que se suele
tratar de un computador caro y de gran potencia, con
terminales alfanuméricos directamente conectados.
 Suele tratarse de una computadora de tipo desktop, en
las cuales es común encontrar un monitor grande con
un teclado y un mouse, además de un case para
albergar la unidad de procesamiento y los demás
componentes.
Sistemas Operativos en red
 Los sistemas operativos en red son aquellos
sistemas que mantienen a dos o más equipos unidos
por un medio de comunicación con el objetivo de
compartir recursos hardware y software.
 Un sistema operativo de red, también llamado NOS
(del inglés, Network Operating System), es un software
que permite la interconexión de ordenadores para
poder acceder a los servicios y recursos, hardware y
software, creando redes de computadoras.
Sistemas Operativos distribuido
 Un sistema operativo distribuido es la unión lógica
de un grupo de sistemas operativos sobre una
colección de nodos computacionales independientes,
conectados en red, comunicándose y físicamente
separados.
 Cada nodo contiene de forma individual un
subconjunto específico de los programas que
componen el sistema operativo distribuido.
 Cada subconjunto es una combinación de dos
proveedores de servicios distintos.
Funciones del SO
 Las funciones clásica, del sistema operativo se pueden
agrupar en las tres categorías siguientes:

 Gestión de los recursos de la computadora (El Sistema


Operativo como administrador de recursos )
 Ejecución de servicios para los programas (El sistema
operativo como máquina extendida)
 Ejecución de los mandatos de los usuarios (El sistema
operativo como interfaz de usuario)
Niveles del SO
Niveles del SO
Como muestra la Figura, el sistema operativo esta
formado conceptualmente por tres capas principales.
La capa m : cercana al hardware se denomina núcleo
(kernel) y es la que gestiona los recursos hardware del
sistema y la que suministra otra la funcionalidad básica
del sistema operativo.
Esta capa ha de ejecutar en nivel núcleo, mientras que
las otras pueden ejecutar en niveles menos permisivos.
Niveles del SO
 La capa de servicios o llamadas al sistema ofrece a los
programas unos servicios en forma de una interfaz de
programación o API (application programming
interface).

 Desde el punto de vista de los programas, esta capa


extiende la funcionalidad de la computadora, por lo
que se suele decir que el sistema operativo ofrece una
máquina virtual extendida a los programas.
Niveles del SO
 La capa de intérprete de mandatos o shell
suministra una interfaz a través de la cual el usuario
puede dialogar de forma interactiva con la
computadora.

 El shell recibe los mandatos u órdenes del usuario, los


interpreta y, si puede, los ejecuta.
Sistema Operativo como
administrador de recursos
 En una computadora actual suelen coexistir varios
programas, del mismo o de varios usuarios,
ejecutándose simultáneamente.
 Estos programas compiten por los recursos de la
computadora, siendo el sistema operativo el encargado
de arbitrar su asignación y uso.
 Como complemento a la gestión de recursos, el
sistema operativo ha de garantizar la protección de
unos programas frente a otros y ha de suministrar
información sobre el uso que se hace de los recursos.
Asignación de recursos
 El sistema operativo se encarga de asignar los recursos
a los programas en ejecución.
 Para ello, ha de mantener unas estructuras que le
permitan saber que recursos están libres y cuáles están
asignados a cada programa.
 La asignación de recursos se realiza según la
disponibilidad de los mismos y la prioridad de los
programas, debiéndose resolver los conflictos que
aparecen por las peticiones simultáneas.
Asignación de recursos
 Especial mención reviste la recuperación de los recursos cuando
los programas ya no los necesitan.
 Una mala recuperación de recursos puede hacer que el sistema
operativo considere, por ejemplo, que ya no le queda memoria
disponible cuando, en realidad, sí la tiene.
 La recuperación se puede hacer porque el programa que tiene
asignado el recurso le comunica al sistema operativo que ya no lo
necesita o bien porque el programa haya terminado.
 Los recursos manejados por el sistema operativo son físicos y
lógicos. Entre los físicos se encuentra el procesador, la memoria
principal y los periféricos.
 Entre los lógicos se pueden citar los archivos y los puertos de
comunicación.
Protección
 El sistema operativo ha de garantizar la protección
entre los usuarios del sistema.

 Ha de asegurar la confidencialidad de la información y


que unos trabajos no interfieran con otros.

 Para conseguir este objetivo ha de impedir que unos


programas puedan acceder a los recursos asignados a
otros programas.
Contabilidad
 La contabilidad permite medir la cantidad de recursos
que, a lo largo de su ejecución, utiliza cada programa.

 De esta forma se puede conocer la carga de utilización


que tiene cada recurso y se puede imputar a cada
usuario los recursos que ha utilizado.

 Cuando la contabilidad se emplea meramente para


conocer la carga de los componentes del sistema se
suele denominar monitorización.
El sistema operativo como
máquina extendida
 El sistema operativo ofrece a los programas un
conjunto de servicios, o llamadas al sistema, que
pueden solicitar cuando lo necesiten, proporcionando
a los programas una visión de máquina extendida.
 El modelo de programación que ofrece el hardware e se
complementa con estos servicios software, que
permiten ejecutar de forma cómoda y protegida ciertas
operaciones.
 La alternativa consistiría en complicar los programas
de usuario y en no tener protección frente a los
usuarios.
El sistema operativo como
máquina extendida
 Los servicios se pueden agrupar en las cuatro clases
siguientes:
 ejecución de programas,
 operaciones de E/S,
 operaciones sobre archivos y
 detección y tratamiento de errores.

 Gran parte e de este texto se dedicará a explicar los servicios


ofrecidos por los sistemas operativos, por lo que aquí nos
limitaremos a hacer unos simples comentarios sobre cada
una de sus cuatro clases.
El sistema operativo como
máquina extendida
 La ejecución de programas da lugar al concepto de proceso.
Un proceso se puede definir como un programa en ejecución. El
proceso es un concepto fundamental en los sistemas operativos,
puesto que el objetivo ultimo de éstos es crear, ejecutar y destruir
procesos, de acuerdo a las órdenes de los usuarios.

 Los servicios de E/S ofrecen una gran comodidad y protección


al proveer a los programas de operaciones de lectura, escritura y
modificación del estado de los periféricos. En efecto, la
programación de las operaciones de E/S es muy compleja y
dependiente del hardware específico de cada periférico. Los
servicios del si tema operativo ofrecen un alto nivel de
abstracción de forma que el programador de aplicaciones no
tenga que preocuparse de esos detalles.
El sistema operativo como
máquina extendida
 Los archivos ofrecen un nivel de abstracción mayor que el de las
órdenes de E/S, permitiendo operaciones tales como creación,
borrado, renombrado, apertura, escritura y lectura de chivos.
 Detección y tratamiento de errores
Además de analizar detalladamente todas las ordenes que recibe,
para comprobar que se pueden realizar , el sistema operativo se
encarga de tratar todas las condiciones de error que detecte el
hardware.
Entre las condiciones de error que pueden aparecer
destacaremos las siguientes: errores en las operaciones de E/S,
errores de paridad en los accesos a memoria o en los buses y
errores de ejecución en los programas, como desbordamientos,
violaciones de memoria, códigos de instrucción prohibidos, etc.
El sistema operativo como interfaz
de usuario
 El módulo del sistema operativo que permite que los usuarios
dialoguen de forma interactiva con el sistema es el intérprete de
mandatos o shell.
 El shell se comporta como un bucle infinito que está repitiendo
constantemente la siguiente secuencia:

 Espera una orden del usuario. En el caso de interfaz textual, el shell


está pendiente de lo que escribe el usuario en la línea de mandatos. En
las interfaces gráficas está pendiente de los eventos del apuntador
(ratón) que manipula el usuario, además, de los del teclado.

 Analiza la orden y, en caso de ser correcta, la ejecuta, para lo cual


emplea los servicios del sistema operativo.

 Concluida la orden vuelve a la espera.


Archivos de mandatos
 Casi todos los intérpretes de mandatos pueden
ejecutar archivos de mandatos, llamados shell scripts.

 Estos chivos incluyen varios mandatos totalmente


equivalentes a los mandatos que se introducen en el
terminal. Además, para realizar funciones complejas,
pueden incluir mandatos especiales de control del
flujo de ejecución, como puede ser el goto, el for o el if,
así como etiquetas para identificar líneas de mandatos.
Secuencia lógica de arranque de
los SO
 El arranque de una computadora actual tiene dos
fases:

 La fase de arranque hardware


 La fase arranque del sistema operativo.
Secuencia lógica de arranque de
los SO
Arranque hardware
 Como se ha indicado con anterioridad, la computadora solamente es capaz de
realizar actividades útiles si cuenta con el correspondiente programa cargado
en memoria principal. Ahora bien, la memoria principal de las computadoras
es volátil, lo que significa que, cuando se enciende la máquina, no contiene
ninguna información válida, Por tanto, al arrancar la computadora no es capaz
de realizar nada.
 Para resolver esta situación, las computadoras antiguas tenían una serie de
conmutadores que permitían introducir una a una palabras en la memoria
principal y en los registros. El usuario debía introducir a mano, y en binario, un
primer programa que permitiese cargar otros programas almacenados en algún
soporte, como la cinta de papel.
 En la actualidad, la solución empleada es mucho más cómoda puesto que se
basa en un programa permanente grabado en una memoria ROM. En efecto,
como muestra la Figura ,una parte del mapa de memoria está construido con
memoria ROM no volátil.
 En esta memoria ROM se encuentra a un programa de arranque, que esta
siempre disponible, puesto que la ROM no pierde su contenido. Llamemos
iniciador ROM a este programa.
Arranque hardware
Arranque del sistema operativo
El programa cargador del sistema operativo tiene por misión traer a
memoria principal algunos los componentes del sistema operativo. Una
vez cargados estos componentes, se pasa a la fase iniciación, que
incluye las siguientes operaciones:
 Comprobación del sistema. Se completan las pruebas del hardware
realizadas por dar ROM y se comprueba que el sistema de archivos
tiene un estado coherente. Esta operación exige revisar todos los
directorios, lo que supone un largo tiempo de procesamiento.
 Se establecen las estructuras de información propias del sistema
operativo, tales como tabla de procesos, las tablas de memoria y las de
E/S. El contenido de estas tablas se describirá a lo largo del libro,
 Se carga en memoria principal aquella parte del sistema
operativo que ha de estar siempre memoria, parte que se denomina
sistema operativo residente.
 Se crea un proceso de inicio o login por cada terminal definido en
el sistema, así como una serie de procesos auxiliares y de demonios (p.
ej.; el demonio de impresión o el demonio comunicaciones).
Evolución de los SO
 Proceso en serie (40 a 50)
 Sistemas sencillos de proceso por lotes (50 a 60)
 Sistemas por lotes con multiprogramación
 Sistemas de tiempo compartido
Proceso en serie
 En los primeros computadores, de finales de los 40 hasta
mediados de los 50, el programador interactuaba
directamente con el hardware; no había sistema operativo.
La operación con estas máquinas se efectuaba desde una
consola consistente en unos indicadores luminosos, unos
conmutadores, algún tipo de dispositivo de entrada y una
impresora. Los programas en código máquina se cargaban a
través del dispositivo de entrada (un lector de tarjetas, por
ejemplo). Si se detiene el programa por un error, la
condición de error se indicaba mediante los indicadores
luminosos. El programador podía examinar los registros y
la memoria principal para determinar la causa del error. Si
el programa continuaba hasta su culminación normal, la
salida aparecería en la impresora.
Sistemas sencillos de proceso por
lotes
 Para mejorar el uso, se desarrolló el concepto de sistema
operativo por lotes (batch). El primer sistema operativo por lotes
fue desarrollado a mediados de los 50 por la General Motors para
usar en un IBM 701 [WEIZ81]. Este concepto fue refinado
posteriormente e implementado en un IBM 704 por una serie de
clientes de IBM. A principios de los 60, un conjunto de
constructores ya habían desarrollado sistemas operativos por
lotes para sus computadores. IBSYS, el sistema operativo de IBM
para las computadores 7090/7094, es particularmente notable
por su amplia influencia en otros sistemas.
 La idea central que está detrás del esquema sencillo de proceso
por lotes es el uso de un elemento de software conocido como
monitor. Con el uso de esta clase de sistema operativo, los
usuarios ya no tenían acceso directo a la máquina.
Disposición de la memoria con un
monitor residente [SILB94]
Sistemas por lotes con
multiprogramación
 Aún con el secuenciamiento automático de los trabajos ofrecido
por un sistema operativo sencillo por lotes, el procesador está
desocupado a menudo. El problema es que los dispositivos de
E/S son lentos comparados con el procesador. La figura del
ejemplo de utilización del sistema detalla un cálculo
representativo. Los números corresponden a un programa que
procesa un archivo de registros y ejecuta, en promedio, 100
instrucciones de máquina por cada registro. En este ejemplo, el
computador gasta más del 96% del tiempo esperando a que los
dispositivos de E/S terminen de transferir sus datos. La figura
2.6a ilustra esta situación. El procesador gasta parte del tiempo
ejecutando hasta que encuentra una instrucción de E/S.
Entonces debe esperar a que concluya la instrucción de E/S antes
de continuar.
Sistemas por lotes con
multiprogramación
 Esta ineficiencia no es necesaria. Se sabe que hay memoria
suficiente para almacenar el sistema operativo (el monitor
residente) y un programa de usuario. Supóngase que hay
espacio suficiente para el sistema operativo y dos
programas usuarios. Ahora, cuando un trabajo necesite
esperar una E/S, el procesador puede cambiar al otro
trabajo, que probablemente no estará esperando a la E/S
(figura b). Además, se podría ampliar la memoria para
almacenar tres, cuatro o más programas y conmutar entre
todos ellos (figura c). Este proceso es conocido como
multiprogramador o multitarea. Éste es el punto central de
los sistemas operativos modernos.
Ejemplo de utilización del Sistema
 Supóngase ahora que los trabajos se ejecutan
concurrentemente en un sistema operativo con
monoprogramación.
 Como hay poca contención de recursos entre los trabajos,
cada uno de los tres puede ejecutarse en un tiempo cercano
a 1 mínimo mientras coexiste con los otros en el computador
(suponiendo que a TRABAJ02 y TRABAJO3 se les adjudica tiempo
suficiente de procesador para mantener activas sus operaciones de
E/S).
 El TRABAJO1 requerirá 5 minutos para terminar, pero al finalizar este
tiempo, el TRABAJO2 estará terminado en una tercera parte y el
TRABAJO3 estará a la mitad. Los tres trabajos habrán terminado dentro
de 15 minutos.
Ejemplo de utilización del Sistema
Sistemas por lotes con
multiprogramación
Sistemas por lotes con
multiprogramación
Efectos de la Multiprogramación
sobre la utilización de recursos
Sistemas de tiempo compartido
 Con el uso de la multiprogramación, el tratamiento por
lotes puede llegar a ser bastante eficiente. Sin embargo,
para muchas tareas, es conveniente suministrar un modo
en que el usuario interactúe directamente con el
computador. De hecho, para algunos trabajos, tales como el
proceso de transacciones, este modo interactivo es
fundamental.
 Hoy en día, los requisitos de un servicio de computación
interactiva pueden y suelen llevarse a cabo con el empleo
de un computador dedicada. Esta opción no estaba
disponible en los años 60, cuando la mayoría de los
computadores eran grandes y costosas. En su lugar, se
desarrollaron las técnicas de tiempo compartido.
Multiprogramación por lotes frente
al tiempo compartido
 Tanto la multiprogramación por lotes como el tiempo
compartido utilizan multiprogramación. Las
diferencias básicas se enumeran en la tabla.
Multiprogramación por lotes frente
al tiempo compartido
 Uno de los primeros sistemas de tiempo compartido que se
desarrollaron fue el Sistema Compatible de Tiempo Compartido
(CTSS, Compatible Time-Sharing System) [CORB62, CORB63],
desarrollado en el MIT por un grupo conocido como Proyecto
MAC (Machine-Aided Cognition, Multiple-Access Computers) .
 El sistema fue desarrollado primero para una IBM 709 en 1961 y
luego pasado a una IBM 7094. Comparado con sistemas
posteriores, el CTSS era bastante primitivo y su funcionamiento
básico es fácil de explicar. El sistema se ejecutaba en una
máquina con una memoria de 32K palabras de 36 bits, con un
monitor residente que consumía 5K del total. Cuando había que
asignar el control a un usuario interactivo, el programa del
usuario y los datos eran cargados en las restantes 27K de la
memoria principal.
Sistemas de tiempo compartido
 El enfoque del CTSS era muy primitivo, si se compara con los sistemas
actuales de tiempo compartido, pero funcionaba. Era extremadamente
simple, lo que minimizaba el tamaño del monitor. Como un trabajo
siempre se cargaba en las mismas posiciones de memoria, no había
necesidad de utilizar técnicas de reubicación durante la carga (que se
discutirán más adelante). La técnica de escribir en el disco sólo cuándo
era necesario minimizaba la actividad con el disco. Ejecutado sobre una
7094, el CTSS daba soporte a un máximo de 32 usuarios.
 El tiempo compartido y la multiprogramación plantean una multitud
de problemas nuevos para el sistema operativo. Si hay varios trabajos en
memoria, entonces deben protegerse de injerencias unos de otros,
como, por ejemplo, que uno modifique los datos de otro. Con varios
usuarios interactivos, el sistema de archivos debe protegerse de forma
que sólo los usuarios autorizados puedan tener acceso a un archivo en
particular. La contención de recursos tales como la impresora y los
dispositivos de almacenamiento masivo debe estar controlada. Este y
otros problemas, con sus posibles soluciones, se encontrarán a lo largo
del texto
Funcionamiento del CTSS
Componentes de un SO
 Como se comentó previamente y se muestra en la
Figura, se suele considerar que un sistema operativo
está formado por tres capas: el núcleo, los servicios y el
intérprete de mandatos o shell.
Servicios
Los servicios se suelen agruparse según su funcionalidad en varios
componentes, cada uno de cuales se ocupa de las siguientes funciones:
 Gestión de procesos. Encargada de la creación, planificación y
destrucción de procesos.
 Gestión de memoria. Componente encargada de saber qué partes de
memoria están libres y cuáles ocupadas, así como de la asignación y
liberación de memoria según la necesiten los procesos.
 Gestión de la E/S. Se ocupa de facilitar el manejo de los dispositivos
periféricos.
 Gestión de archivos y directorios. Se encarga del manejo de archivos
y directorios y de 1a administración del almacenamiento secundario,
 Comunicación y sincronización en e procesos. Encargada de
ofrecer mecanismos los procesos puedan comunicase y sincronizarse.
 Seguridad y protección. Este componente debe encargarse de
garantizar la usuarios y de definir lo que pueden hacer cada uno de
ellos con los recursos del sistema.
Servicios
 Todos estos componentes ofrecen una serie de
servicios a través de una interfaz de llamadas sistema.
Como se muestra en la Figura , un sistema operativo
puede incluir más de una interfaz de servicios (en la
figura se han considerado las interfaces Win32 y
POSIX)
INTERFAZ DEL PROGRAMADOR
 POSIX [IEEE96] es el estándar de interfaz de sistemas operativos
potables de 1EEE basado en el sistema operativo UNIX. Aunque UNIX
era prácticamente un estándar industrial, había bastantes, diferencias
entre las distintas implementaciones de UNIX, lo que provocaba que
las aplicaciones no se pudieran transportar fácilmente entre distintas
plataformas UNIX. Este problema motivó a los implementadores y
usuarios a desarrollar un estándar internacional con el propósito de
conseguir la portabilidad de las aplicaciones en cuanto a código fuente.

 POSIX es una interfaz ampliamente utilizada. Se encuentra disponible


en todas las versiones de Unix y Linux. También Windows NT ofrece un
subsistema que permite programar aplicaciones POSIX
INTERFAZ DEL PROGRAMADOR

 Win32 define los servicios ofrecidos por los sistemas


Windows 95/98, Windows NT y Windows 2000. En
este caso no se trata de un estándar genérico, sino de
los servicios establecido por una casa comercial
determinada (Microsoft).
Bibliografía
 Sistemas Operativos , william-stallings-segunda-
edición
 Carretero-Jesus Sistemas operativos una visión
aplicada XA
 Sistemas Operativos Distribuidos 2da Edicion
Andrew Tanenbaum, Maarten Van Steen
 george-coulouris-distributed-systems-concepts-and-
design-5th-edition

También podría gustarte