Apuntes de Sistemas Op.   3 comments

Sistemas Operativos
Novedades Ir a… Conceptos arquitectónicos de la computadora 1 Conceptos Arquitectonicos de la computadora 2 Introducción a los sistemas operativos 1 Introducción a los Sistemas Operativos 2 Introduccion a los Sistemas Operativos 3 Primer cuestionario ">
 
informatica » sisop » Recursos » Conceptos básicos y terminología
 
 

Los sistemas operativos son parte esencial de cualquier sistema de computación.
Conceptos Básicos
Componentes de un sistema computación
Un sistema de computación esta compuesto por un conjunto de elementos que se dividen en dos componentes:
El hardware que es el componente físico del sistema (la parte tangible) y
El Software que corresponde al componente lógico del sistema (los programas).

El hardware, es el componente físico de un sistema de computación. En este componente están incluidas las computadoras de distintas arquitecturas, los periféricos tales como impresoras o escáneres, equipos de comunicación y toda maquina que tenga capacidad de procesamiento.

El Software, es el componente lógico y el principal es el sistema operativo, que es un administrador de recursos, que controla todos los recursos de hardware presentes en una computadora (procesador, medios de almacenamiento, dispositivos
de entrada y salida, dispositivos de comunicación de datos, etc).

Otras funciones del sistema operativo son: Proporcionar una interfaz de interacción con el usuario, distribuir la
carga de trabajo entre los usuarios y servir de plataforma de software a los programas de aplicación.

Los sistemas operativos se construyen para ser ejecutados en una arquitectura de computadora específica, aunque algunos pueden adaptarse a diferentes arquitecturas.

Las aplicaciones son el último nivel en la pirámide de la tecnología del software, se denominan aplicaciones a todos los programas de alto nivel que interactúan en forma directa o indirecta con el usuario, y se dividen en herramientas de escritorio y Utilerías de mantenimiento.

Las herramientas de escritorio son un conjunto de aplicaciones orientadas al trabajo de oficina. Hoy en día, en un conjunto de herramientas de escritorio encontramos procesadores de texto, hojas electrónicas, programas de presentaciones, organizadores, clientes de correo, etc.
Utilerías de Mantenimiento, son programas que nos ayudan a administrar el sistema operativo, dentro de estos programas encontramos defragmentadores, comprobadores y reparadores de disco duro (scandisk, fsck, etc.), optimizadores de memoria, antivirus y de actualización de software.

<PLa red, la red no es solo el medio de comunicación, sino que es un conjunto de elementos que
hacen posible la existencia de los sistemas distribuidos mediante el intercambio y procesamiento de datos. La red desde el punto de vista del modelo de interconexión de sistemas abiertos (OSI) pueden verse como un conjunto de siete capas iniciándose desde los elementos físicos (el hardware) hasta los elementos de software de alto nivel. (Este tema se aborda en las asignaturas de redes de computadoras I y II).

El Sistema Operativo permite administrar los 5 vertices (comunicaciones a base de protocolos, memoria, sistemas de archivos, procesador y dispositivos), que existen en la computadora ya sean Software o Hardware.

Tareas para la administracion de un Sistema Operativo

* Monitorear constantemente los recursos

– Revisa el estado de la memoria
– Avisa de las operaciones al profesor de lo que va a hacer.
– Fija tiempos de espera para que no se saturen los
dispositivos.
– Revisa si hay espacio en el sistema de archivo.

* Obligar el cumplimiento de la politicas

– Protege la memoria para que no se toque y se respete esa
memoria.
– Protege la unidad de control.
– Hace que se cumplan las reglas, si no se cumplen no se
ejecuta.

* Asignar los recursos en el momento apropiado

– Asignar un determinado tiempo para que se procesen las
tareas.
– Da el tiempo y se ejecuta hasta que le toca su lugar o
tiempo.

* Liberar el recurso cuando este libre

– Cuando se deja de utilizar el recurso se tiene que liberar
para que otro recurso pueda entrar.
– El administrador es el encargado de dar los tiempos.

 

_____________________________________________________________________________

 

ESTRUCTURA Y FUNCIONAMIENTO DE LA COMPUTADORA

La computadora es una maquina destinada a procesar datos, este procesamiento involucra dos flujos de informacion:el de datos y el de instrucciones.

Se parte del flujo de datos que han de ser procesados. Este flujo de datos es tratado mediante un flujo de instrucciones de maquina, generado por la ejecucion de un programa, y produce el flujo de datos resultado.

Para llevar acabo la funcion de procesamiento, una computadora con arquitectura Von Neuman está compuesta por los cuatro componentes básicos (Memoria Principal, Unidad Aritmetica, Unidad de Control y Unidad de Entrada/Salida) la figura anterior esuqematiza este modelo.

La Memoria Principal: Se contruye con memoria RAM y memoria ROM. En ella han de residir los datos a procesar, el programa maquina (o codigo) a ejecutar y los resultados. La memoria esta formada por celdas identicas. Mediante la informacion de direccion se selecciona de forma unica la celda sobre la que se quiere realizar el acceso, pudiendo ser este de lectura o de escritura.

La Unidad Aritmertica: Permite realizar una serie de operaciones aritmeticas y logicas sobre uno o dos operandos. Los datos sobre los que opera esta unidad estan almacenados en un conjunto de registros, o bien provienen directamente de memoria principal. Por su lado, los resultados tambien se almacenan en registros o en memoria principal.

La Unidad de Control: Es la que se encarga de hacer funcionar al conjunto, para lo cual realiza las siguientes funciones:

– Lee de la memoria las instrucciones máquina que forman el programa.
– Interpreta cada instruccion leida
– Lee los datos de memoria referenciados por cada instruccion.
– Ejecuta cada instruccion.
– Almacena el resultado de cada instruccion.

La unidad de control tiene asociados una serie de registros, entre los que destacan:el contador de programa (PC, program counter), que indica la direccion de la siguiente instruccion de maquina a ejecutar,el puntero de pila (SP,stack pointer), que sirve para manejar comodamente una pila en memoria principal, El registro de instruccion (RI), que permite almacenar la instruccion de maquina a ejecutar, y El registro de estado
(RE), que almacena diversa informacion producida por la ejecucion de alguna de las ultimas instrucciones del programa (bits de estado aritmetico) e informacion sobre la forma en que ha de comportarse la computadora (bits de interrupcion, nivel de ejecucion, etc.).

La Unidad de entrada/salida (E/S): Se encarga de hacer la transferencia de informacion entre la memoria principal ( o los registros) y los perifericos. La entrada/salida se puede hacer bajo el gobierno de la unidad de control (E/S programada) o de forma independiente (DMA).

MODELO DE PROGRAMACIÓN DE LA COMPUTADORA

El modelo de programación a abajo nivel de una computadora se caracteriza por los siguientes aspectos.

Elementos de almacenamiento. Se consideran aquellos elementos de almacenamiento de la computadora que son visibles a las instrucciones máquina, están incluidos los registros generales, el contador de programa, el apuntador de pila, el registro de estado, la memoria principal y el mapa de E/S.

Juego de Instrucciones con sus correspondientes modos de Direccionamiento. El juego de instrucciones máquina define las operaciones que es capaz de hacer la computadora. Los modos de direccionamiento determinan la forma en que se especifica la identidad de los elementos de almacenamiento que intervienen en las instrucciones máquina.

Secuencia de Funcionamiento. Define el modo en que se van ejecutando las instrucciones máquina.

Un aspecto crucial de las computadoras, es que disponen de más de un nivel de ejecución, menos en las computadoras más simples.

Niveles de Ejecución

En la actualidad las computadoras presentan dos o más niveles de ejecución. El nivel menos permisivo, es llamado nivel de usuario ejecuta solamente un subconjunto de las instrucciones máquina, quedando prohibidas las demás así como el acceso a determinados registros, o partes de esos registros y a determinadas zonas del mapa de memoria y de E/S.

El nivel mas permisivo, es denominado nivel de núcleo, ejecuta todas la instrucciones sin ninguna restricción y permite el acceso a todos los registros y mapas de direcciones.

La computadora presenta más de un modelo de programación, que permite realizar un conjunto limitado de acciones, y otros más permisivos que permiten realizar determinadas acciones al ejecutar el nivel de usuario. El sistema operativo, que ejecuta el nivel de núcleo, puede ejecutar todo tipo de acciones. El nivel de usuario no permite operaciones de E/S, ni modificar una gran parte del registro de estado, ni modificar los registros de soporte de gestión de memoria.

Secuencia de funcionamiento de la computadora

La unidad de control de la computadora es la que establece el funcionamiento del mismo, este funcionamiento está basado en una secuencia sencilla, que se repite a alta velocidad, esta secuencia consiste en tres pasos:
a) lectura de memoria principal de la instrucción máquina apuntada por el contenedor de programa,
b) incremento del contador de programa y
c) ejecución de la instrucción.

Esta secuencia tiene dos propiedades fundamentales: es lineal, es decir que ejecuta de forma consecutiva las instrucciones que están en direcciones consecutivas y forma y bucle infinito, significa que la unidad de control de la computadora está continua e ininterrumpidamente realizando esta secuencia.

Los tres mecanismos básicos de ruptura de secuencia son los siguientes:

– Las instrucciones máquina de salto o bifurcación, que permiten que el programa rompa su secuencia lineal de ejecución pasando a otro segmento de sí mismo.
– Las interrupciones externas o internas, que hacen que la unidad de control modifique el valor del contador de programa saltando a otro programa.
– La instrucción de máquina "TRAP", que produce un efecto similar a la interrupción, haciendo que se salte a otro programa.

Registros de control y estado

La unidad de control tiene asociada una serie de registros que denominamos de control y estado, dependen de la arquitectura de la computadora. Entre los mas importantes se pueden encontrar los siguientes:

– Contador de programa PC: Contiene la dirección de la siguiente instrucción de máquina.
– Apuntador de pila SP: Contiene la dirección de la cabecera de la pila.
– Registro de instrucción RI: Contiene la instrucción en un curso de ejecucci ón.
– Registro de estado, que contiene, entre otros, los bits siguientes:

Bits de estado aritméticos:

*Signo. Contiene el signo de la última operación aritmética realizada.
*Acarreo. Contiene el acarreo de la última suma o resta realizada.
*Cero. Se activa se el resultado de la última operación aritmética o lógica fue cero.
*Desbordamiento. Indica si la última operación aritmética produjo desbordamiento.

Bits de nivel de ejecución: Indican el nivel en el que ejecuta el procesador.

Bits de control de interrupciones: Establecen las interrupciones que se puedan aceptar.

– Registro identificador de espacio de direccionamiento RIED: identifica el espacio del mapa de memoria que puede utilizar el programa en ejecución.

– Otros registros de gestión de memoria, como pueden ser los registros de protección de memoria.

 

_______________________________________________________________________

 

¿QUE ES UN SISTEMA OPERATIVO?

Un sistema operativo es un programa que tiene encomendadas una serie de funciones deferentes y cuyo objetivo es simplificar el manejo y la utilización de la computadora, haciendolo seguro y eficiente.

Maquina desnuda

Es cuando una computadora carece de un sistema operativo, por lo que la computadora en si misma no hace nada y para que pueda hacer algo debe tener en memoria principal un programa máquina específico para realizar dicha función. La misión del sistema operativo, es complementar (vestir) a la máquina mediante una serie de programas que permitan su cómodo manejo y utilización.

Funciones del sistema operativo

Un Sistema Operativo es un programa que tiene recomendadas una serie de funciones diferentes cuyo objetivo es simplificar el manejo y la utilización de la computadora, haciéndolo seguro y eficiente.

Las funciones clásicas del sistema operativo se pueden agrupar en tres categorías:

– Gestión de los recursos de la computadora.
– Ejecución de servicios para los programas.
– Ejecución los mandatos de los usuarios.

El sistema operativo esta formado por tres capas principales:

– La capa más cercana al hardware se denomina núcleo (kernel) y el la que gestiona los recursos hardware del sistema y la que suministra la funcionalidad básico del sistema operativo; se ejecuta en nivel núcleo, mientras que en las otras pueden ejecutar en niveles menos permisivos.

– 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).
Esta capa extiende la funcionalidad de la computadora, por lo que se dice que el sistema operativo ofrece una máquina virtual extendida a los programas.

– La capa de intérprete de mandos 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.

El sistema operativo como gestor de recursos

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 la información sobre el uso que se hace de los recursos.

a) Asignación de los recursos

El sistema operativo se encarga de asignar los recursos a los programas en ejecución. La asignación de recursos se realiza según la disponibilidad de los mismos y la prioridad de los programas, se pueden recuperar los recursos cuando los programas ya no los necesitan. Pero una mala recuperación puede hacer que el sistema operativo considere, que ya no tiene memoria disponible cuando si la tiene.

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 encontrar los archivos y los puertos de comunicación.

b) Protección

El sistema operativo ha de garantizar la protección entre los usuarios del sistema. Ha de asignar la confidencialidad de la información y que unos trabajos no interfieran con otros. Para esto ha de impedir que unos programas puedan acceder a los recursos asignados a otros programas.

c) 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 solamente para saber la carga de los componentes del sistema se le denomina motorización.

El sistema operativo como máquina extendida

El SO 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. 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.

a) Ejecución de programas

El SO incluye servicios para lanzar la ejecución de un programa así como para pararla o abortarla.

La ejecución de programas da lugar al concepto de proceso. Un proceso se puede definir como un programa en ejecución, es un concepto fundamental en los sistemas operativos puesto que el objetivo último de éstos es crear, ejecutar y destruir procesos, de acuerdo a las órdenes de los usuarios. Para que un programa pueda convertirse en un proceso ha de estar traducido a código máquina y almacenado en un dispositivo de almacenamiento como el disco.

b) Órdenes de E/S

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; la programación de las operaciones de E/S es muy compleja y dependiente del hardware específico de cada periférico.

c) Operaciones sobre archivos

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 archivos.

d) Detección y tratamiento de errores

El modulo del sistema operativo que permite que los usuarios dialogen es el shell; éste se comporta como un bucle infinito que está repitiendo constantemente la siguiente secuencia:

  • Espera una orden de usuario. En caso de interfaz textual, el shell está pendiente de lo que escribe el usuario en la línea de mandos. En las interfaces gráficas está pendiente de los eventos con el apuntador (el raton) que manipula el usuario, ademas de los del teclado.
  • Analiza la orden y,en caso de ser correcta, la ejecuta, para lo cual emplea los servicios del sistema operativo
  • Concuida la orden vuelve a la espera.

Concepto de usuario y de grupo de usuarios

Un usuario es una persona autorizada para utilizar un sistema informático. El usuario se autentica mediante su nombre de cuenta y su contraseña o blancapassword.

El sistema operativo no asocia el concepto de usuario con el de persona física sino con un nombre de cuenta, el sistema operativo asigna a cada usuario un identificador "uid" y un perfil. El sistema de seguridad de los sistemas operativos esta basado en la entidad usuario. Cada usuario tiene asociados unos derechos, que definen las operaciones que le son permitidas. Existe un usuario priviligiado, denominado superusuario o administrador, que no tiene ninguna restricción, es decir, que puede hacer todas las operaciones sin ninguna traba.

Los usuarios se organizan en grupos. Todo usuario debe pertenecer a un grupo. Los grupos también se emplean en la protección del sistema, puesto que los derechos de un usuario son suyos propios mas los del grupo al que pertenezca.

ARRANQUE DE LA COMPUTADORA

El arranque de una computadora actual tiene dos fases: la fase de arranque hardware y la fase de arranque del sistema operativo.

Arranque hardware

La computadora solamente es capaz de realizar actividades útiles si cuenta con el correspondiente programa cargado en memoria principal. 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 lo que en las computadoras antiguas, al encender la computadora no es capaz de realizar nada y teniamos que introducir a mano un programa que nos permitiera cargar otros programas; en la actualidad, existe un programa permanente de grabado en una memoria ROM, no volátil, está siempre disponible y no pierde su contenido, por lo que lo llamaremos iniciador ROM.

El iniciador ROM realiza tres funciones:

Primero hace una comprobación del sistema que sirve para detectar sus características y comprobar si el conjunto funciona correctamente. Una vez pasada la comprobación, entra en la fase de lectura y almacenamiento en memoria del programa cargador del sistema operativo; finalmente da control a este programa, bifurcando al a dirección de memoria en la que lo ha almacenado.

En el caso de una PC, la memoria ROM contiene, además del programa iniciador, software de E/S denominado BIOS(basic input system). La BIOS de una computadora la proporciona el fabricante y suele contener procedimientos para leer y escribir de disco, leer caracteres del teclado y escribir en la pantalla.

Ubicación del sistema operativo

El sistema operativo se encuentra almacenado en una unidad de disco y tiene un programa cargador o boot del sistema operativo; está almacenado en una zona pedefinida del disco y tiene un tamaño prefijado.

El programa iniciador ROM y el sistema operativo tienen un convenio sobre la ubicación, dirección de arranque y tamaño del cargador del sistema operativo. El iniciador ROM es independiente del sistema operativo, siempre que éste cumpla con el convenio, por lo que la máquina puede soportar diversos sistema operativos.

Para mayor seguridad, el programa cargador del sistema operativo incluye, en una posición prefijada por el iniciador ROM, una contraseña; de esta forma el iniciador ROM puede verificar que la información contenida en la zona prefijada contiene efectivamente el programa cargador de un sistema operativo.

Arranque del sistema operativo

El programa cargador del sistema operativo tiene como misión traer a memoria principal algunos de los componentes del sistema operativo. Una vez cargados estos componentes, se pasa a la fase de iniciación que incluye las siguientes operaciones:

  • Comprobación del sistema. Se completan las pruebas del hardware realizadoas por el iniciador ROM y se comprueba que el sistema de archivos tiene un estado coherente.
  • Se establecen las estructuras de información propias del sistema operativo, tales como la tabla de procesos, las tablas de memoria y las de E/S.
  • Se carga en memoria principal aquella parte del sistema operativo que ha de estar siempre en 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 (por ejemplo: el demonio de impresión o el demonio de comunicaciones).

Los procesos de inicio presentan en su terminal el mensaje de bienvenida y se quedan a la espera de que un usuario arranque una sesión, por lo que debe teclear su nobre de cuenta y su contraseña. El proceso de inicio autentica al usuario, comprobando que los datos introducidos son correctos y lanza un proceso shell; el cual primero ejecuta uno o varios archivos de mandatos ya sea en MS-DOS o en UNIX, después el shell se queda esperando órdenes de los usuarios ya sean textuales o como acciones sobre un menú o un icono; para esto, el shell genera uno o varios procesos.

COMPONENTES Y ESTRUCTURA DEL SISTEMA OPERATIVO

El sistema operativo (SO) está formado por una serie de componentes especializados en determinadas funciones. Cada SO estructura estos componentes de forma distinta.

Componentes del sistema Operativo

Como recordamos, el SO está formado por tres capas: núcleo, los servicios y el intérprete de mandatos o shell.
El nùcleo es la parte del sistema operativo que interacciona directamente con el hardware de la máquina. Las funciones del núcleo se centran en la gestion de recursos, como el procesador, tratamiento de interrupciones y las funciones básicas de manipulación de memoria. Los servicios se suelen agrupar según su funcionalidad en varios componentes, cada un de los 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 que partes de memoria están libres y cuáles ocupadas, así como la asignación y liberación de memoria según la necesiten los procesos.
  • Gestion 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 la administración del almacenamiento secundario.
  • Comunicación y sincronización entre procesos: Encargada de ofrecer mecanismos para que los procesos puedan comunicarse y sincronizarse.
  • Seguridad y protección: Este componente debe encargarse de garantizar la identidad de los usuarioos y de definir lo que pueden hacer cada uno de ellos con los recursos del sistema.

Todos estos componentes ofrecen una serie de servicios a través de una interfaz de llamadas al sistema. El sistema operativo puede incluir varios interpretes de mandatos, unos textuales y otros gráficos, pudiendo elegir el usuario el que más le interese.

Estructura del sistema Operativo

Un SO es un programa grande y complejo que está compuesto por una serie de componentes con funciones bien definidas. Cada sistema operativo estructura estos componentes de distinta forma. En esta función de esta estructura se pueden agrupar los sistemas operativos en dos grandes grupos: sistemas operativos monolíticos y sistemas operativos estructurados

Sistemas operativos monolíticos

Un sistema operativo de este tipo no tiene una estructura clara y bien definida.Todos sus componentes se encuentran integrados en un único programa (el sistema operativo) que ejecuta en un único espacio de direcciones. Todas la funciones se ejecutan en modo núcleo.

Estos sistema operativos han surgido, normalmente, de sistemas operativos sencillos y pequeños a los que se les ha ido añadiendo un número mayor de funcionalidades, por ejemplo MS-DOS y UNIX comenzaron siendo pequeños y fueron creciendo gracias a la popularidad adquirida.

El problema que plantean este tipo de sistemas radica en lo complicado que es modificar el sistema operativo para añadir nuevas funcionalidades y servicios.

Sistemas operativos estructurados

Cuando se requiere dotar de estructura a un sistema operativo, normalmente se recurre a dos tipos de soluciones: sistemas por capas y sistemas cliente-servior

  1. Sistemas por capas.

    En un sistema por capas, el SO se organiza como una jerarquóa de capas, donde cada capa ofrece una interfaz clara y bien definida a la capa superior y solamente utiliza los servicios que le ofrece la capa inferior. La ventaja de estas estructuras es la modularidad y la acultación de la información, esto facilita enormemente la depuración y verificación del sistema, puesto que las capas pueden ir construyendose o depurando por separado.

  2. Modelo cliente servidor.

    En este modelo, el enfoque consiste en implementar la mayor parte de los servicios y funciones del sistema operativo en procesos de usuario, dejando sólo una pequeña parte del sistema operativo ejecutando en modo núcleo. A esta parte se le denomina micronúcleo y a los procesos queejecutan el resto de las funciones se les denomina servidores.

    No hay una definición clara de las funciones que debe llevar a cabo un micronúcleo, la mayoría incluyen la gestón de interrupciones, gestión básica de procesos y de memoria y servicios básicos de comunicación entre procesos.

    La ventaja de este modelo es la gran flexibilidad que presenta, esto facilita el desarrolo y depuración de cada uno de los procesos servidores. En cuanto a las desventajas, presentan una mayor sobrecarga que los sistemas monolíticos, esto se debe a que los distintos componentes de un sistema operativo de este tipo ejecutan en espacios de direcciones distintos, los que hace que su activación requiera más tiempo.

¿QUE ES UN SISTEMA OPERATIVO?

Un sistema operativo es un programa que tiene encomendadas una serie de funciones deferentes y cuyo objetivo es simplificar el manejo y la utilización de la computadora, haciendolo seguro y eficiente.

Maquina desnuda

Es cuando una computadora carece de un sistema operativo, por lo que la computadora en si misma no hace nada y para que pueda hacer algo debe tener en memoria principal un programa máquina específico para realizar dicha función. La misión del sistema operativo, es complementar (vestir) a la máquina mediante una serie de programas que permitan su cómodo manejo y utilización.

Funciones del sistema operativo

Un Sistema Operativo es un programa que tiene recomendadas una serie de funciones diferentes cuyo objetivo es simplificar el manejo y la utilización de la computadora, haciéndolo seguro y eficiente.

Las funciones clásicas del sistema operativo se pueden agrupar en tres categorías:

– Gestión de los recursos de la computadora.
– Ejecución de servicios para los programas.
– Ejecución los mandatos de los usuarios.

El sistema operativo esta formado por tres capas principales:

– La capa más cercana al hardware se denomina núcleo (kernel) y el la que gestiona los recursos hardware del sistema y la que suministra la funcionalidad básico del sistema operativo; se ejecuta en nivel núcleo, mientras que en las otras pueden ejecutar en niveles menos permisivos.

– 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).
Esta capa extiende la funcionalidad de la computadora, por lo que se dice que el sistema operativo ofrece una máquina virtual extendida a los programas.

– La capa de intérprete de mandos 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.

El sistema operativo como gestor de recursos

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 la información sobre el uso que se hace de los recursos.

a) Asignación de los recursos

El sistema operativo se encarga de asignar los recursos a los programas en ejecución. La asignación de recursos se realiza según la disponibilidad de los mismos y la prioridad de los programas, se pueden recuperar los recursos cuando los programas ya no los necesitan. Pero una mala recuperación puede hacer que el sistema operativo considere, que ya no tiene memoria disponible cuando si la tiene.

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 encontrar los archivos y los puertos de comunicación.

b) Protección

El sistema operativo ha de garantizar la protección entre los usuarios del sistema. Ha de asignar la confidencialidad de la información y que unos trabajos no interfieran con otros. Para esto ha de impedir que unos programas puedan acceder a los recursos asignados a otros programas.

c) 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 solamente para saber la carga de los componentes del sistema se le denomina motorización.

El sistema operativo como máquina extendida

El SO 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. 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.

a) Ejecución de programas

El SO incluye servicios para lanzar la ejecución de un programa así como para pararla o abortarla.

La ejecución de programas da lugar al concepto de proceso. Un proceso se puede definir como un programa en ejecución, es un concepto fundamental en los sistemas operativos puesto que el objetivo último de éstos es crear, ejecutar y destruir procesos, de acuerdo a las órdenes de los usuarios. Para que un programa pueda convertirse en un proceso ha de estar traducido a código máquina y almacenado en un dispositivo de almacenamiento como el disco.

b) Órdenes de E/S

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; la programación de las operaciones de E/S es muy compleja y dependiente del hardware específico de cada periférico.

c) Operaciones sobre archivos

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 archivos.

d) Detección y tratamiento de errores

El modulo del sistema operativo que permite que los usuarios dialogen es el shell; éste se comporta como un bucle infinito que está repitiendo constantemente la siguiente secuencia:

  • Espera una orden de usuario. En caso de interfaz textual, el shell está pendiente de lo que escribe el usuario en la línea de mandos. En las interfaces gráficas está pendiente de los eventos con el apuntador (el raton) que manipula el usuario, ademas de los del teclado.
  • Analiza la orden y,en caso de ser correcta, la ejecuta, para lo cual emplea los servicios del sistema operativo
  • Concuida la orden vuelve a la espera.

Concepto de usuario y de grupo de usuarios

Un usuario es una persona autorizada para utilizar un sistema informático. El usuario se autentica mediante su nombre de cuenta y su contraseña o blancapassword.

El sistema operativo no asocia el concepto de usuario con el de persona física sino con un nombre de cuenta, el sistema operativo asigna a cada usuario un identificador "uid" y un perfil. El sistema de seguridad de los sistemas operativos esta basado en la entidad usuario. Cada usuario tiene asociados unos derechos, que definen las operaciones que le son permitidas. Existe un usuario priviligiado, denominado superusuario o administrador, que no tiene ninguna restricción, es decir, que puede hacer todas las operaciones sin ninguna traba.

Los usuarios se organizan en grupos. Todo usuario debe pertenecer a un grupo. Los grupos también se emplean en la protección del sistema, puesto que los derechos de un usuario son suyos propios mas los del grupo al que pertenezca.

ARRANQUE DE LA COMPUTADORA

El arranque de una computadora actual tiene dos fases: la fase de arranque hardware y la fase de arranque del sistema operativo.

Arranque hardware

La computadora solamente es capaz de realizar actividades útiles si cuenta con el correspondiente programa cargado en memoria principal. 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 lo que en las computadoras antiguas, al encender la computadora no es capaz de realizar nada y teniamos que introducir a mano un programa que nos permitiera cargar otros programas; en la actualidad, existe un programa permanente de grabado en una memoria ROM, no volátil, está siempre disponible y no pierde su contenido, por lo que lo llamaremos iniciador ROM.

El iniciador ROM realiza tres funciones:

Primero hace una comprobación del sistema que sirve para detectar sus características y comprobar si el conjunto funciona correctamente. Una vez pasada la comprobación, entra en la fase de lectura y almacenamiento en memoria del programa cargador del sistema operativo; finalmente da control a este programa, bifurcando al a dirección de memoria en la que lo ha almacenado.

En el caso de una PC, la memoria ROM contiene, además del programa iniciador, software de E/S denominado BIOS(basic input system). La BIOS de una computadora la proporciona el fabricante y suele contener procedimientos para leer y escribir de disco, leer caracteres del teclado y escribir en la pantalla.

Ubicación del sistema operativo

El sistema operativo se encuentra almacenado en una unidad de disco y tiene un programa cargador o boot del sistema operativo; está almacenado en una zona pedefinida del disco y tiene un tamaño prefijado.

El programa iniciador ROM y el sistema operativo tienen un convenio sobre la ubicación, dirección de arranque y tamaño del cargador del sistema operativo. El iniciador ROM es independiente del sistema operativo, siempre que éste cumpla con el convenio, por lo que la máquina puede soportar diversos sistema operativos.

Para mayor seguridad, el programa cargador del sistema operativo incluye, en una posición prefijada por el iniciador ROM, una contraseña; de esta forma el iniciador ROM puede verificar que la información contenida en la zona prefijada contiene efectivamente el programa cargador de un sistema operativo.

Arranque del sistema operativo

El programa cargador del sistema operativo tiene como misión traer a memoria principal algunos de los componentes del sistema operativo. Una vez cargados estos componentes, se pasa a la fase de iniciación que incluye las siguientes operaciones:

  • Comprobación del sistema. Se completan las pruebas del hardware realizadoas por el iniciador ROM y se comprueba que el sistema de archivos tiene un estado coherente.
  • Se establecen las estructuras de información propias del sistema operativo, tales como la tabla de procesos, las tablas de memoria y las de E/S.
  • Se carga en memoria principal aquella parte del sistema operativo que ha de estar siempre en 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 (por ejemplo: el demonio de impresión o el demonio de comunicaciones).

Los procesos de inicio presentan en su terminal el mensaje de bienvenida y se quedan a la espera de que un usuario arranque una sesión, por lo que debe teclear su nobre de cuenta y su contraseña. El proceso de inicio autentica al usuario, comprobando que los datos introducidos son correctos y lanza un proceso shell; el cual primero ejecuta uno o varios archivos de mandatos ya sea en MS-DOS o en UNIX, después el shell se queda esperando órdenes de los usuarios ya sean textuales o como acciones sobre un menú o un icono; para esto, el shell genera uno o varios procesos.

COMPONENTES Y ESTRUCTURA DEL SISTEMA OPERATIVO

El sistema operativo (SO) está formado por una serie de componentes especializados en determinadas funciones. Cada SO estructura estos componentes de forma distinta.

Componentes del sistema Operativo

Como recordamos, el SO está formado por tres capas: núcleo, los servicios y el intérprete de mandatos o shell.
El nùcleo es la parte del sistema operativo que interacciona directamente con el hardware de la máquina. Las funciones del núcleo se centran en la gestion de recursos, como el procesador, tratamiento de interrupciones y las funciones básicas de manipulación de memoria. Los servicios se suelen agrupar según su funcionalidad en varios componentes, cada un de los 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 que partes de memoria están libres y cuáles ocupadas, así como la asignación y liberación de memoria según la necesiten los procesos.
  • Gestion 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 la administración del almacenamiento secundario.
  • Comunicación y sincronización entre procesos: Encargada de ofrecer mecanismos para que los procesos puedan comunicarse y sincronizarse.
  • Seguridad y protección: Este componente debe encargarse de garantizar la identidad de los usuarioos y de definir lo que pueden hacer cada uno de ellos con los recursos del sistema.

Todos estos componentes ofrecen una serie de servicios a través de una interfaz de llamadas al sistema. El sistema operativo puede incluir varios interpretes de mandatos, unos textuales y otros gráficos, pudiendo elegir el usuario el que más le interese.

Estructura del sistema Operativo

Un SO es un programa grande y complejo que está compuesto por una serie de componentes con funciones bien definidas. Cada sistema operativo estructura estos componentes de distinta forma. En esta función de esta estructura se pueden agrupar los sistemas operativos en dos grandes grupos: sistemas operativos monolíticos y sistemas operativos estructurados

Sistemas operativos monolíticos

Un sistema operativo de este tipo no tiene una estructura clara y bien definida.Todos sus componentes se encuentran integrados en un único programa (el sistema operativo) que ejecuta en un único espacio de direcciones. Todas la funciones se ejecutan en modo núcleo.

Estos sistema operativos han surgido, normalmente, de sistemas operativos sencillos y pequeños a los que se les ha ido añadiendo un número mayor de funcionalidades, por ejemplo MS-DOS y UNIX comenzaron siendo pequeños y fueron creciendo gracias a la popularidad adquirida.

El problema que plantean este tipo de sistemas radica en lo complicado que es modificar el sistema operativo para añadir nuevas funcionalidades y servicios.

Sistemas operativos estructurados

Cuando se requiere dotar de estructura a un sistema operativo, normalmente se recurre a dos tipos de soluciones: sistemas por capas y sistemas cliente-servior

  1. Sistemas por capas.

    En un sistema por capas, el SO se organiza como una jerarquóa de capas, donde cada capa ofrece una interfaz clara y bien definida a la capa superior y solamente utiliza los servicios que le ofrece la capa inferior. La ventaja de estas estructuras es la modularidad y la acultación de la información, esto facilita enormemente la depuración y verificación del sistema, puesto que las capas pueden ir construyendose o depurando por separado.

  2. Modelo cliente servidor.

    En este modelo, el enfoque consiste en implementar la mayor parte de los servicios y funciones del sistema operativo en procesos de usuario, dejando sólo una pequeña parte del sistema operativo ejecutando en modo núcleo. A esta parte se le denomina micronúcleo y a los procesos queejecutan el resto de las funciones se les denomina servidores.

    No hay una definición clara de las funciones que debe llevar a cabo un micronúcleo, la mayoría incluyen la gestón de interrupciones, gestión básica de procesos y de memoria y servicios básicos de comunicación entre procesos.

    La ventaja de este modelo es la gran flexibilidad que presenta, esto facilita el desarrolo y depuración de cada uno de los procesos servidores. En cuanto a las desventajas, presentan una mayor sobrecarga que los sistemas monolíticos, esto se debe a que los distintos componentes de un sistema operativo de este tipo ejecutan en espacios de direcciones distintos, los que hace que su activación requiera más tiempo.

__________________________________________________________________________

 

Publicado 17 octubre, 2005 por blackdragoncave en Grupo 1301

3 Respuestas a “Apuntes de Sistemas Op.

Suscríbete a los comentarios mediante RSS.

  1. Tengo que darte un agradecimiento enorme por poner tus apuntes a en la red, sin duda me fueron utiles

  2. wuau impresionante me evista leer 70 diapositivas que dejo el ingeniero… eres una piyuela!

  3. wuau impresionante me evitaste leer 70 diapositivas que dejo el ingeniero… eres una piyuela!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s