You are on page 1of 14

2.

1 ESTRUCTURA DE UN SISTEMA OPERATIVO

CONCEPTO DE SISTEMA OPERATIVO

Conjunto de programas que se integran con el hardware para facilitar al usuario, el


aprovechamiento de los recursos disponibles. Algunos de sus objetivos principales
son:

o Provee de un ambiente conveniente de trabajo.


o Hace uso eficiente del Hardware.
o Provee de una adecuada distribución de los recursos.

Para un Sistema Operativo real deberá satisfacer las siguientes funciones:

o Gobierna el Sistema.
o Asigna los recursos.
o Administra y controlar la ejecución de los programas.

Un sistema de computo en muchos casos cuenta con demasiados recursos


para ser utilizados por un solo usuario, es en estos casos cuando se puede
dar servicio a varios procesos.

Sistema Operativo

Llamadas al Sistema

El Sistema Operativo en conjunto con el Hardware aparecen al usuario como un


solo dispositivo con un conjunto de instrucciones más flexibles y variadas a las
que se conoce como Llamadas al Sistema (System Callings).

Intérprete de Comandos

También conocido por su nombre en inglés, Shell, es un programa que interpreta


las órdenes del usuario y las convierte en Llamadas al Sistema.

1
Núcleo (o Kernel)

Es la parte del Sistema Operativo que se encarga de sincronizar la activación de


los procesos y definir prioridades.

Programas del Sistema

Son programas de servicio que debe ser solicitados explícitamente por los
usuarios. Como ejemplos de estos tenemos:

1. Compiladores
Son programas que traducen Programas Fuente en programas Objeto.
2. Ensambladores
Traducen programas escritos con mnemónicos a lenguaje de
máquina.
3. Editores
Son programas que permiten escribir textos y guardarlos en memoria
secundaria.
4. Utilerías de Archivos
Programas para dar mantenimiento a los archivos.
5. Bibliotecas
Programas que contienen rutinas para realizar funciones
frecuentemente requeridas. Estas funciones pueden ser ligadas a los
programas escritos por el usuario.

Programas de Aplicación

Programas externos al sistema, utilizados para realizar tareas específicas como


simulación, creación y edición de gráficas e imágenes, etc..

Sistema Operativo

Es el programa o programas que tienen todas las computadoras modernas, el


usuario de un equipo de computo no tiene que preocuparse de como funciona, por
ejemplo, una unidad lectora de disco, sólo necesita pedirle al sistema operativo
que lo lea o escriba en el disco mediante un comando. El más comúnmente usado
es el MS-DOS.

Conjunto de programas que sirven como interfaz entre el usuario (Sirve como
agente de intercambio de información entre la computadora y el usuario.) y la
2
computadora, además de que administran los recursos de la misma
(Entendiéndose como recursos: Memoria, Disco Duro, Procesador, Monitor, Etc.).

TIPOS DE SISTEMAS OPERATIVOS

Existen dos tipos generales de sistemas operativos: Los basados en caracteres y


los de interfaz gráfica (ambientes amigables). El sistema basado en caracteres es
ejemplificado perfectamente con el sistema operativo utilizado por las
computadoras IBM y compatibles. El MS-DOS está listo para recibir un comando
desplegando el tipo de indicador (A> o C>) en la pantalla; en donde el usuario
escribe carácter por carácter el comando que se desea ejecutar.

Ante las justificadas quejas de los usuarios por la falta de programas amigables,
los desarrolladores de software respondieron añadiendo menús y mensajes en
pantalla. Los menús mejoran en mucho la cordialidad de los programas,
reduciendo el número de comandos que se necesitan conocer.

La Macintosh logró crear la primera interfaz gráfica, posteriormente Microsoft


introdujo la interfaz gráfica Windows para las computadoras IBM y compatibles.

Cada programa en Windows tiene reservada un área de la pantalla conocida con


el nombre de ventana.

Un sistema operativo que se opera mediante el uso de imágenes y símbolos en


vez de palabras se denomina interfaz gráfica para el usuario, o GUI (Graphic User
Interface).

ESTRUCTURA BASICA DE UN SISTEMA OPERATIVO

A) CARGADOR

Cualquier programa que requiere ser ejecutado en la computadora, deberá ser


transferido desde su lugar de residencia a la memoria principal.

B) CARGADOR PARA EL SISTEMA OPERATIVO

Este programa se encarga de transferir desde algún medio de almacenamiento


externo (disco, cinta o tambor) a la memoria principal, los programas del sistema
3
operativo que tienen como finalidad establecer el ambiente de trabajo del equipo
de cómputo. Existe un programa especial almacenado en memoria ROM que se
encarga de accesar a este programa cargador. Cuando el sistema operativo esta
cargado en memoria toma el control absoluto de las operaciones del sistema.

C) CARGADOR INCLUIDO EN EL SISTEMA OPERATIVO

Su función es cargar a memoria todos los archivos necesarios para la ejecución de


un proceso.

SUPERVISOR (EJECUTIVO O MONITOR)

Es el administrador del sistema que controla todo el proceso de la información por


medio de un gran número de rutinas que entran en acción cuando son requeridos.
Funge como enlace entre los programas del usuario y todas las rutinas que
controlan los recursos requeridos por el programa para posteriormente continuar
con su ejecución.

El supervisor también realiza otras funciones como son:

- Administra la memoria.

- Administración de las rutinas que controlan el funcionamiento de los recursos de


la computadora.

- Manejo de Archivos

- Administración y control de la ejecución de los programas.

LENGUAJE DE COMUNICACION

Es el medio a través del cual el usuario interactúa directamente con el sistema


operativo y esta formado por comandos que son introducidos a través de algún
dispositivo. Generalmente un comando consta de dos partes, la primera formada
por una palabra que identifica el comando y la acción a realizar y la segunda parte
por un conjunto de valores o parámetros que permiten seleccionar diversas
operaciones de entre los que dispone el comando.

UTILERIA DE SISTEMA

4
Son programas o rutinas del sistema operativo que realizan diversas funciones de
uso común o aplicación frecuente como son: clasificar, copiar e imprimir
información.

FUNCIONES BASICAS DE UN SISTEMA OPERATIVO

PROGRAMAS DE CONTROL

ADMINISTRACION DE TRABAJOS

Cuando existen varios programas en espera de ser procesados, el sistema


operativo debe decidir el orden de procesamiento de ellos, así como asignar los
recursos necesarios para su proceso.

ADMINISTRACION DE RECURSOS

Mediante está función el sistema operativo esta en capacidad de distribuir en


forma adecuada y en el momento oportuno los diferentes recursos (memoria,
dispositivos, etc.,...) entre los diversos programas que se encuentran en proceso,
para esto, lleva un registro que le permite conocer que recursos están disponibles
y cuales están siendo utilizados, por cuanto tiempo y por quien, etc.

CONTROL DE OPERACIONES DE ENTRADA Y SALIDA

Mediante esta actividad el sistema operativo decide que proceso hará uso del
recurso, durante cuánto tiempo y en que momento.

ADMINISTRACION DE LA MEMORIA

Supervisa que áreas de memoria están en uso y cual están libre, determina cuanta
memoria asignará a un proceso y en que momento, además libera la memoria
cuando ya no es requerida para el proceso.

RECUPERACION DE ERRORES

5
El sistema operativo contiene rutinas que intentan evitar perder el control de una
tarea cuando se suscitan errores en la trasferencia de información hacia y desde
los dispositivos de entrada / salida.

PROGRAMAS DE PROCESO

El sistema operativo contiene programas de servicios que sirven de apoyo al


procesamiento de los trabajos, se conocen también como utilerías y se pueden
clasificar en tres tipos:

A) UTILERIAS DEL SISTEMA

Se ejecutan bajo el control del sistema operativo y se utilizan para preparar


algunos recursos usados por el sistema. Son de uso interno.

B) UTILERIAS PARA ARCHIVOS

Manejan información de los archivos tales como imprimir, clasificar, copiar, etc.

C) UTILERIAS INDEPENDIENTES

Realizar funciones que se relacionan con la iniciación de dispositivos de


Entrada/Salida, carga del sistema operativo, etc.

TIPOS DE SISTEMA OPERATIVO

El sistema operativo como controlador y supervisor de todas las actividades que


realiza la computadora tiene características que le permiten soportar técnicas
avanzadas de procesamiento de datos como:

- La utilización de Lenguaje de Alto Nivel.

- Tiempo Compartido.

- Multiprogramación.

- Memoria Virtual.

6
CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS SEGÚN SU
ESTRUCTURA:

• Sistemas operativos monolíticos

• Sistemas operativos por Microkernel

• Sistemas operativos por servidor:

- Sistemas por capas.

- Modelo cliente-servidor.

ESTRUCTURA MODULAR

Sistemas operativos monolíticos o de estructura modular. Su característica


principal consiste en que carece de estructura ya que el sistema operativo se
escribe como una colección de procedimientos, los cuales pueden llamar a otros
cada vez que así se requiera. Cuando se usa esta técnica, cada procedimiento del
sistema tiene una interfaz bien definida en términos de parámetros y resultados y
cada uno de ellos es libre de llamar a cualquier otro, si este ultimo proporciona
cierto cálculo útil para el primero. Sin embargo incluso en este tipo de sistemas es
posible tener al menos algo de estructura.

Los servicios (llamadas al sistema) que proporciona el sistema operativo se


solicitan colocando los parámetros en lugares bien definidos, como en los registros
o en la pila, para después ejecutar una instrucción especial de trampa de nombre
"llamada al núcleo" o "llamada al supervisor". Esta llamada consta de los
siguientes pasos: 1. -el programa del usuario es atraído hacia el núcleo. 2. -el
sistema operativo determina él numera del servicio solicitado 3. -el sistema
operativo localiza y llama al proceso correspondiente al servicio 4. - el control
regresa al programa del usuario.

De esta organización surge una organización básica del sistema operativo:


1.- un programa principal que llama al procedimiento del servicio solicitado.
7
2.- un conjunto de procedimientos de servicio que llevan a cabo las llamadas al
sistema.
3.- un conjunto de procedimientos utilitarios que ayudan al procedimiento de
servicio.

Programa 2 del usuario

Los programas del


usuario se
Programa 1 del usuario ejecutan en modo
usuario

Llamada al núcleo
Principal

Memoria
4

1 El sistema
Procedimiento
3 operativo
de servicio
Se ejecuta en
modo
2
Tabla de núcleo
despacho

8
Procedimiento
principal

Procedimientos
de servicio

Procedimientos
utilitarios

ESTRUCTURA POR MICROKERNEL

En este tipo de estructura, las funciones centrales son controladas por un


núcleo que es llamado kernel y la interfaz del usuario es controlada por el llamado
entorno shell. Para ver todo esto mucho más claro, pondremos un ejemplo. En el
sistema operativo DOS, su parte más importante es un programa llamado
COMMAND.COM el cual se descompone en dos partes: El kernel, que se
mantiene en memoria en todo momento, contiene el código máquina de bajo nivel
para manejar la administración de hardware para otros programas que necesitan
9
estos servicios, y para la segunda parte del COMMAND.COM el shell, el cual es el
interprete de comandos.

Existen muchos shells diferentes en el mercado, ejemplo: NDOS (Norton


DOS), XTG, PCTOOLS, o inclusive el mismo SO MS-DOS a partir de la versión
5.0 incluyó un Shell llamado DOS SHELL.

ESTRUCTURA POR CAPAS

También llamado estructura por anillos concéntricos. Esta estructura


consiste en organizar el sistema operativo como una jerarquía de capas, las
cuales están construidas sobre la inmediata inferior. El primer sistema construido
de esta manera fue el sistema THE (Technische Hogeschool Eindhoven),
desarrollado en Holanda por E. W. Dijkstra (1968) y sus estudiantes. El sistema
tenía 6 capas:

• La capa 0 trabaja con la asignación del procesador y alterna entre los procesos
cuando ocurren las interrupciones o expiran los cronómetros. Sobre la capa 0, el
sistema consta de procesos secuénciales, cada uno de los cuales se podría

10
programar sin importar que varios procesos estuvieran ejecutándose en el mismo
procesador, la capa 0 proporcionaba la multiprogramación básica de la CPU.

• La capa 1 realizaba la administración de la memoria. Asignaba el espacio de


memoria principal para los procesos y un recipiente de palabras de 512K se
utilizaba para almacenar partes de los procesos (páginas) para las que no existía
lugar en la memoria principal. Por encima de la capa 1, los procesos no debían
preocuparse si estaban en la memoria o en el recipiente; el software de la capa 1
se encargaba de garantizar que las páginas llegaran a la memoria cuando fueran
necesarias.

• La capa 2 se encargaba de la comunicación entre cada proceso y la consola del


operador. Por encima de esta capa, cada proceso tiene su propia consola de
operador.

• La capa 3 controla los dispositivos de E/S y guarda en almacenes (buffers) los


flujos de información entre ellos. Por encima de la capa 3, cada proceso puede
trabajar con dispositivos exactos de E/S con propiedades adecuadas, en vez de
dispositivos reales con muchas peculiaridades.

• La capa 4 es donde estaban los programas del usuario, estos no tenían que
preocuparse por el proceso, memoria, consola o control de E/S.

• La capa 5 es donde se localiza el proceso operador del sistema.

Una generalización mas avanzada del concepto de capas se presento en el


sistema MULTICS. En lugar de capas, MULTICS estaba organizado como una
serie de anillos concéntricos, siendo los anillos interiores los privilegiados. Cuando
un procedimiento de un anillo exterior deseaba llamar a un procedimiento de un
anillo interior, debió hacer el equivalente a una llamada al sistema
Mientras que el esquema de capas de THE era en realidad un apoyo al diseño,
debido a que todas las partes del sistema estaban ligadas entre si en un solo
programa objeto, en MULTICS, el mecanismo de anillos estaba mas presente
durante el tiempo de ejecución y era reforzado por el hardware. La ventaja del
mecanismo de anillos es su facilidad de extensión para estructurar subsistemas
del usuario.

ESTRUCTURA CLIENTE-SERVIDOR

11
Una tendencia de los sistemas operativos modernos es la de explotar la
idea de mover el código a capas superiores y eliminar la mayor parte posible del
sistema operativo para mantener un núcleo mínimo. El punto de vista usual es el
de implantar la mayoría de las funciones del sistema operativo en los procesos del
usuario. Para solicitar un servicio, como la lectura de un bloque de cierto archivo,
un proceso del usuario (denominado proceso cliente) envía la solicitud a un
proceso servidor, que realiza entonces el trabajo y regresa la respuesta. En este
modelo, que se muestra en la figura 4, lo único que hace el núcleo es controlar la
comunicación entre los clientes y los servidores. Al separar el sistema operativo en
partes, cada una de ellas controla una faceta del sistema, como el servicio a
archivos, servicios a procesos, servicio a terminales o servicio a la memoria, cada
parte es pequeña y controlable. Además como todos los servidores se ejecutan
como procesos en modo usuario y no en modo núcleo, no tienen acceso directo al
hardware. En consecuencia si hay un error en el servidor de archivos, éste puede
fallar, pero esto no afectará en general a toda la máquina.

•Ventajas: - Flexibilidad. Cada proceso servidor se encarga de una función,


siendo cada parte más pequeña y flexible y facilita el desarrollo y la depuración de
cada proceso servidor.

• Desventajas: -Mayor sobrecarga al manejar servicios de los sistemas


operativos monolíticos, la razón es que los componentes están en espacios de
memoria distintas por lo que su activación requiere mayor tiempo.

• Ejemplos:

Minix, Mach y Amoeba.

WindowsNT tiene este diseño pero algunos de sus servidores (el de


administración de procesos, de E/S, de memoria) se ejecutan en modo núcleo por
razones de eficiencia.

12
Servid
Proces
or Servido Modo usuario
o Proceso Servidor Servidor
r de
de la ... de la
Del archivo
Client Cliente terminal memoria
proces s
e
o
Modo núcleo

Núcleo

Los clientes obtienen el


servicio al enviar mensajes a
los procesos servidores

Estructura Básica

De la misma manera que el Unix, el Linux se puede dividir generalmente en cuatro


componentes principales: el núcleo(kernel), el shell, el sistema de archivos y las
utilidades. El núcleo es el programa medular que ejecuta programas y gestiona
dispositivos de hardware tales como los discos y las impresoras. El shell
proporciona una interfaz para el usuario. Recibe órdenes del usuario y las envía al
núcleo para ser ejecutadas. El sistema de archivos, organiza la forma en que se
almacenan los archivos en dispositivos de almacenamiento tales como los discos.
Los archivos están organizados en directorios. Cada directorio puede contener un
número cualquiera de subdirectorios, cada uno de los cuales puede a su vez,
contener otros archivos.

El núcleo, el shell y el sistema de archivos forman en conjunto la estructura básica


del sistema operativo. Con estos tres elementos puede ejecutar programas,
gestionar archivos e interactuar con el sistema. Además, Linux cuenta con unos
programas de software llamados utilidades que han pasado a ser considerados
como características estándar del sistema. Las utilidades son programas
especializados, tales como editores, compiladores y programas de
comunicaciones, que realizan operaciones de computación estándar. Incluso uno
mismo puede crear sus propias utilidades

Linux contiene un gran número de utilidades. Algunas efectúan operaciones


sencillas: otras son programas complejos con sus propios juegos de órdenes. Para
empezar, muchas utilidades de pueden clasificar en tres amplias categorías:
editores, filtros y programas de comunicaciones. También hay utilidades que
efectúan operaciones con archivos y administración de programas.
13
Como una alternativa a la interfaz de la línea de ordenes, Linux proporciona una
interfaz gráfica de usuario (GUI) llamada X-Windows que cuenta con varios
administradores de ventana que puede utilizar. Un administrador de ventana
trabaja de forma muy parecida a los GUI de Windows y del Mac, posee ventanas
iconos y menús, todos ellos gestionados por medio del ratón. Dos de los
administradores de programas más populares son el Free Virtual Window
Manager y el Open Look Window Managger, además de los administradores de
ventanas X-Windows también utiliza un administrador de archivos y uno de
programas.

El sistema de archivos de Linux organiza los archivos en directorios, de forma


similar al DOS. Todo el sistema de archivos de Linux es un gran conjunto
interconectado de directorios que están organizado en una estructura jerárquica
de árbol.

Linux posee un gran número de utilidades que se pueden clasificar en tres


categorías: editores, filtros y programas de comunicaciones. Y a diferencia de
otros sistemas operativos se distribuye de forma gratuita bajo una licencia publica
de GNU de la Free Software Foundation (Fundación de programas libres) lo que
básicamente significa que puede ser copiado libremente, cambiado y distribuido
dejando siempre disponible el código fuente.

El software de Linux es frecuentemente desarrollado por varios usuarios que


deciden trabajar conjuntamente en un proyecto. Una vez que se ha completado se
instala en una localización ftp de Internet. Cualquier usuario de Linux puede
acceder a la localización y descargar el software.

14