Anda di halaman 1dari 12

UNIVERSIDAD NACIONAL DE CAJAMARCA

FACULTAD DE INGENIERIA
ESCUELA ACADEMICO PROFESIONAL DE
INGENIERIA DE SISTEMAS

“Estructuras de los Sistemas Operativos”

CURSO :
SISTEMAS OPERATIVOS

DOCENTE :
ING. Sandra Rodríguez Alva

ESTUDIANTE :
Danny Tacilla Cholan

CICLO :
VI

Cajamarca, Mayo 2018


Funciones de los sistemas operativos como administrador

Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso


del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un
administrador de los recursos de hardware del sistema. En una definición informal es
un sistema que consiste en ofrecer una distribución ordenada y controlada de los
procesadores, memorias y dispositivos de E/S entre los diversos programas que
compiten por ellos. Es difícil definir qué es un sistema operativo.
En parte, esto se debe a que los sistemas operativos realizan dos funciones
diferentes:

 Servir de intermediario en la comunicación entre los usuarios y el


hardware de la computadora
Para realizar esta función, el sistema
operativo debe proporcionar a los usuarios
un ambiente de trabajo cómodo, accesible,
eficiente y seguro. El sistema operativo el
que se encarga de manejar el hardware de
la computadora, lo que hace que los
usuarios no requieran de conocimientos de
electrónica para hacer uso de la misma
(abstracción del hardware a los usuarios). Al
utilizarse un sistema operativo es como si
se colocara una capa de software sobre el
hardware, con el objeto de que éste maneje
todas las partes del sistema y presentar al
usuario una interfaz o máquina virtual que
es más fácil de entender y programar.

 Administrar los recursos del sistema

El sistema operativo proporciona un sistema lógico de comunicación y


control (ordenado, seguro, consistente y eficiente) entre los distintos
componentes que integran la computadora: el CPU, la memoria principal,
las unidades de almacenamiento secundario y los dispositivos de
entrada/salida. Además, se encarga de ofrecer una distribución ordenada y
controlada de los recursos de que dispone el sistema entre los distintos
programas que los requieren. Administrando los recursos de la
computadora, el sistema operativo tiene control sobre el funcionamiento
básico de la misma. Con el fin de poder cumplir con las funciones antes
descritas, es necesario que el sistema operativo realice las actividades de
administración de programas, administración de tareas, administración de
dispositivos, administración de usuarios, administración de seguridad, etc.
a. Administración de dispositivos
Como se mencionó anteriormente,
el sistema operativo debe ser
capaz de controlar todos los
componentes del sistema. Por
ejemplo, debe manejar las
entradas y las salidas de los datos
a través de las unidades de
entrada/salida, manteniendo los
detalles del control de los
dispositivos dentro del sistema
operativo, pero al reemplazar o
agregar un nuevo dispositivo, sólo
debe cambiarse en el sistema
operativo la rutina de control
que se encarga de manejar este dispositivo.

b. Administración de los sistemas de almacenamiento

Debe proporcionar un sistema para el manejo de los archivos y las


funciones necesarias para conocer como éstos quedan guardados
en las unidades de almacenamiento secundario. Este sistema de
manejo de archivos realizará todas las tareas que permitan el
almacenamiento y recuperación de datos que sean requeridas por
los usuarios. Los programas de aplicación no saben dónde se
encuentran almacenados los datos o cómo recuperarlos, ya que
estos conocimientos están contenidos en las rutinas de métodos de
acceso del sistema o en los controladores de dispositivos. Cuando
un programa requiere leer datos, le envía una orden al sistema
operativo mediante un código de instrucción, éste busca el dato y lo
entrega al programa. A la inversa, cuando el programa requiere
guardar datos, los mismos son enviados al sistema operativo, quien
es el que se encarga de ubicar espacio libre en el medio de
almacenamiento y procesar su almacenamiento.

c. Administración de trabajos

El sistema operativo
interpreta y responde a los
comandos que ingresa el
usuario, cargando en
memoria principal, si es
necesario, el programa
correspondiente para su
ejecución. En algunos
casos, este proceso
puede requerir la carga
adicional de otros
programas. Los sistemas
operativos no son todos
iguales, algunos tienen
características sobresalientes, tales como la habilidad de ejecutar
más de una tarea a la vez (multitarea), soportar más de un usuario
trabajando al mismo tiempo (multiusuario), proporcionar un sistema
de seguridad que proteja el acceso a los equipos y los datos, etc. En
el caso de los sistemas multiusuario, el sistema operativo debe
decidir si acepta o no ejecutar el programa o trabajo requerido por un
usuario, para lo cual debe verificar si el usuario está registrado y si el
mismo tiene autorización para utilizar este programa.

d. Administración de tareas

En los sistemas monotarea, la administración de tareas es mínima,


ya que para poder ejecutarse una nueva tarea tiene que haber
finalizado la tarea previa. Pero en los sistemas multitarea, el sistema
operativo es el responsable de la operación simultánea de uno o más
programas (tareas), distribuyendo los recursos (CPU, memoria
principal, etc.) entre las distintas tareas y coordinando su
funcionamiento. Los sistemas operativos avanzados poseen la
habilidad de asignar prioridades a las tareas de modo tal que se
pueda cambiar el orden de ejecución de las mismas. El número de
programas que pueden ser efectivamente ejecutados depende de la
cantidad de memoria principal disponible, tipo y velocidad del CPU,
así como también de la eficiencia y capacidades del mismo sistema
operativo. La multitarea se realiza aprovechando las diferencias de
velocidades de trabajo del CPU y de entrada/salida, mientras un
programa está
esperando una entrada,
se pueden ejecutar
instrucciones de otro
programa. Cuando una
computadora ejecuta
simultáneamente varias
tareas, surge la
necesidad de
administrar la asignación
de los diferentes
recursos requeridos por las mismas. El sistema operativo se encarga
de asignar dinámicamente a cada tarea en ejecución los recursos
que ésta requiere para su uso exclusivo durante el tiempo que sea
necesario, siempre que estén disponibles y puedan ser utilizadas por
el usuario a quien pertenece la tarea. Además se encarga de que no
se presenten conflictos en la ejecución de las diferentes tareas.
e. Administración de seguridad

El sistema operativo debe proteger a la computadora del acceso o


utilización por usuarios no autorizados, para lo cual debe proporcionar
un sistema de creación y control de cuentas de usuarios, así como los
mecanismos para el procesamiento de la identificación de los mismos
cuando acceden al equipo. El sistema operativo debe mantener
registro de la actividad
del sistema y llevar la
contabilidad de la
utilización de los
recursos por parte de los
usuarios. También
deben proveer los
procedimientos para el
respaldo de archivos y la
recuperación del
sistema en caso de
presentarse fallos en el
mismo.

Llamadas al sistema
 Los sistemas operativos tienen dos funciones principales: Proveer de
abstracciones a los programas de usuario mediante la máquina virtual multinivel y
administrar los recursos de la computadora. La interacción entre los programas de
usuario y el sistema operativo se relaciona con la primera función a través de
llamadas al sistema. Las llamadas al sistema disponibles entre los programas de
usuario y el sistema operativo varían de un sistema operativo a otro. En el caso de
UNIX, programado en C, encontramos muchas de esas llamadas al sistema en la
librería estándar de C llamada glibc. Esta librería nos proporciona llamadas
directamente podemos usar desde un programa escrito en C. Muchas de las
llamadas al sistema son complejas de utilizar incluso por un programador, por lo
que glibc también hace abstracciones a nivel superior de las propias llamadas al
sistema incluso de conjuntos de ellas para podamos utilizarlas al programar y así
realizar una determinada acción de manera relativamente sencilla. Es el sistema
operativo el que en última instancia lleva a cabo las llamadas al sistema.

 Las llamadas al sistema son necesarias ya que un usuario no puede acceder o


no tiene privilegios directos sobre los recursos que gestiona el sistema operativo y
se pueden utilizar para solicitar al núcleo del sistema el uso de los mismos. Lo que
ocurre cuando se invoca a una llamada del sistema desde un proceso en
ejecución o desde una rutina de interrupción de E/S es lo siguiente:
a) El programador o usuario realiza la llamada al sistema de forma
normal. La llamada junto con los parámetros asociados a la misma
se cargarían en la pila.

b) La llamada al sistema invocada ejecuta una instrucción de


interrupción especial del sistema operativo que se llama trap,
implementada a nivel de lenguaje ensamblador dentro de la propia
llamada, y que conlleva un cambio de modo. Al ejecutarse la
instrucción trap se carga un programa que pasa el sistema operativo
de modo usuario a modo núcleo y se busca el lugar del núcleo donde
está cargada la rutina a ejecutar (normalmente será un conjunto de
instrucciones de máquina cargadas en memoria principal que el
procesador tiene que ejecutar y que al usuario se le prohíbe utilizar
directamente por seguridad. La ejecución de una instrucción trap
lleva consigo la necesidad de salvar el contexto del proceso que
realizó la llamada, pero esto no conlleva un salvado y cambio de
contexto completo como ocurre con las interrupciones. Un cambio de
modo puede ocurrir sin que se cambie el estado del proceso
actualmente en estado “ejecutando”. Si el proceso que está en
ejecución se va a mover a cualquier otro estado (listo, bloqueado,
etc), el sistema operativo debe hacer cambios sustanciales en su
entorno y se lleva a cabo un cambio de contexto completo, al igual
que ocurre con las interrupciones.

c) Supongamos que no es necesario cambiar el estado del


proceso actual. El programa cargado a partir de la instrucción trap,
tras identificar que existe una rutina para la llamada realizada y que
los parámetros son correctos, procede a ejecutarla.

d) Posteriormente el programa trap solicita un código de estado


almacenado en un registro, este registro señala si la llamada tuvo
éxito o no y ejecuta una instrucción de tipo RETURN FROM TRAP (a
nivel de núcleo) para regresar el control a la rutina de la biblioteca
(modo usuario), devolviendo un determinado resultado en el caso de
que se tenga que devolver algo, y el éxito o fracaso de la llamada al
sistema.

e) Cuando finalizan esas acciones, la rutina de biblioteca a nivel


de usuario descarga la pila y comprueba el resultado de la ejecución
de la petición al sistema, se lo devuelve al usuario y se continúa por
la siguiente línea de código del programa.
Estructura de los sistemas operativos

a) Estructura sencilla y/o monolíticos

Consiste en un macroprograma con miles de líneas de código. No hay una


estructura interna exacta entre los módulos del sistema operativo. Emplean
técnicas de programación modular. Además es complejo su mantenimiento
y actualización. Allí todos los elementos que la integran están muy
enlazados. No es posible ninguna clase de misterio o secretos en la
información. Su comportamiento es de un solo proceso. Disponen de una
buena capacidad y funcionamiento hardware.

i. Características

 Construcción de programa final a base de módulos


compilados separadamente que se une a través del editor de
enlaces.
 Buena definición de parámetros de enlace entre las rutinas
existentes.
 Carecen de protección y privilegios al entrar y manejan
diferentes aspectos de la computadora.
 Generalmente están hechos a la medida
 Por ejemplo los cajeros automáticos donde sólo tienen que
cumplir una determinada función siguiendo una serie de
procesos ya determinados.

ii. Ejemplos

 Núcleos tipo Unix


 Linux
 Syllable
 Unix
 BSD (FreeBSD,NetBSD,OpenBSD)
 Solaris
 Núcleos tipo DOS
 DR-DOS
 MS-DOS
 Familia Microsoft Windows 9x (95, 98, 98SE, Me)
 Núcleos del Mac OS hasta Mac OS 8.6
 OpenVMS
 XTS-400

b) Estructura por capas o niveles

En ella se ordena el sistema operativo como una jerarquía de estratos o


capas. Cada capa se integra empleando únicamente aquellas acciones que
le brindan el nivel instantáneamente inferior. Se utilizan métodos modulares
y de diseño top-down. La limpieza y comprobación del sistema es mucho
más simple. La mayor complicación está en establecer las capas. Los
procedimientos al tener que pasar por varias capas, resultan menos
eficientes u óptimos.

Estos sistemas tienen como ventaja que son modulares y la verificación se


puede hacer a cada capa por separado (son más mantenibles). Sin
embargo el diseño es muy costoso y es menos eficiente que el sistema
monolítico ya que pierde tiempo pasando por cada capa.

c) Estructura máquina virtual

Se trata de un SO que presenta una interfaces cada proceso, mostrando


una máquina que parece idéntica a la máquina real subyacente. Estos SO
separan dos conceptos: Multiprogramación y La Máquina Extendida Su
objetivo es distinguir distintos SO dando la sensación de ser varias
máquinas. Tiene capacidad de utilizar varios SO simultáneamente.
i. Características

 Se puede hacer varios sistemas operativos sin necesidad de


crear particiones.
 Se puede simular el hardware
 Gran capacidad de disco duro-memoria RAM
 Protección cada máquina virtual está aislada de las otras y
no puede inferir.
ii. Ejemplos

 Nachos: sistema operativo se ejecuta en una virtual mips,


cuyo emulador corre sobre Linux.

 IBM IV: ofrecía a cada usuario su propia máquina virtual no


multiprogramado.

d) Estructura cliente - servidor

Es el tipo más reciente de los SO, que pueden ser ejecutados en la mayoría
de las computadoras, ya sean grandes o pequeñas. Este sistema sirve para
todo, por lo tanto es de propósito general y se basa en lo mismo que el
resto de los SO convencionales: núcleo y procesos, presentando grandes
diferencias en cuanto a la forma de distribuir los trabajos entre sus
diferentes partes.

i. Características

 Coordina, permite el trabajo entre iguales.


Cliente; inicia las solicitudes o peticiones (maestro)
Espera y recibe respuesta del servidor
Se puede conectar a varios servidores a la vez.

 Servidor:
Esclavo, espera las solicitudes del cliente
Aceptan conexiones desde un gran número de clientes.
ii. Ejemplos

 Sistema operativo Novell NetWare 1983, plataforma más


fiable para ofrecer acceso seguro.
 Windows 2000
 Cualquiera de este puede compartir sus recursos con otro
Windows 2000
 Windows XP

e) Estructura Microkernel

Esta estructura tiene en particular que las funciones centrales son


controladas por un núcleo que es llamado kernel quien interactúa
directamente con el hardware y la interfaz del usuario es controlada por el
llamado entorno shell.

El microkernel implementa servicios átomicos, a los que nos referimos


como mecanismos. Estos mecanismos sirven como base fundamental para
funcionalidades más complejas, llamadas políticas. La comunicación en el
sistema es por medio de mensajes a diferencia del resto de sistemas
operativos que trabajan por medio de llamadas a sistema.

La arquitectura de microkernel es complejo, sofisticado pero más centrado


en su quehacer para el SO, toda accion pasa por el microkernel, lo cual
hace a un SO más seguro que uno SO con arquitectura kernel monolitico,
ya que si el que solicita hacer la acción no posee los permisos necesarios
el microkernel no lo deja hacer nada.

i. Tareas

 Manipulación de las interrupciones en el sistema desde


dispositivos físicos.
 Manipula excepciones del procesador.
 Proporciona soporte para la recuperación de un sistema con
alguna falla de caída de energía.
ii. Ventajas
 Portabilidad, si se aplica una adecuada implementacion.
 Concurrencia y colaboracion entre procesos, dada por el
diseño.
 Flexibilidad en el patron de diseño.
 Minimiza lo que contiene el kernel
 Confiabilidad, ya que organiza procesos indiferentes al S.O.
como procesos de nivel usuario. Seguridad, Aisla los
servicios del sistema ante el usuario.
 Extensibilidad: se pueden agregar funciones en modo
usuario.
 Reduce la complejidad (Simplicidad) escentralizacion de los
fallos.
iii. Desventajas

 Performance: bajo rendimiento, debido que la comunicación


es a través de mensajes que no es eficiente como son las
llamadas al sistema.
 Bajo desempeño debido a las llamadas primitivas al sistema
 Complejidad en la sincronización modular.

f) Estructura Jerárquica

Consiste en organizar el sistema operativo con una jerarquía de capas cada


una construida sobre la que está bajo ella.

i. Características

 Las zonas más intensas o núcleo están más protegidas de


posibles accesos indeseados desde las capas más externas.
 Tienes un contacto más próximo con el hardware
 Núcleo mínimo, más seguro y ágil.
En esta estructura se basan prácticamente la mayoría de los
SO actuales. Otra forma de ver este tipo de sistema es la
denominación de anillos concéntricos o “RINGS”

ii. Ejemplo

 Multics
 Unix

Bibliografía:

https://lcsistemasoperativos.wordpress.com/2015/02/01/01-03-funciones-de-un-
sistema-operativo/
https://prezi.com/4et-hcyzeuos/funciones-y-recursos-que-administra-el-sistema-
operativo/
https://www.thebitdeveloper.com/2015/07/20/sistemas-operativos-llamadas-al-
sistema/
https://www.loyvan.com/informatica/cuales-son-las-estructuras-de-un-sistema-
operativo/
http://eq2-sistemasoperativos.blogspot.pe/2012/04/15-estructuras-sistemas-
operativos.html
http://rosariopul.blogspot.pe/
http://joalsa.blogspot.pe/p/llamadas-al-sistema.html
https://sopf1uip.wordpress.com/estructuras-de-sistemas-operativos/

Anda mungkin juga menyukai