Professional Documents
Culture Documents
Sistemas Operativos
1. Concepto de Sistema.
La Teoría de Sistemas es una herramienta de Investigación Científica que se utiliza en todas las disciplinas del
conocimiento. Es importante destacar que nació como una herramienta de la Biología.
Resumiendo podemos definir como sistema: al conjunto de entidades, que tienen una estructura relacional
entre ellas, y que agrupamos en un conjunto con el fin de estudiar el objetivo que tienen su comportamiento
para cumplir con ese objetivo.
1
Los llamaremos ATRIBUTOS ó VARIABLES DE ESTADO.
Capítulo 1 1 de 12
Sistemas Operativos. Introducción a los Sistemas Operativos
El objetivo de un SPD es procesar datos para presentarlos de un modo distinto al que fueron adquiridos.
Por ejemplo:
• ordenados de otra forma,
• con nuevos valores calculados,
• con resúmenes ó índices,
Se busca que, al final del procesamiento, los datos se muestren en forma informativa para el usuario.
Que los datos se muestren en forma informativa, significa que en la forma que están presentados son
información para el usuario al que están dirigidos.
La información es un concepto subjetivo, ya que depende de la experiencia que tiene el usuario en el tema
sobre el que toma decisiones, y en el entendimiento de los datos que lee, ya que estos no tienen el mismo
significado para todos los usuarios.
Para cumplir con su objetivo, un SPD deberá ejecutar las tareas que se encuentren
expresadas en un programa. Por lo tanto, el objetivo principal del SPD será también
ejecutar programas.
Podemos describir el SPD describiendo los elementos que lo componen, las relaciones entre ellos, y el
comportamiento del conjunto.
° Los Elementos, son los componentes que se pueden describir por niveles de detalle, como lo hacemos en el
siguiente gráfico:
* NOTA: los niveles 3ro. y 4to. Están reducidos a un solo caso cada uno.
2 de 12 Capítulo 1
Introducción a los Sistemas Operativos. Sistemas Operativos
° Las Relaciones entre los Elementos, se establecen a través de distintos atributos y mecanismos,
establecidas por conexiones físicas (buses), y lógicas (variables, rutinas, parámetros, etc.).
° El Límite con el Resto del Universo, el Entorno y la Frontera, se describen definiendo las pertenencias de
los elementos, físicos y lógicos, al sistema y al entorno. La pertenencia de los componentes al sistema o al
entorno, depende del tipo de estudio que estemos haciendo, hace treinta años a los dispositivos de Entrada
Salida se los llamaba periféricos por que se los consideraba parte del entorno.
° El Comportamiento se describe midiendo los valores de las variables de estado, en el estado actual, y
compararlos con los valores que tenemos registrados de un estado anterior, llamado inicial y del pretendido
final llamado objetivo.
3.1.1. Procesador
Es el dispositivo encargado de realizar las transformaciones en los datos.
Básicamente puede realizar:
cálculos
aritméticos,
lógicos;
copias datos de un registro a otro,
la interpretación de las instrucciones que tiene almacenadas,
la copia de datos desde y hacia la memoria, y
el intercambio de datos con otros dispositivos, usando sus registros.
Instrucciones
del programa
Según cual de sus registros sea el que ocupa, los datos son tratados como tres tipos distintos:
• instrucciones, {IR},
• datos (valores de variables), {AC},
• direcciones, {PC, SP}.
Para comprender mejor el trabajo del procesador dividimos sus registros en dos categorías:
• Registros de Uso General (RUG).
• Registros de Uso Específico (RUE).
3.1.2. Memoria
La capacidad de almacenamiento del procesador es muy pequeña, para mejorar esa característica se utiliza
este dispositivo que es gestionado por el procesador y con el que tiene un voluminoso intercambio de datos.
El procesador gestiona la memoria diferenciando los tres tipos de datos de su propia gestión:
• instrucciones,
• datos (valores de variables),
• direcciones.
El RUE PC (Program Counter) del procesador apunta a la dirección de memoria donde se encuentra la próxima
instrucción a copiarse en el RUE IR (Instruction Register). En este registro será decodificada y se realizarán
todos los cálculos, o copias, que esta instrucción indique.
Las instrucciones suelen incluir direcciones de memoria hacia y desde las cuales se deben realizar copias de
datos con los RUG, o los RUE.
copia
Procesador Memoria
copia
Capítulo 1 3 de 12
Sistemas Operativos. Introducción a los Sistemas Operativos
3.1.3. Bus
El procesador se comunica con la memoria y con los otros dispositivos (periféricos) por medio del bus. Que es
un conjunto de cables paralelos, que desde el punto de vista funcional se pueden dividir en tres subconjuntos
básicos:
• Bus de Datos. Es el encargado de copiar los datos del origen a los destinos.
• Bus de Direcciones. Para que pueda determinarse el dispositivo al que se envía el dato, el bus
implementa en concepto de dirección, que identifica a cada dispositivo asociado al bus.
• Bus de Control. Sostiene aquellas señales que son permiten el funcionamiento del bus como conjunto.
Para los fines de este texto nos interesan sólo dos de estas señales:
• Ocupado (Busy) que indica que el bus está siendo usado en una comunicación.
• Listo (Ready) indica que los dispositivos deben “leer” al bus.
Cuando un dispositivo quiere comunicarse con otro:
comprueba la señal de Ocupado
si está en Verdadero (True), espera,
si está en Falso (False),
configura la señal de Ocupado con Verdadero,
carga en el bus de direcciones la dirección del destino,
carga en el bus de datos, el dato,
configura la señal Listo en Verdadero
Al detectar el cambio de configuración de Falso a Verdadero de la señal Listo, todos los dispositivos copiarán
el contenido del bus de datos:
• los que coincidan con la dirección, en un registro buffer.
• los que no coincidan con la dirección, en un registro nulo.
La lógica física que gestiona al bus mantiene la configuración durante un muy pequeño intervalo de tiempo,
luego reconfigura todas las líneas del bus a Falso.
3.1.4. Periféricos.
Son los dispositivos que permiten comunicarse al centro de procesamiento (Procesador, Bus y Memoria), con el
mundo exterior. Estos dispositivos pueden ser de:
• Entrada/Salida o
• Almacenamiento Secundario.
4 de 12 Capítulo 1
Introducción a los Sistemas Operativos. Sistemas Operativos
Los computadores de uso general se comportan de acuerdo con lo que indique el programa que está corriendo.
A los programas que definen el comportamiento último del computador, el que interactúa con el usuario son a
los que llamamos aplicaciones, pero estos programas serían muy complejos y caros si no contaran con la ayuda
de otros programas, que son menos visibles para el usuario común. Estos otros programas los podemos agrupar
en dos categorías, el Sistema Operativo y los Utilitarios.
USUARIO
APLICACIONES
NUCLEO
HARDWARE
INTERFAZ
UTILITARIOS
DEL USUARIO
4.1.1. Aplicaciones.
Son programas que tienen una tarea específica para hacer, sobre estructuras de datos también específicas,
relacionadas con la tarea.
Por ejemplo: Un programa que liquida sueldos trabaja con estructuras de datos referidas al personal y a la
contabilidad, pero no con datos de insumos de producción, ni de cuentas a cobrar o pagar.
4.1.2. Utilitarios.
Son programas que tienen una tarea específica para hacer, sobre cualquier estructura de datos, inespecíficas,
no relacionadas con la tarea.
Por ejemplo: Un programa que copia archivos, puede copiar tanto datos referidas al personal, a la contabilidad,
datos de insumos de producción, o de cuentas a cobrar o pagar, así como los archivos de los
programas aplicaciones que los procesan.
Un Sistema Operativo es un conjunto de piezas de software, programas, rutinas, tablas, punteros, etc. que
actúa como intermediario entre el usuario y el hardware con el propósito de proporcionar un entorno en el que
se puedan ejecutar programas, o sea:
Todos los Sistemas Operativos, sean mono ó multiprogramables, deben ofrecer un servicio de
ejecución de programas, ya que éste, es el servicio básico de todos los sistemas de computación.
Es tarea del Sistema Operativo hacer que el sistema de computación se use cómodamente, aprovechando al
máximo cada recurso del hardware.
Podemos ver al Sistema Operativo como el conjunto de programas que gobierna los recursos del sistema de
computación, (hardware, software, datos),
Capítulo 1 5 de 12
Sistemas Operativos. Introducción a los Sistemas Operativos
5.1.2. Comandos2.
Las órdenes que el usuario hace ejecutar al SPD son realizadas por éste ejecutando comandos, utilitarios y
aplicaciones. Cuando ejecuta un comando, por ejemplo passwd se ejecuta el siguiente procedimiento:
• Localizar un archivo ejecutable que se llame passwd.
• Carga el archivo en memoria, se inicializan las variables.
• Se asignan los recursos de entrada y salida.
• Se inicia la ejecución del programa, se lo ejecuta.
• Se exhiben los resultados.
5.1.4. Núcleo.
Es la parte del SO que interactúa directamente con el hardware. El procesador tiene al menos dos modos de
trabajo: modo núcleo (o protegido) y modo usuario.
El modo usuario es un modo de operación reducido que puede ejecutar sólo un subconjunto de instrucciones
que trabajan con algunos de los registros del procesador y las direcciones de la memoria que tiene asignado el
trabajo que se ejecuta, en este modo no se puede acceder a los periféricos, ni a direcciones de memoria no
asignadas al trabajo, ni a los registros de uso específico del procesador.
En el modo núcleo no existe ningún tipo de limitación en el uso de los recursos. Pero este modo es accesible
sólo por el núcleo del SO.
2
Los autores del tema los llaman utilitarios, utilidades, herramientas, órdenes, facilidades, servicios, etc.
6 de 12 Capítulo 1
Introducción a los Sistemas Operativos. Sistemas Operativos
Las aplicaciones y los comandos hacen uso de los recursos del SPD llamando rutinas del núcleo que trabajan en
modo protegido, y no en forma directa. Estas rutinas de entrada a los servicios del SO se llaman Llamadas al
Sistema (System Calls). Estas Llamadas al Sistema realizan su tarea llamando a otras rutinas internas del
núcleo que son inaccesibles para aplicaciones y comandos que se encargan de preparar los datos para terminar
accediendo a los dispositivos físicos por medio de los manejadores de dispositivos (device drivers).
6.1.1. De Caracteres
Cada SO tiene varios programas que cumplen esta función. Se los llama shell en UNIX y en DOS el más común
es el command.com. Los intérpretes de comandos de UNIX más conocidos son la Bourne shell, (by Stephen
Bourne), la csh desarrollada por el Departamento de Sistemas de la Universidad de California en Berkeley, (by
Bill Joy), la ksh (korn shell, by David Korn), bash (Bourne Against Shell), etc. El administrador del sistema
determina que intérprete de comandos le asigna a cada usuario, los usuarios avanzados pueden seleccionar con
que intérprete de comandos trabajar.
6.1.2. Gráfica
Las interfaces gráficas o GUI (Graphical User Interface), son conjuntos de piezas de software mas complejos
que los intérpretes de comandos, incluyen programas, estructuras de datos, estructuras de punteros, datos
gráficos, y otros elementos. El más difundido es el Windows de PC, que es una versión reducida del X-Windows
de UNIX, que es una base de desarrollo que tiene una norma, Motif, y un gran número de implementaciones
VUE, CDE, KDE, etc. Las Interfaces Gráficas han evolucionado y se convirtieron en una herramienta tan
importante que, a las computadoras usadas para ejecutarlas, ya no se las llama estaciones de trabajo sino
servidores de interfaces gráficas.
7. Sistema de Archivos.
El SO es responsable de conservar, en soportes no volátiles, los datos que permanecen en el Sistema cuando
terminan de ejecutarse los programas, para lograrlo implementa sobre esos soportes estructuras de datos que
se adaptan a las características físicas del soporte y modelos que se usan desde hace mucho tiempo. Estas
estructuras incluyen a los componentes de sistema de archivos, archivos y directorios, así como datos que
requiere la implementación del modelo para facilitar su uso.
Capítulo 1 7 de 12
Sistemas Operativos. Introducción a los Sistemas Operativos
directorio
subdirectorio
Al relacionarse de esta forma, los directorios pueden tener solo un antecedente, y ninguno, uno, o varios
descendientes, a esta estructura se la llama árbol en el estudio de gráfos. Sólo hay un directorio que no tiene
antecedente, él es el antecedente mayor de todos los directorios, y se lo llama raíz.
8. Comandos.
El usuario actúa sobre el SPD por intermedio de la Interfaz con el Usuario, ejecutando comandos, utilitarios y
aplicaciones, con los cuales puede interactuar.
La interfaz con el usuario le permite a éste, iniciar tareas, sean comandos o aplicaciones.
En el texto no haremos otra diferencia entre comando y utilitario que al primero lo provee el
proveedor del SO. Ambos son programas ejecutables, en el lenguaje de la máquina, compuestos por:
• Instrucciones del procesador, y
• Llamadas al sistema.
Los SO Abiertos tienen cientos de comandos, la mayoría de ellos construidos como filtros, que les permiten
interactuar entre ellos, transfiriendo la salida de uno a la entrada del siguiente y así armar estructuras tan
complejas como se necesiten, partiendo de estructuras muy sencillas.
Llamamos filtro al comando que toma su entrada de la Entrada Estándar (standard input), y envía sus
salidas a la Salida Estándar (standard output) y los mensajes de error al Error Estándar (standard error).
8 de 12 Capítulo 1
Introducción a los Sistemas Operativos. Sistemas Operativos
Existen comandos para todo tipo de tareas de tipo general que se deban hacer sobre el SPD, gestionan:
• Archivos,
• Directorios,
• Usuarios,
• Procesos,
• Comunicaciones,
• Editar Textos,
• Realizar Cálculos,
• Etc.
Los SO Abiertos implementan estos comandos simplemente como archivos, que contienen un programa
ejecutable, el comando, y estos archivos deben estar en algún directorio de nombre conocido o que sea parte
de un sendero de búsqueda.
Localizar en los directorios de búsqueda, indicados en una variable de entorno (PATH) un archivo ejecutable
que se llame passwd.
Si el archivo es hallado, y los permisos del mismo permiten al usuario ejecutarlo, entonces el archivo es
cargado en memoria, se reservan espacios para las variables y se le asignan los recursos de entrada y salida
que requiera.
Capítulo 1 9 de 12
Sistemas Operativos. Introducción a los Sistemas Operativos
10 de 12 Capítulo 1
Introducción a los Sistemas Operativos. Sistemas Operativos
En el modo núcleo no existe ningún tipo de limitación en el uso de los recursos. Pero este modo es accesible
sólo por el núcleo del SO.
LLAMADAS AL SISTEMA
SISTEMA DE ARCHIVOS
ADMINISTRADORES
DE DISPOSITIVOS
MANEJADORES DE
DISPOSITIVOS
HARDWARE
Capítulo 1 11 de 12
Sistemas Operativos. Introducción a los Sistemas Operativos
12 de 12 Capítulo 1