35
Sistemas Operativos I Tema 1 Introducción a los sistemas operativos

DocumentP1

Embed Size (px)

Citation preview

Page 1: DocumentP1

Sistemas Operativos I

Tema 1

Introducción a los sistemasoperativos

Page 2: DocumentP1

Objetivos

1. Presentar el concepto de sistema operativo.

2. Describir las funciones que debe llevar a cabo cualquier sistema

operativo actual.

3. Dar una visión general de la historia de los sistemas operativos que

ayudará a entender cuándo y por qué se introdujeron estas funciones

en el sistema.

Page 3: DocumentP1

Un Sistema Operativo es un programa que actúa como intermediario entre el usuario yel hardware de una computadora.

Propósito: Es ofrecer un ambiente en el que un usuario pueda ejecutar programas.

Objetivos:Comodidad: Facilitar el uso de la máquina a los usuarios, proporcionando un

entorno cómodo para el desarrollo y

ejecución de programas y para el acceso a los recursos de la máquina.

Eficiencia: El s.o. debe administrar los recursos (hardware y software) de la

máquina de forma que se aprovechen de la manera más conveniente.

Page 4: DocumentP1

Cómo funciona un Sistema Operativo

Los sistemas operativos proporcionan una plataforma de software encima de la cual otrosprogramas, llamados aplicaciones, puedan funcionar. Las aplicaciones se programan paraque funcionen encima de un sistema operativo particular, por tanto, la elección delsistema operativo determina en gran medida las aplicaciones que puedes utilizar.

Page 5: DocumentP1

Cómo se utiliza un Sistema Operativo

Un usuario normalmente interactúa con el sistema operativo a través de un sistema de

comandos, por ejemplo, el sistema operativo DOS contiene comandos como

copiar y pegar para copiar y pegar archivos respectivamente. Los comandos son aceptados y

ejecutados por una parte del sistema operativo llamada procesador de comandos o intérprete

de la línea de comandos. Las interfaces gráficas permiten que utilices los comandos

señalando y clickeando objetos que aparecen en la pantalla

.

Page 6: DocumentP1

Un sistema de computo puede dividirse en cuatro componentes:

El sistema operativo controla y coordina el uso del hardware entre los diversos programasde aplicación para los diversos usuarios

Proporcionan los recursos básicos de computo

Definen las formas en que estosrecursos se utilizan para resolverproblemas de computo de losusuarios

Page 7: DocumentP1

Veamos que el S.O es un asignador de recursos (hardware ysoftware) que se requieren para resolver un problema : tiempo deCPU, espacio de memoria, espacio de almacenamiento paraarchivos, dispositivos de E/S etc. El S.O actúa como unadministrador de recursos y los asigna a programas y usuariosespecíficos según sea necesario para la realización de tareas.

Page 8: DocumentP1

Generación Cero (década de 1940)Los primeros sistemas computacionales no poseían sistemas operativos. Los usuarios teníancompleto acceso al lenguaje de la maquina. Todas las instrucciones eran codificadas a mano.

Primera Generación (década de 1950) SISTEMAS POR LOTES

Las computadoras eran fisicamente enormes máquinas que se operaban desde unaconsola. Los dispositivos de entrada comunes eran los lectores de tarjetas y unidades decinta. Los dispositivos de salida eran impresoras de línea, unidades de cinta yperforadoras de tarjeta. El usuario no interactuaba con el computador, mas bienpreparaba el trabajo que consistía en el programa, los datos y la información de control ylo entregaba al operador de la máquina. En algún momento posterior (minutos, horas odías)aparecía la salida que era el resultado del programa así como un vaciado de lamemoria y los registros en caso de errores en el programa.

El S.O era bien simple , su tarea era transferir automáticamente el control de un trabajo alsiguiente. El sistema operativo siempre estaba residente en memoria.Para acelerar el procesamiento los operadores los agrupaban en lotes los trabajos connecesidades similares y los ejecutaban en la Pc como un grupo

Page 9: DocumentP1
Page 10: DocumentP1
Page 11: DocumentP1
Page 12: DocumentP1

Un solo usuario no puede por lo general mantener a la CPU o a los dispositivos de E/S ocupados en todo momento . La Multiprogramación incrementa el uso de la CPU organizando los trabajos de tal manera que la CPU siempre tenga alguno por ejecutar .

La idea es que el S.O mantiene simultáneamente varios trabajos en la memoria

El sistema operativo toma ycomienza a ejecutar uno de lostrabajos que están en la memoria .En ocasiones el trabajo tiene queesperar a que se complete algunatarea entonces el S.O simplementecambia a otro trabajo, con el tiempoel primer trabajo termina su esperay vuelve de nuevo a la CPU

Page 13: DocumentP1
Page 14: DocumentP1
Page 15: DocumentP1
Page 16: DocumentP1

Segunda Generación (a mitad de la década de 1960)

La característica de los sistemas operativos fue el desarrollo de los sistemas compartidos o mutitarea conmultiprogramación, y los principios del multiprocesamiento.Un Sistema operativo de tiempo compartido permite a varios usuarios compartir la computadorasimultáneamente. Debido a que cada acción o comando en un sistema de tiempo compartido tiende aser corta, se necesita un poco de tiempo de CPU para cada usuario. Como el sistema cambia rápido deun usuario al siguiente , el usuario tiene la impresión de que todo el sistema de computo está dedicado ael .Un S.O de tiempo compartido hace uso de la planificación de la CPU y la multiprogramación paraproporcionar a cada usuario una pequeña porción de una computadora.

La gestión por parte del SO se centra en el concepto de proceso.Un proceso es un programa en el que se ha iniciado su ejecución.Por lo tanto un programa es un ente pasivo mientras que un proceso es un ente activo.

Page 17: DocumentP1

RESUMENLos sistemas operativos se han desarrollado en los últimos 40 años por dos razonesprincipales:

1. Planificar las actividades computacionales y lograr un buen desempeño del sistema en si.2. Proporcionar un ambiente adecuado para el desarrollo y ejecución de programas.

Los sistemas por lotes permitieron la ejecución secuencial automática de trabajos medianteun S.O residente, la computadora ya no tenia que esperar mas la operación humana, sinembargo la utilización de la CPU todavía era reducida, debido a la baja velocidad de losdispositivos de E/S.Para mejorar el desempeño global del sistema de computo, se introdujo la multiprogramación,que permitía que varios trabajos se mantengan en memoria. La CPU se conmuta entre ellospara incrementar la ocupación del procesador.

La multiprogramación se desarrolló para mejorar el rendimiento, también posibilita el tiempocompartido, estos sistemas permiten que los usuarios utilicen al mismo tiempo un sistema decomputo de manera interactiva.

Los Pc son menos costosas que los mainframes , las computadoras personales se hanbeneficiado del desarrollo de los Sistemas Operativos para equipos grandes , sin embargo,debido a que un usuario puede usar en exclusivo una computadora, La utilización de la CPU yano es una preocupación principal y por lo tanto el diseño y consideraciones que se toman parasistemas operativos mainframes no son apropiados para sistemas pequeños.

Page 18: DocumentP1

RESUMENLos sistemas paralelos tienen mas de una CPU en estrecha comunicación los mismasque comparten memoria, bus y dispositivos de E/S.Estos sistemas utilizan el multiprocesamiento simétrico en el que cada procesadorejecuta una copia idéntica del S.O y además se le asigna una tarea específica y todos losprocesadores están al mismo nivel.En otro esquema un procesador llamado maestro controla el sistema, los restantesprocesadores solicitan instrucciones , esta relación define una relación maestro-esclavo.Los sistemas paralelos proporcionan un mayor rendimiento y una mejor confiabilidad.

Un sistema operativo estricto de tiempo real controla una aplicación dedicada y tienerestricciones de tiempo fijas y bien definidas, esto implica que el procesamiento deberealizarse dentro de estas restricciones, o de lo contrario el sistema fallará.

La Influencia del Internet ha impulsado el desarrollo de sistemas operativos modernosque incluyen navegadores y software para redes y comunicación como característicasintegrales .

Se ha visto que avance lógico de los Sistemas Operativos impulsado por la inclusión decaracterísticas de hardware de la CPU Esta tendencia se puede ver hoy en la evolucióndelas PC en donde se está mejorando un hardware de bajo precio de manera suficientepara permitir, a su vez, características mejoradas.

Page 19: DocumentP1

ARQUITECTURA DE UN COMPUTADOR

Page 20: DocumentP1

Todo PC tiene, como parte fundamental de suarquitectura, al menos un procesador. En su interior seencuentran una serie de elementos básicos tales comoregistros (capaces de almacenar pequeñas cantidades deinformación), unidad aritmético-lógica o UAL (capaz derealizar simples operaciones aritméticas), unidad decontrol, etc. Este procesador se comunica con el resto delordenador a través de lo que denominaremos el bus delsistema.

La comunicación entre el procesador y el resto del equipo se puede dividir a su vez en dos categorías: laconexión con la memoria (también llamada memoria principal o memoria RAM), y la conexión con losdispositivos de entrada salida (E/S). El circuito representado en esta figura por el nombre Puente E/S esel encargado de separar los datos de estas categorías. La conexión con la memoria RAM se realiza através del bus de memoria. Esta memoria es capaz de almacenar información mientras el equipo estéencendido. Al apagar el equipo, los datos almacenados en este dispositivo se pierden, por este motivo,también se le conoce como memoria volátil.

Page 21: DocumentP1

Los datos dirigidos a los dispositivos de entrada/salida seenvían a través del bus de entrada/salida (o bus E/S). Estebus se utiliza para conectar todos los dispositivosauxiliares que necesita el ordenador para sufuncionamiento. Dichos dispositivos no se conectandirectamente el bus, sino a un circuito encargado degestionar su comunicación denominado “controlador”.

Una de las características que ha contribuido a que esta arquitectura haya alcanzado un niveltan alto de popularidad es la posibilidad de conectar de forma sencilla dispositivosadicionales. El bus de entrada/salida está preparado para conectar más dispositivos y asídotar al Pc de mayor capacidad. De esta forma, el Pc se puede completar con una impresora,un scanner, discos duros adicionales, lector/grabador de DVDs, etc. La mayoría de estosdispositivos se conectan al Pc a través de conectores específicamente incluidos a tal efecto(tal es el caso de la conexión de una impresora al puerto paralelo) o a través de las clavijas deexpansión.

Page 22: DocumentP1
Page 23: DocumentP1

FUNCIONES

Las funciones clásicas en un sistemas Operativo se agrupan en tres categorías:1. Gestión de los recursos de la computadora2. Ejecución de los servicios para los programas3. Ejecución de los mandatos de los usuarios

El S.O está formado por tres capas.Núcleo (kernel) Que es la que gestiona los recursos de hardware del sistema y la que suministra la funcionalidadbásica del sistemas operativo.Servicios o llamadas al Sistema Ofrece a los programas unos servicios en forma de interfaz API , desde el punto devista de los programas , esta capa extiende la funcionalidad de la computadora , por lo que se dice que el S.Oofrece una máquina virtual extendida a los programas.Interprete de Comandos Shell Suministra una interfaz a través de la cual el usuario puede dialogar de formainteractiva con la computadora. Esta capa recibe los mandatos de usuario, los interpreta y, si puede los ejecuta .

Page 24: DocumentP1

FUNCIONES DEL SISTEMA OPERATIVO

1.- Gestor de recursos: En un computador los programas

en ejecución deben compartir los recursos disponibles que

sonlimitados (CPU, memoria, dispositivos de E/S, etc.). El

s.o.establece la política que determina a quién, cuándo,

cuánto tiempo y la cantidad de recurso que asigna.

Page 25: DocumentP1

EL S.O. COMO GESTOR DE RECURSOS

ASIGNACIÓN DE RECURSOS Para este propósito debe mantener estructuras que le permitan saberque recursos están libres y cuáles están asignados a cada programa. La asignación se realiza segúnla disponibilidad de los mismos y la prioridad de los programas.También hace la recuperación de recursos cuando ya no son necesitados. Una mala recuperaciónpuede hacer que el sistema operativo considere por ejemplo que ya no le quede memoriadisponible cuando en realidad si la tiene.

Protección Ha de garantizar la protección entre los usuarios del sistema, para esto impide quealgunos programas accedan a los recursos asignados a otros programas.

Contabilidad Mide 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 recursos y se puede imputara cada usuario los recursos que ha utilizado.

Page 26: DocumentP1

2.- Máquina extendida: Los recursos hardware son

difíciles de manejar y programar (especialmente la E/S).

El s.o. debe ocultar la complejidad del hardware y

proporcionar una interfaz sencilla de utilizar.

FUNCIONES DEL SISTEMA

OPERATIVO

Page 27: DocumentP1

El S.O ofrece a los programas un conjuntos de servicios o llamadas del sistema que pueden solicitar cuando lo necesiten, proporcionando a los programas una visión de máquina extendida..Los servicios se pueden agrupar en 4 clases:

1. Ejecución de programas..- Existen servicios para lanzar la ejecución asi como para pararla y abortarla, también existen servicios para conocer y modificar las condiciones de ejecución, para sincronizar comunicar unos programas con otros.La ejecución de programas da lugar al concepto de proceso, que puede ser definido como un programa en ejecución. Para que un programa pueda ser convertirse en un proceso ha de estar traducido a código de máquina y almacenado en un dispositivo de almacenamiento.

Es importante diferenciar entre proceso y programa:

• Programa: Lista de instrucciones. Ente pasivo. Se almacena en ficheros.

• Proceso: Ejecución de un programa. Ente activo. La ejecución de un programa requiere que éste se cargue, previamente, en memoria.

EL SISTEMA OPERATIVO COMO MAQUINA EXTENDIDA

Page 28: DocumentP1

EL SISTEMA OPERATIVO COMO MAQUINA EXTENDIDA

2. Ordenes de E/S.- Estos servicios ofrecen una gran comodidad y protección al proveer a losprogramas de operaciones de lectura, escritura y modificación del estado de los periféricos.Las operaciones de E/S son complejas y dependiente del hardware específico del periférico.

3. Operaciones sobre archivos.- Los archivos ofrecen un mayor nivel de abstracción que lasordenes de E/S permitiendo operaciones como creación, borrado, renombrado, apertura,escritura y lectura de archivos.

4. Detección y tratamiento de errores.- Además de analizar todas las ordenes que recibe, paracomprobar que se pueden realizar, el S.O se encarga de tratar todas las condiciones de errorque detecte el hardware. Entre las condiciones de error d que pueden aparecer podemosmencionar los siguientes:

a) Errores en las operaciones de E/Sb) Errores de paridad en los accesos a memoria o en los busesc) Errores de ejecución en los programas como desbordamientos, violaciones de memoria,

códigos de instrucción prohibidas, etc.

Page 29: DocumentP1

EL SISTEMA OPERATIVO COMO INTERFAZ DE USUARIO

Cuando un usuario introduce una orden en un ordenador, ésta es captada por el intérprete de comandos (shell). Elintérprete se encarga de traducir o descomponer la orden en llamadas al sistema.El Shell se comporta como un bucle infinito que está repitiendo constantemente la siguiente secuencia:• Espera una orden del usuario. En el caso de interfaz textual el shell está pendiente de lo que escribe el usuario.

En las interfaces gráficas está pendiente de los eventos del apuntador (mouse).• Analiza la orden y, en caso de ser correcta la ejecuta para lo cual emplea los servicios del S.O.

Casi todos los interpretes de ordenes pueden ejecutar archivos de mandatos llamados shell scripts , estosarchivos incluyen varios mandatos totalmente equivalentes a los mandatos que se introducen en le terminal.Además para realizar funciones complejas pueden incluir mandatos especiales de control de flujo de ejecucióncomo por ej, el goto, for e el if .

Page 30: DocumentP1

ARRANQUE DE LA COMPUTADORA

El arranque de una computadora tiene 2 fases: la de arranque hardware y la del sistema operativo.Arranque Hardware

Las computadoras antiguas tenían una serie de conmutadoras que permitían introducir una a una palabras en lamemoria principal en los registros. El usuario debía introducir a mano y en binario un primer programa que permitiesecargar otros programas almacenados en algún soporte, como la cinta de papel.

En la figura podemos observar que una parte del mapa de memoria está construido con memoria ROM no volátil enesta se encuentra un programa de arranque está siempre disponible le, puesto que la ROM no pierde su contenido.Lo que le llamaremos Iniciador ROMAl encender la computadora o presionar RESET se genera una señal eléctrica para cargar valores predefinidos en losregistros, esta señal carga en el CP (contador de programa) la dirección de comienzo del iniciador ROM

FUNCIONES DEL INICIADOR ROM1. Hacer una comprobación del sistema que sirve para detectar sus características, memoria, dispositivos

conectados, etc, una vez pasada la comprobación entra a la fase de:2. Lectura y almacenamiento en memoria del programa cargador del S.O3. Da el control a este programa, bifurcando a la dirección de memoria en la que lo ha almacenado.

Nota.- Para tener una mayor flexibilidad se hace que el Iniciador Rom sea independiente del sistema operativo

Page 31: DocumentP1

ARRANQUE DEL SISTEMA OPERATIVO

Boot del sistema que está almacenado en una en una zona predefinida del disco

El programa cargador del S.O tiene por misión traer a memoria principal algunos de los componentes del SistemaOperativo. Una vez en memoria se pasa a la fase de iniciación que incluye las siguientes operaciones: :• Comprobación del Sistema Completamiento del hardware realizados por el ………… y se comprueba que el sistema

de archivos tengan coherencia.• Se establece las estructuras de información propias del S.O tales como tablas de procesos, tablas de memoria y las

de E/S• Se carga a memoria aquella parte del S.O que ha de estar siempre en memoria , a la que se le denomina Sistema

Operativo Residente• Se crea un proceso de inicio o LOGIN para cada terminal definido en el sistema.

Page 32: DocumentP1
Page 33: DocumentP1

COMPONENTES Y ESTRUCTURA DE UN SISTEMA OPERATIVO

El Núcleo es el que interacciona directamente con el hardware, las funciones de este se centran en la gestión derecursos como el procesador, tratamiento de interrupciones y las funciones básicas del manipulación de memoria.Los Servicios se suelen agrupar de acuerdo a su funcionalidad:Gestión de Procesos.- Encargada de la creación, planificación y destrucción de procesosGestión de Memoria.- Encargada de saber que partes de memoria están libres y cuales ocupadas, así como laasignación y liberación según la necesiten los recursos.Gestión de E/S.- Facilitar el uso de los dispositivos periféricosGestión de Archivos.- Manejo de archivos y directorios y de la administración del almacenamiento secundarioComunicación y Sincronización entre procesos.- Encargada de ofrecer mecanismos para que los procesos puedancomunicarse y sincronizarse.Seguridad y Protección.- Se encargará de garantizar la identidad de los usuarios y de definir lo que pueden hacercada uno de ellos con los recursos del sistema.

interfaz de servicios en la que los programas deben elegircon cual quieren ejecutar

Page 34: DocumentP1

ESTRUCTURA DEL SISTEMA OPERATIVOSISTEMAS OPERATIVOS MONOLITICOS

Tienen una estructura bien clara definida , todos sus componentes se encuentran integrados en un único programaque ejecuta en un único espacio de direcciones , todas las funciones que ofrece el sistema operativo se ejecutan enmodo núcleo.El problema que plantean es en lo complicado que es modificar el S.O para añadir nuevas funcionalidades yservicios, lo que implica la modificación de un gran programa compuesto por miles de líneas de código fuente yfunciones, cada una de las cuales puede invocar a otra cuando así lo requiera.

SISTEMAS OPERATIVOS ESTRUCTURADOS

Capa 5 Programa de usuario

Capa 4 Gestión de la E/S

Capa 3 Controlador de consola

Capa 2 Gestión de memoria

Capa 1 Planif. CPU y multiprogramac.

Capa 0 Hardware

El S.O se organiza como una jerarquía de capas , donde cada capa ofrece una interfaz clara y bien definida a la capasuperior y solamente utiliza los servicios que le ofrece la capa inferior.Su principal ventaja es la modularidad y la ocultación de la información , la capa superior no necesita conocer como seha implementado la capa anterior, solo conoce la interfaz que ofrece, lo que facilita que las capas se pueden irconstruyendo y depurando por separado

Page 35: DocumentP1

CLIENTE SERVIDOR

Este tipo de modelo consiste en implementar la mayor parte de los servicios y funciones del S.O en procesos deusuario, dejando solo una pequeña parte del sistema operativo ejecutando en modo núcleo conocido a esto comomicro núcleo y a los procesos que ejecutan el resto de funciones se les denomina Servidores

La gran ventaja de este modelo es la gran flexibilidad que presenta. Cada proceso servidor solo se ocupa de unafuncionalidad concreta, lo que hace que cada pate pueda ser pequeña y manejable Este tipo a su vez facilita eldesarrollo y depuración de cada uno de los procesos servidores.