UNIVERSIDAD PRIVADA TELESUP
1
UNIVERSIDAD PRIVADA TELESUP
Prefacio:
La asignatura es de naturaleza teórico - práctico, ha sido elaborada con un enfoque orientado al estudio de los sistemas operativos en virtud de la necesidad de contar con profesionales con altos conocimientos en esta materia. Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos de hardware del sistema.
En una definición informal es un sistema que consiste en ofrecer una distribución ordenada y controlada de los procesadores, memorias y dispositivos de E/S entre los diversos programas que compiten por ellos.
Comprende Cuatro Unidades de Aprendizaje: Unidad I: Fundamento de Sistemas Operativos. Unidad II: Administración de Procesos. Unidad III: Administración de Memoria. Unidad IV: Gestión de Entrada /Salida.
2
UNIVERSIDAD PRIVADA TELESUP
Estructura de los Contenidos
Fundamento de Sistemas Operativos
Administración de Procesos
Administración de Memoria
Gestión de Entrada /Salida
Conceptos Básicos de Sistema Operativo.
Control de Procesos.
Jerarquía de la Memoria.
Función del Gestor E/S
Evolución Histórica de los Sistemas Operativos.
Elementos Típicos de una Imagen de Proceso.
Partición de la Memoria.
Gestión del Disco.
Paginación
Planificación del Disco.
Componentes del Sistema.
Estados de un Proceso. Segmentación
Arquitecturas de Sistemas Operativos.
Planificación de Procesos.
Algoritmos LOOK y C-LOOK
La competencia que el estudiante debe lograr al final de la asignatura es:
“Conocer y aprender los proyectos de configuración de los sistemas operativos, empleando una metodología apropiada y llevando a cabo en forma satisfactoria la planificación, diseño e implementación del sistema.”
3
UNIVERSIDAD PRIVADA TELESUP
Índice del Contenido
I. PREFACIO II. DESARROLLO DE LOS CONTENIDOS UNIDAD DE APRENDIZAJE 1: FUNDAMENTO DE SISTEMAS OPERATIVOS 1. Introducción a. Presentación y contextualización b. Competencia c. Capacidades d. Actitudes e. Ideas básicas y contenido 2. Desarrollo de los temas a. Tema 01: Conceptos Básicos de Sistema Operativo. b. Tema 02: Evolución Histórica de los Sistemas Operativos. c. Tema 03: Componentes del Sistema. d. Tema 04: Arquitecturas de Sistemas Operativos. 3. Lecturas recomendadas 4. Actividades 5. Autoevaluación 6. Resumen UNIDAD DE APRENDIZAJE 2: ADMINISTRACIÓN DE PROCESOS 1. Introducción a. Presentación y contextualización b. Competencia c. Capacidades d. Actitudes e. Ideas básicas y contenido 2. Desarrollo de los temas a. Tema 01: Control de Procesos. b. Tema 02: Elementos Típicos de una Imagen de Proceso. c. Tema 03: Estados de un Proceso. d. Tema 04: Planificación de Procesos. 3. Lecturas recomendadas 4. Actividades 5. Autoevaluación 6. Resumen UNIDAD DE APRENDIZAJE 3: ADMINISTRACIÓN DE MEMORIA 1. Introducción a. Presentación y contextualización b. Competencia c. Capacidades d. Actitudes e. Ideas básicas y contenido 2. Desarrollo de los temas a. Tema 01: Jerarquía de la Memoria. b. Tema 02: Partición de la Memoria. c. Tema 03: Paginación. d. Tema 04: Segmentación. 3. .Lecturas recomendadas 4. Actividades 5. Autoevaluación 6. Resumen UNIDAD DE APRENDIZAJE 4: GESTIÓN DE ENTRADA /SALIDA 1. Introducción a. Presentación y contextualización b. Competencia c. Capacidades d. Actitudes e. Ideas básicas y contenido 2. Desarrollo de los temas a. Tema 01: Función del Gestor E/S. b. Tema 02: Gestión del Disco. c. Tema 03: Planificación del Disco. d. Tema 04: Algoritmos LOOK y C-LOOK. 3. Lecturas recomendadas 4. Actividades 5. Autoevaluación 6. Resumen III. GLOSARIO IV. FUENTES DE INFORMACIÓN V. SOLUCIONARIO
02 03 - 117 04-32 05 05 05 05 05 05 07-28 07 12 17 23 29 29 30 32 33-59 34 34 34 34 34 34 35-55 36 38 43 49 56 56 57 59 60-93 61 61 61 61 61 61 62-89 62 73 80 86 90 90 91 93 94-113 95 95 95 95 95 95 96-109 96 99 103 107 110 110 111 113 114 116 117
4
UNIVERSIDAD PRIVADA TELESUP
5
UNIVERSIDAD PRIVADA TELESUP
Introducción
a) Presentación y contextualización: Los temas que se tratan en la presente Unidad, tienen por finalidad que el estudiante conozca los orígenes, utilidades y aplicaciones del sistema operativo.
b) Competencia: Relaciona y aplica correctamente los principales fundamentos teóricos de los componentes del sistema operativo.
c) Capacidades: 1. Conoce las distintas definiciones del sistema operativo. 2. Describe el origen y evolución histórica de los sistemas operativos. 3. Reconoce los distintos componentes y características de cada sistema operativo. 4. Describe el desarrollo de la arquitectura de los sistemas operativos.
d) Actitudes: Se interesa por la eficiencia en el funcionamiento de los sistemas operativos. Muestra habilidad para manejar los distintos sistemas operativos existentes.
e) Presentación de Ideas básicas y contenidos esenciales de la Unidad: La Unidad de Aprendizaje 01: Fundamento de Sistemas Operativos, comprende el desarrollo de los siguientes temas: TEMA 01: Conceptos Básicos de Sistema Operativo. TEMA 02: Evolución Histórica de los Sistemas Operativos. TEMA 03: Componentes del Sistema. TEMA 04: Arquitecturas de Sistemas Operativos.
6
UNIVERSIDAD PRIVADA TELESUP
Conceptos Bรกsicos
TEMA 1
de
Sistema Operativo Competencia: Conocer las distintas definiciones del sistema operativo.
7
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
Tema 01: Conceptos Básicos de Sistema Operativo DEFINICIÓN DE SISTEMA OPERATIVO Conjunto de programas o software destinado a permitir la comunicación del usuario con un ordenador y gestionar sus recursos de manera cómoda y eficiente. Comienza a trabajar cuando se enciende el ordenador y gestiona el hardware de la máquina desde los niveles más básicos.
El sistema operativo es el programa (o software) más importante de un ordenador. Para que funcionen los otros programas, cada ordenador de uso general debe tener un sistema operativo. Los sistemas operativos realizan tareas básicas, tales como reconocimiento de la conexión del teclado, enviar la información a la pantalla, no perder de vista archivos y directorios en el disco, y controlar los dispositivos periféricos tales como impresoras, escáner, etc.
En sistemas grandes, el sistema operativo tiene incluso mayor responsabilidad y poder, es como un policía de tráfico, se asegura de que los programas y usuarios que están funcionando al mismo tiempo no interfieran entre ellos. El sistema operativo también es responsable de la seguridad, asegurándose de que los usuarios no autorizados no tengan acceso al sistema.
App1
App2
App3
Hardware Sistema Operativo Figura: Visión general del Sistema Operativo
8
UNIVERSIDAD PRIVADA TELESUP
NIVELES DEL SISTEMA OPERATIVO El Sistema Operativo tiene tres niveles: Shell, Servicios o llamadas al sistema y núcleo.
Shell: El shell es un programa que comunica el núcleo con los usuarios, ya sean procesos o personas. El shell cuenta con un extenso grupo de comandos que los usuarios pueden utilizar para solicitar acciones. El shell interpreta esos comandos y realiza las llamadas al sistema.
Servicios o Llamadas al Sistema: Ofrece a los programas un conjunto de servicios en forma de interfaz de programación o API.
Núcleo: El núcleo es un programa con la capacidad y autoridad de asignar y restringir el uso de todos los recursos. Es el elemento administrador. Sin embargo, los usuarios no pueden interactuar directamente con el núcleo, porque el núcleo sólo atiende llamadas de sistema, que tienen un formato complejo.
Figura: Partes del Sistema Operativo
9
UNIVERSIDAD PRIVADA TELESUP
FUNCIONES DEL SISTEMA OPERATIVO Las principales funciones que desarrolla el Sistema Operativo son:
Hacer de interface con el usuario.
Facilitar la E/S (facilita la comunicación con los periféricos).
Permitir compartir el HW y los datos (un servidor deja compartir su hw y sus datos con otros pc's).
Protección (por ejemplo, que un usuario borre los datos de otro).
Planificar la distribución de recursos, es decir, debemos distribuir el procesador para que varios usuarios puedan trabajar en él simultáneamente. La planificación es cómo se reparten los recursos.
Recuperarse de los errores.
Organización de datos (en el sentido de localizar rápidamente la información)
Manejo de comunicaciones de la red.
Según las funciones del Sistema Operativo, podemos hacer una clasificación de éstos:
Como Administrador de recursos.
Como Protección.
Como Máquina virtual, que ofrece un interface.
OBJETIVOS DE SISTEMA OPERATIVO 1. Facilitar el trabajo al usuario. 2. Repartir correctamente los recursos.
10
UNIVERSIDAD PRIVADA TELESUP
CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS Los sistemas operativos pueden ser clasificados de la siguiente forma:
Multiusuario: Permite que dos o más usuarios utilicen sus programas al mismo tiempo. Algunos sistemas operativos permiten a centenares o millares de usuarios al mismo tiempo.
Multiprocesador: soporta el abrir un mismo programa en más de una CPU. Multitarea: Permite que varios programas se ejecuten al mismo tiempo. Multitramo: Permite que diversas partes de un solo programa funcionen al mismo tiempo.
Tiempo Real: Responde a las entradas inmediatamente. Los sistemas operativos como DOS y UNIX, no funcionan en tiempo real.
¿Cómo Funciona un Sistema Operativo? Los sistemas operativos proporcionan una plataforma de software encima de la cual otros programas, llamados aplicaciones, puedan funcionar. Las aplicaciones se programan para que funcionen encima de un sistema operativo particular, por tanto, la elección del sistema operativo determina en gran medida las aplicaciones que puedes utilizar. Los sistemas operativos más utilizados en los PC son DOS, OS/2, y Windows, pero hay otros que también se utilizan, como por ejemplo Linux.
¿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 pinchando en objetos que aparecen en la pantalla.
11
UNIVERSIDAD PRIVADA TELESUP
Evoluci贸n Hist贸rica
TEMA 2
de los
Sistemas Operativos Competencia: Describir el origen y evoluci贸n hist贸rica de los sistemas operativos.
12
UNIVERSIDAD PRIVADA TELESUP
Tema 02: Evolución Histórica de los Sistemas Operativos INTRODUCCIÓN Los Sistemas Operativos han evolucionado a través de los años. En las secciones siguientes revisaremos este desarrollo. Puesto que los Sistemas Operativos han estado relacionados históricamente con la arquitectura de las computadoras en las cuales se ejecutan, analizaremos las generaciones sucesivas de computadoras para ver cómo eran sus sistemas operativos.
La primera computadora digital real fue diseñada por el matemático inglés Charles Babbage (1792 1871). Aunque Babbage consumía gran parte de su vida y fortuna en el intento de construir su "maquina analítica", nunca logró que funcionara de manera adecuada, ya que ésta era un diseño puramente mecánico y la tecnología de su época, no podía producir las ruedas, engranes, levas y demás partes mecánicas, con la precisión que él necesitaba. Sobra decir que la maquina-analítica no tenía un sistema operativo.
La evolución de los Sistemas Operativos se puede clasificar de la siguiente manera:
La primera generación (1945-1955): Bulbos y conexiones.
La segunda generación (1955-1965): Transistores y sistemas de procesamiento por lotes.
La tercera generación (1965-1980): Circuitos integrados y Multiprogramación.
La cuarta generación (1980-1990): Computadoras personales.
13
UNIVERSIDAD PRIVADA TELESUP
LA PRIMERA GENERACIÓN (1945-1955): BULBOS Y CONEXIONES Luego de los infructuosos esfuerzos de Charles Babbage, hubo un déficit de construcción de computadoras digitales. Esto ocurre hasta la Segunda Guerra Mundial. A mitad de la década de los ’40, Howard Airen (Harvard), Jon Von Newman (Princeton), J.Prespe, R. Eckert y William Mauchley (Universidad de Pennsylvania), así como Conrad Zuse (Alemania), entre otros, lograron construir máquinas de cálculos mediante bulbos. Estas máquinas eran enormes y llenaban piezas completas con una increíble cantidad de bulbos, pero eran mucho más lentas que la computadora casera más económica en nuestros días.
Toda la programación se llevaba a cabo mediante lenguaje máquina absoluto y frecuentemente utilizaban conexiones para controlar las funciones básicas de la máquina. La mayoría de los lenguajes de programación eran desconocidos (incluso el ensamblador), no se oía de los Sistemas Operativos. El modo usual de operación que consistía en pegar una hoja en la pared, iba al cuarto de máquina, insertaba una conexión a la computadora y pasaban unas horas, esperando que ninguno de los 20,000 bulbos se quemara durante la ejecución. La mayoría de los problemas eran cálculos numéricos directos; por ejemplo, el cálculo de valores de senos y cosenos.
A principios de la década de los ’50, la rutina mejora un poco con la introducción de las tarjetas perforadas. Fue posible entonces escribir los programas y leerlas en vez de insertar conexiones; por lo demás, el proceso era el mismo.
Figura: La máquina ENIAC
14
UNIVERSIDAD PRIVADA TELESUP
LA SEGUNDA GENERACIÓN (1955-1965): TRANSISTORES Y SISTEMAS DE PROCESAMIENTO POR LOTES La introducción del transistor a mediados de los ’50, modificó radicalmente el panorama. Las computadoras se volvieron confiables, de manera que podían fabricarse y venderse a clientes, con la esperanza de continuaran funcionando lo suficiente como para realizar un trabajo en forma.
Debido a su alto costo, no debe sorprender el hecho de que las personas buscaran por vías rápidas reducir el tiempo invertido. La solución que por lo general se adoptó, fue el anteriormente mencionado “proceso por lotes”
Figura: Uno de los primeros sistemas de procesamiento por lotes
LA TERCERA GENERACIÓN (1965-1980): CIRCUITOS INTEGRADOS Y MULTIPROGRAMACIÓN. La máquina 360 de IBM fue la primera línea principal que utilizó circuitos integrados, lo cual proporcionó una gran ventaja en el precio y desempeño respecto de las máquinas de la segunda generación, construidas a partir de transistores individuales. Se trabajó con un sistema operativo de la línea IBM 360. Los sistemas operativos similares de esta generación, producidos por otros fabricantes de computadoras, realmente pudieron satisfacer en forma razonable a la mayoría de los clientes. También se popularizaron técnicas fundamentales, ausentes de los Sistemas Operativos de la segunda generación de las cuales la más importante era la Multiprogramación.
15
UNIVERSIDAD PRIVADA TELESUP
Otra de las características, era la de leer trabajos de las tarjetas al disco, tan pronto como llegara al cuarto de cómputo. Así, siempre que se concluyera un trabajo, el Sistema Operativo podía cargar un nuevo trabajo al disco en la partición que quedara desocupada y ejecutarlo.
LA CUARTA GENERACIÓN (1980-1990): COMPUTADORAS PERSONALES A mediados de los ’80 se produjo un incremento en las redes
de
computadoras
personales
con
sistemas
operativos de red y sistemas operativos distribuidos.
En este tipo de sistemas, los de red, los usuarios eran consientes de la existencia de varias computadoras interconectadas, otras conectadas a máquinas remotas y realizar operaciones con archivos, ya sea copiar, mover desde una máquina a otra. Cada computadora ejecuta su sistema operativo local y tiene su propio usuario
Su contraparte, el sistema operativo distribuido, es aquel que aparece ante los usuarios como un sistema tradicional de un solo procesador, aun cuando esté compuesto por varios procesadores. En un sistema distribuido verdadero, los usuarios no deben ser consientes del lugar donde su programa se ejecute o del lugar donde se encuentran sus archivos; eso debe ser manejado de forma eficaz y automática por el sistema operativo.
16
UNIVERSIDAD PRIVADA TELESUP
Componentes
TEMA 3
del
Sistema Competencia: Reconocer los distintos componentes y caracterĂsticas de cada sistema operativo.
17
UNIVERSIDAD PRIVADA TELESUP
Tema 03: Componentes del Sistema
INTRODUCCIÓN El sistema está conformado por los siguientes componentes:
Figura: Componentes del Sistema Operativo
Gestión de procesos. Gestión de memoria. Gestión de la E/S. Gestión de archivos y directorios. Seguridad y protección. Redes. Intérprete de comandos.
GESTIÓN DE PROCESOS Proceso es un programa en ejecución. Se le deben asignar recursos (procesador, memoria, dispositivos de E/S, archivos, etc.).
Funciones: Creación y destrucción de procesos. Suspensión y reanudación de procesos. Mecanismos de sincronización de procesos. Mecanismos de comunicación entre procesos (IPC).
18
UNIVERSIDAD PRIVADA TELESUP
GESTIÓN DE LA MEMORIA PRINCIPAL
A los procesos debe asignárseles memoria para su ejecución.
Núcleo requiere Memoria Principal para su funcionamiento.
Debe traducir direcciones lógicas en direcciones reales.
Funciones: Registrar el uso de la memoria (partes libres y asignadas, además quién las está usando). Decidir qué proceso cargar en la memoria. Asignar y liberar memoria según necesidad.
Gestión de la Memoria Secundaria Permite ampliar la capacidad de la Memoria Principal. Se mantiene respaldo de datos y programas presentes en la Memoria Principal.
Funciones:
Gestión del espacio libre.
Asignación de memoria.
Planificación del disco.
Figura: Jerarquía de la Memoria del Sistema
19
UNIVERSIDAD PRIVADA TELESUP
GESTIÓN DEL SISTEMA DE E/S
El Sistema Operativo debe ocultar al usuario las particularidades de los dispositivos del hardware.
Abstraer los dispositivos físicos mediante controladores de dispositivos.
Funciones:
Sistema de buffering y caching de datos.
Interfaz genérica para los dispositivos (especie de polimorfismo para las interfaces de drivers).
Implementaciones específicas de cada dispositivo.
CPU
Controlador de Disco
Controlador de Impresora
Controlador de Memoria USB
Controlador de memoria
Memoria
Figura: Dispositivos de Entrada y Salida
GESTIÓN DE ARCHIVOS
Archivo es un conjunto de información relacionada definida por su creador.
Permite abstraer medios de almacenamiento y comunicación.
Se deben proteger en sistemas multiusuarios.
20
UNIVERSIDAD PRIVADA TELESUP
Funciones:
Crear y destruir archivos y directorios.
Operaciones de manipulación de archivos y directorios.
Mapeo del archivo en dispositivos de almacenamiento.
Respaldo de archivos.
SISTEMA DE PROTECCIÓN
Necesario en sistemas de múltiples usuarios y procesos.
Se debe garantizar acceso seguro de procesos autorizados a ciertos recursos.
Deben haber mecanismos para definir políticas de seguridad y poder controlarlas.
INTERPRETADOR DE ÓRDENES
Interfaz básica del usuario con el sistema
Permite
al
usuario
ejecutar
programas
y
controlar su ejecución.
Unix la denomina Shell
Existen
lenguajes
de
órdenes
(script)
e
interfaces más amigables (sistemas de ventanas).
SERVICIOS, LLAMADAS AL SISTEMA Una llamada al sistema es un mecanismo mediante el cual un proceso solicita un servicio del Sistema Operativo.
21
UNIVERSIDAD PRIVADA TELESUP
Programa de usuario 1 llamada al sistema
Programa de ...
usuario n
Control vuelve al programa de usuario 1
Tabla de RTI trap
Se ejecuta en modo NO privilegiado
rutina de servicio
Se ejecuta en modo PRIVILEGIADO
Procesamiento de la interrupción
El Sistema Operativo, en conjunto con el hardware, se presentan al usuario como un solo dispositivo con diversas instrucciones más flexibles y variadas que prestan una serie de servicios, a las que se conoce como llamadas al sistema (system calls en inglés).
Las llamadas al sistema son invocaciones de rutina de biblioteca.
Los lenguajes C/C++, permiten hacer llamadas al sistema.
PROGRAMAS DEL SISTEMA Proporcionan un entorno adecuado para el desarrollo y ejecución de programas son la visión del Sistema Operativo que tienen muchos usuarios y no la de las llamadas al sistema. Categorías: o
Manipulación de ficheros: copia, mover,…
o
Información de estado: monitores,...
o
Programación: compiladores, depuradores,…
o
Carga y ejecución: cargador,…
o
Comunicaciones: telnet, ftp,…
o
Aplicaciones: servidores BD, navegadores,...
22
UNIVERSIDAD PRIVADA TELESUP
Arquitecturas de Sistemas
TEMA 4
Operativos Competencia: Describir el desarrollo de la arquitectura de los sistemas operativos.
23
UNIVERSIDAD PRIVADA TELESUP
Tema 04: Arquitecturas de Sistemas Operativos INTRODUCCIÓN Los Sistemas operativos modernos son complejos. Requieren de una organización modular con interfaces bien definidas. Tipos de sistemas:
Simple
Máquina Virtual
Monolíticos
Cliente/Servidor y Microkernel
Múltiples capas
SISTEMA OPERATIVO SIMPLE Características:
Sistemas
monousuarios
con
funcionalidad
básica
(computadores personales antiguos).
No existen protecciones ni multiprogramación.
Cualquier falla de programación hace caer al sistema.
No
ofrece
modo
dual
de
operación:
usuario/supervisor.
Figura: Ejemplo de SO Simple: MS-DOS
24
UNIVERSIDAD PRIVADA TELESUP
SISTEMAS MONOLÍTICOS Características: •
Permiten multiprogramación y soportan múltiples usuarios.
•
El sistema operativo es un conjunto de procedimientos que se agrupan en el núcleo.
•
El núcleo está protegido (modo dual).
•
Núcleo tiende a ser de gran tamaño, aumentando las posibilidades de falla (caídas del sistema).
•
Algunos servicios de más alto nivel pueden ser incorporados a nivel de procesos.
Figura: Sistemas Monolíticos
Ejemplo de Sistema Operativo Monolítico: UNIX
25
UNIVERSIDAD PRIVADA TELESUP
SISTEMAS CON CAPAS Características Permiten una mejor modularización y protección de las componentes del sistema. Comunicación entre capas se realiza mediante trampas (interrupciones software). Comunicación entre capas introduce mucho costo en la operación (overhead).
Figura: Estructura del S.O. en capas "THE”
Capa 0:
Trabaja con la asignación del procesador.
Alterna entre los procesos cuando ocurren las interrupciones o expiran los cronómetros.
Proporciona la multiprogramación básica.
Capa 1:
Administra la memoria.
Asegura que las páginas (porciones de memoria) requeridas de los procesos lleguen a memoria cuando fueran necesarias.
26
UNIVERSIDAD PRIVADA TELESUP
Capa 2:
Administra la comunicación entre cada proceso y la consola del operador.
Por sobre esta capa, cada proceso tiene su propia consola de operador.
Capa 3:
Controla los dispositivos de e / s y almacena en buffers los flujos de información entre ellos.
Por sobre la capa 3 cada proceso puede trabajar con dispositivos abstractos de e / s en vez de dispositivos reales.
Capa 4:
Aloja los programas del usuario.
Los programas. del usuario no tienen que preocuparse por el proceso, memoria, consola o control de e / s.
Capa 5:
Localiza el proceso operador del sistema.
MÁQUINAS VIRTUALES Características
Permite crear sobre una máquina varias máquinas virtuales.
Cada máquina virtual puede ejecutar un sistema operativo diferente.
Útil para ejecutar programas desarrollados para diferentes sistemas operativos en una sola máquina.
Estructura normalmente pesada: Alto consumo de memoria y tiempo de procesador.
Figura: Máquinas Virtuales
27
UNIVERSIDAD PRIVADA TELESUP
SISTEMAS CLIENTE/SERVIDOR Características
Se intenta llevar los servicios básicos del sistema operativo a nivel de procesos (procesos servidores).
Solicitud de servicio de un proceso (de un proceso cliente) se realiza mediante mecanismo de comunicación entre procesos (paso de mensajes)
Tamaño del núcleo se minimiza (microkernel), siendo más seguro y ágil.
La tecnología actual de Sistema Operativo es de microkernel.
Soporta multiprocesamiento simétrico.
Microkernel normalmente da soporte para múltiples hebras.
Figura: Sistema cliente/servidor
EJEMPLO DE WINDOWS NT Windows NT/2000/XP es mezcla de un sistema monolítico (por eficiencia) y clienteservidor (por flexibilidad).
Figura: Sistema Windows NT
28
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
CONCEPTOS DE SISTEMA OPERATIVO http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO1.htm
TIPOS DE SISTEMAS OPERATIVOS http://dis.um.es/~jfernand/docencia/si/tiposso.pdf
Actividades y Ejercicios
1. En un documento en Word realice un resumen de los orígenes de los sistemas operativos. Envíalo a través de "Sistemas Operativos". 2. En un documento en Word explique las aplicaciones y utilidades de cada uno de los tipos de los sistemas operativos (S.O.). Envíalo a través de "Tipos de S.O.".
29
UNIVERSIDAD PRIVADA TELESUP
Autoevaluación
1) No es una de las características del sistema operativo simple: a. Sistemas monousuarios con funcionalidad básica (computadores personales antiguos). b. No existen protecciones ni multiprogramación. c. Cualquier falla de programación hace caer al sistema. d. Cualquier falla de sistematización hace perder los programas. e. No ofrece modo dual de operación: usuario/supervisor. 2) Sistema operativo es: a. Conjunto de programas o software destinado a permitir la comunicación del usuario con un ordenador y gestionar sus recursos de manera cómoda y eficiente. b. Conjunto de programas o software destinado a permitir la comunicación del usuario con un cliente externo y gestionar sus recursos de manera cómoda y eficiente. c. Conjunto de códigos sistemáticos destinado a permitir la comunicación del usuario con un ordenador y gestionar sus recursos de manera cómoda y eficiente. d. Conjunto de programas destinado a administrar la comunicación del usuario con un ordenador y gestionar sus recursos de manera cómoda y eficiente. e. Conjunto de programas o software destinado a transmitir la comunicación del usuario con un usuario en el exterior y gestionar sus recursos de manera cómoda y eficiente. 3) No es una función del sistema operativo: a. b. c. d. e.
Hacer de interface con el usuario. Facilitar la E/S (facilita la comunicación con los periféricos). Protección (por ejemplo, que un usuario borre los datos de otro). Recuperarse de los errores. Manejo de los archivos de la PC.
4) Los niveles del sistema operativo son: a. b. c. d. e.
Shell, Servicios o instrucciones al sistema y núcleo. Shell, Servicios o llamadas al sistema y núcleo. Shell, Servicios o llamadas al cliente y núcleo. Shell, información o llamadas al sistema y núcleo. Shell, software o llamadas al sistema y núcleo.
5) No corresponde a las funciones de la gestión de archivos: a. b. c. d. e.
Crear y destruir archivos y directorios. Operaciones de manipulación de archivos y directorios. Mapeo del archivo en dispositivos de almacenamiento. Respaldo de archivos. Operaciones de selección de archivos.
30
UNIVERSIDAD PRIVADA TELESUP
6) La primera computadora digital real fue diseñada por: a. b. c. d. e.
El matemático inglés Michael Babbage (1795 - 1871). El matemático inglés Carlos Babbage (1794 - 1871). El matemático inglés Chettes Babbage (1790 - 1871). El matemático inglés Charles Babbage (1792 - 1871). El matemático inglés Charles Bubge (1798 - 1871).
7) Fue la primera línea principal que utilizó circuitos integrados, lo cual proporcionó una gran ventaja en el precio y desempeño respecto de las máquinas de la segunda generación, construidas a partir de transistores individuales. a. b. c. d. e.
La máquina 360 de IBM. La máquina 365 de IBM. La máquina 320 de IBM. La máquina 370 de IBM. La máquina 350 de IBM.
8) No corresponde a los componentes del sistema operativo: a. b. c. d. e.
Gestión de procesos. Gestión de memoria. Gestión de carpetas del usuario. Seguridad y protección. Intérprete de comandos.
9) Es una de las características del sistema operativo cliente/servidor: a.
Se intenta llevar los servicios adecuados del sistema operativo a primer nivel de procesos (procesos servidores). b. Solicitud de servicio de un proceso (de un proceso cliente) se realiza mediante mecanismo de comunicación entre procesos (paso de mensajes) c. Tamaño del núcleo se maximiza (microkernel), siendo más seguro y ágil. d. Solicitud de servicio de un proceso (de un proceso del usuario) se realiza mediante mecanismo de comunicación entre procesos (paso de mensajes). e. Se intenta llevar las transferencias de información del sistema operativo a primer nivel de procesos (procesos servidores). 10) No es uno de los tipos de sistemas operativos: a. b. c. d. e.
Simple. Monolíticos. Capas fijas. Máquina virtual. Cliente/Servidor y Microkernel.
31
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE I:
En sistemas grandes, el sistema operativo tiene incluso mayor responsabilidad y poder, es como un policía de tráfico, se asegura de que los programas y usuarios que están funcionando al mismo tiempo no interfieran entre ellos. El sistema operativo también es responsable de la seguridad, asegurándose de que los usuarios no autorizados no tengan acceso al sistema.
La primera computadora digital real fue diseñada por el matemático inglés Charles Babbage (1792 1871). Aunque Babbage consumía gran parte de su vida y fortuna en el intento de construir su "maquina analítica", nunca logró que funcionara de manera adecuada, ya que ésta era un diseño puramente mecánico y la tecnología de su época, no podía producir las ruedas, engranes, levas y demás partes mecánicas, con la precisión que él necesitaba. Sobra decir que la maquina-analítica no tenía un sistema operativo.
Algunos de los componentes del sistema operativo son: Gestión de procesos. Gestión de memoria. Gestión de la E/S. Gestión de archivos y directorios. Seguridad y protección. Redes. Intérprete de comandos.
Los Sistemas operativos modernos son complejos. organización modular con interfaces bien definidas. Los tipos de sistemas son: Simple Monolíticos Múltiples capas Máquina Virtual Cliente/Servidor y Microkernel
Requieren
de
una
32
UNIVERSIDAD PRIVADA TELESUP
33
UNIVERSIDAD PRIVADA TELESUP
Introducción
a) Presentación y contextualización: Los temas que se tratan en la presente Unidad, tienen por finalidad que el estudiante conozca los conceptos de procesos, y como estos son administrados por el ordenador; como el Sistema Operativo realiza la administración de los procesos. Uno de los módulos más importantes de un sistema operativo es la de administrar los procesos y tareas del sistema de cómputo. El sistema realiza varias actividades simultáneamente que compiten por la utilización de determinados recursos, entre los que destaca la CPU, estas actividades se denominan procesos.
b) Competencia: Identifica las actividades simultáneas que utilizan determinados recursos para la adecuada administración de procesos en los sistemas operativos.
c) Capacidades: 1. Conoce la estructura de control en forma general del sistema operativo. 2. Identifica el proceso de control que usa el Sistema Operativo. 3. Diferencia los múltiples estados por los cuales pasa un proceso. 4. Comprende la actividad de planificación en los procesos para cumplir con los objetivos del sistema.
d) Actitudes: Toma una actitud positiva e interés ante los elementos de un proceso. Muestra
interés
de investigación
de los
temas
relacionados
con
la
administración de procesos.
e) Presentación de Ideas básicas y contenidos esenciales de la Unidad: La Unidad de Aprendizaje 02: Administración de Procesos, comprende el desarrollo de los siguientes temas: TEMA 01: Control de Procesos. TEMA 02: Elementos Típicos de una Imagen de Proceso. TEMA 03: Estados de un Proceso. TEMA 04: Planificación de Procesos.
34
UNIVERSIDAD PRIVADA TELESUP
Control
TEMA 1
de
Procesos Competencia: Conocer la estructura de control en forma general del sistema operativo.
35
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
Tema 01: Control de Procesos
ABSTRACCIÓN DE PROCESO El proceso es una abstracción creada por el SO, que se compone de:
Programa: Código y datos del programa cargado en memoria principal.
Contexto de Ejecución: PC, registros del procesador y un stack para invocación de procedimientos.
DESCRIPCIÓN DE PROCESOS El Sistema Operativo es el controlador de los sucesos que se producen en un sistema informático. Es el que planifica y expide los procesos para su ejecución en el procesador, el que asigna los recursos a los procesos y el que responde a las solicitudes de servicios básicos realizadas por los programas de usuario. Esencialmente, se puede imaginar al Sistema Operativo como una entidad que administra el uso que hacen los procesos de los recursos el sistema.
ESTRUCTURAS DE CONTROL DEL SISTEMA OPERATIVO Si el Sistema Operativo va a administrar los procesos y los recursos, entonces tiene que disponer de información sobre el estado actual de cada proceso y de cada recurso.
36
UNIVERSIDAD PRIVADA TELESUP
El método universal para obtener esta información es sencillo: el Sistema Operativo construye y mantiene tablas de información sobre cada entidad que esté administrando.
Tablas de memoria
Imagen de Proceso
Memoria Proceso 1 Dispositivo s
Tablas de dispositivos
Ficheros
Tablas de ficheros
Procesos Tablas de procesos principal
Proceso 1 Proceso 2
Imagen de Proceso
Proceso 3
Proceso n
Proceso n
Figura: Estructura general de las tablas de control del Sistema Operativo
Tabla de Memoria Se utiliza para conocer en cada momento el estado de la memoria interna y del almacenamiento secundario.
Tablas de Dispositivos Utilizadas por el SO para administrar los dispositivos, ya que en un momento determinado un dispositivo de E/S puede estar disponible o asignado a un proceso en particular.
Tablas de Ficheros Ofrecen al S.O información sobre los archivos existentes, su posición en memoria (principal y secundaria), su estado actual y otros atributos. Lo controla el sistema de archivos.
Tabla de Procesos Para administrar y controlar los procesos, para lo cual se debe conocer donde está ubicado el proceso y sus atributos.
37
UNIVERSIDAD PRIVADA TELESUP
Elementos TÃpicos de una
TEMA 2
Imagen de Proceso Competencia: Identificar el proceso de control que usa el sistema operativo.
38
UNIVERSIDAD PRIVADA TELESUP
Tema 02: Elementos Típicos de una Imagen de Proceso El SO agrupa toda la información que necesita conocer respecto a un proceso particular en una estructura de datos denominada descriptor de proceso o bloque de control de proceso (BCP). Cada vez que se crea un proceso, el SO crea uno de estos bloques para que sirva como descripción en tiempo de ejecución durante toda la vida del proceso.
Datos del usuario Programa del Usuario Pila del sistema Bloque de Control de Proceso Figura: Elementos típicos de una imagen de proceso
Datos del Usuario La parte modificable del espacio de usuario. Puede guardar datos del programa, una zona para una pila del usuario y programas que pueden modificarse.
Programa del Usuario El programa a ejecutar
Pila del Sistema Cada proceso tiene una o más pilas (el último que entra es el primero en salir) asociadas a él. Una pila se utiliza para almacenar los parámetros y las direcciones de retorno.
Bloque de Control de Proceso Información necesaria para que el sistema operativo controle al proceso.
39
UNIVERSIDAD PRIVADA TELESUP
Bloque de Control de Proceso (PCB). Es una estructura de datos donde se almacenan los atributos de un proceso, es decir, la información asociada a un proceso. Esta información puede agruparse en tres categorías:
• Identificación de proceso
Información de estado del proceso
Información de control del proceso
• • • • • • • • •
Identificadores.
Registros Visibles para el Usuario. Registros de Control y de Estado. Punteros de pila.
Información de Planificación y de Estado. Estructuración de datos. Comunicación entre Procesos. Privilegios de los procesos. Gestión de Memoria. Propiedad de los Recursos y Utilización.
Figura: Bloque de control de proceso
ELEMENTOS BÁSICOS DE UN BLOQUE DE CONTROL DE PROCESO Identificación de Proceso Identificadores Los identificadores numéricos que se pueden guardar en el bloque de control de proceso incluyen:
Identificador de este proceso.
Identificador del proceso que creó a este proceso (el proceso padre)
Identificador del usuario.
40
UNIVERSIDAD PRIVADA TELESUP
Información de Estado del Procesador Registros Visibles para el Usuario Un registro visible para el usuario es aquél al que puede hacerse referencia por medio del lenguaje máquina que ejecuta el procesador. Normalmente, existen de 8 a 32 de estos registros, aunque algunas implementaciones RISC tienen más de 100.
Registros de Control y de Estado Hay varios registros del procesador que se emplean para controlar su funcionamiento. Entre estos se incluyen: o
Contador de programa: Contiene la dirección de la próxima instrucción a ser tratada.
o
Códigos de condición: Muestran el resultado de la operación aritmética o lógica más reciente (signo, cero, acarreo, igualdad, desbordamiento).
o
Información de estado: Incluye los indicadores de habilitación o inhabilitación de interrupciones y el modo de ejecución.
Punteros de Pila Cada proceso tiene una o más pilas LIFO de sistema asociadas. Las pilas se utilizan para almacenar los parámetros y las direcciones de retorno de los procedimientos y de las llamadas al sistema. El puntero de pila siempre apunta a la cima de la pila.
Información de Control del Proceso Información de Planificación y de Estado Es la información que necesita el Sistema Operativo para llevar a cabo sus funciones de planificación. Los elementos típicos de esta información son los siguientes:
Estado del Proceso: Define la disposición del proceso para ser planificado para ejecutar (en ejecución, listo, esperando, detenido).
Prioridad: Se puede usar uno o más campos para describir la prioridad de planificación de los procesos. En algunos sistemas se necesitan varios valores (por omisión, actual, la más alta permitida).
41
UNIVERSIDAD PRIVADA TELESUP
Información de Planificación: Ésta dependerá del algoritmo de planificación utilizado. Como ejemplos se tienen la cantidad de tiempo que el proceso ha estado esperando y la cantidad de tiempo que el proceso ejecutó la última vez.
Suceso: La identidad del suceso que el proceso está esperando antes de poder reanudarse.
Estructuración de Datos Un proceso puede estar enlazado con otros procesos en una cola, un anillo o alguna otra estructura.
Por
ejemplo,
todos
los
procesos que están en estado de espera de un nivel determinado de prioridad pueden estar enlazados en una cola. Un proceso puede mostrar una relación padrehijo (creador-creado) con otro proceso. El bloque de control de proceso puede contener punteros a otros procesos para dar soporte a estas estructuras. Comunicación entre Procesos Puede haber varios indicadores, señales y mensajes asociados con la comunicación entre dos procesos independientes. Una parte de esta información o toda ella se puede guardar en el bloque de control de proceso.
Privilegios de los Procesos A los procesos se les otorgan privilegios en términos de la memoria a la que pueden acceder y el tipo de instrucciones que pueden ejecutar. Además, también se pueden aplicar privilegios al uso de los servicios y utilidades del sistema. Gestión de Memoria Esta sección puede incluir punteros a las tablas de páginas y/o segmentos que describen la memoria virtual asignada al proceso.
Propiedad de los Recursos y Utilización Se pueden indicar los recursos controlados por el proceso, tales como los archivos abiertos. También se puede incluir un histórico de la utilización del procesador o de otros recursos; esta información puede ser necesaria para el planificador.
42
UNIVERSIDAD PRIVADA TELESUP
Estados
TEMA 3
de un
Proceso Competencia: Diferenciar los mĂşltiples estados por los cuales pasa un proceso.
43
UNIVERSIDAD PRIVADA TELESUP
Tema 03: Estados de un Proceso El principal trabajo del procesador es ejecutar las instrucciones de máquina que se encuentran en memoria principal. Estas instrucciones se encuentran en forma de programas. Para que un programa pueda ser ejecutado, el Sistema Operativo crea un nuevo proceso y el procesador ejecuta una tras otra las instrucciones del mismo. En un entorno de multiprogramación, el procesador intercalará la ejecución de instrucciones de varios programas que se encuentran en memoria. El Sistema Operativo es el responsable de determinar las pautas de intercalado y asignación de recursos a cada proceso.
MODELO DE DOS ESTADOS El modelo de estados más simple es el de dos estados. En este modelo, un proceso puede estar ejecutándose o no. Cuando se crea un nuevo proceso, se pone en estado de No ejecución. En algún momento el proceso que se está ejecutando pasará al estado No ejecución y otro proceso se elegirá de la lista de procesos listos para ejecutar y ponerlo en estado Ejecución.
Expedir
Ejecución
No ejecución
Pausar
Figura: Diagrama de transición de estados
Los procesos que no estén ejecutándose se guardan en una cola de procesos, donde esperan su turno de ejecución en el procesador. Cada entrada de la cola es un puntero a un proceso en particular. Cuando un proceso se interrumpe, se le pasa a la cola de procesos en espera. Si un proceso termina o se abandona, se le saca del sistema.
44
UNIVERSIDAD PRIVADA TELESUP
Cola Entrar
Salida
Expedir Procesador
Pausa
Figura: Diagrama de colas
MODELO DE CINCO ESTADOS El modelo anterior de dos estados funcionaría bien con una cola FIFO y planificación por turno rotatorio para los procesos que no están en ejecución, si los procesos estuvieran siempre listos para ejecutar. En la realidad, los procesos utilizan datos para operar con ellos, pero puede suceder que no se encuentren listos, o que se deba esperar algún suceso antes de continuar, como una operación de Entrada/Salida.
Es por esto que se necesita un estado donde los procesos permanezcan bloqueados esperando hasta que puedan proseguir. Se divide entonces al estado No ejecución en dos estados: Listo y Bloqueado. Se agregan además un estado Nuevo y otro Terminado.
Expedir Salir Admitir
Ejecución
Listo
Nuevo
Ocurre suceso Bloqueado
Terminado
Fin del tiempo Espera suceso
Figura: Modelo de procesos de cinco estados
45
UNIVERSIDAD PRIVADA TELESUP
Los cinco estados de este diagrama son los siguientes:
Ejecución: el proceso está actualmente en ejecución.
Listo: el proceso está listo para ser ejecutado, sólo está esperando que el planificador así lo disponga.
Bloqueado: el proceso no puede ejecutar hasta que no se produzca cierto suceso, como una operación de Entrada/Salida.
•
Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema operativo. En general los procesos que se encuentran en este estado todavía no fueron cargados en la memoria principal.
•
Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque terminó o por algún fallo, como un error de protección, aritmético, etc.
Los nuevos estados Nuevo y Terminado son útiles para la gestión de procesos. En este modelo los estados Bloqueado y Listo tienen ambos una cola de espera. Cuando un nuevo proceso es admitido por el sistema operativo, se sitúa en la cola de listos. A falta de un esquema de prioridades ésta puede ser una cola FIFO. Los procesos suspendidos son mantenidos en una cola de bloqueados. Cuando se da un suceso, se pasan a la cola de listos los procesos que esperaban por ese suceso.
MODELO DE SIETE ESTADOS Estados
Listo y suspendido: Intercambiado a memoria
secundaria
pero
listo
para
ejecutar en cuanto se cargue en memoria principal.
Bloqueado y suspendido: intercambiado a disco que además está esperando por un suceso.
46
UNIVERSIDAD PRIVADA TELESUP
Las Flechas •
Creación: Se crea un nuevo proceso para ejecución.
•
Admitir: Paso del nuevo proceso al grupo de procesos que pueden ejecutarse.
•
Expedir: El planificador selecciona el proceso para ser ejecutado por la CPU.
•
Eliminación: Se liberan todas las estructuras y recursos utilizados por el proceso.
•
Salir: Únicamente finaliza la ejecución.
•
Fin Plazo: El proceso consume el tiempo máximo de ejecución permitido o bien se desbloquea un proceso de prioridad mayor, o llega una interrupción.
•
Suspender: Si es necesario intercambiar un proceso a disco, los primeros candidatos son los bloqueados (de bloqueado a bloqueado y suspendido).
•
Suspender (de listo a listo y suspendido): Normalmente es preferible suspender procesos bloqueados, pero puede ser necesario si es la única forma de liberar recursos o si los procesos bloqueados tienen mayor prioridad.
•
Activar (de bloqueado y suspendido a bloqueado): Parece ineficiente traer a memoria un proceso bloqueado pero si hay memoria libre, la prioridad es mayor que la de listos y suspendidos en previsión de que pronto ocurrirá un suceso.
Nuevo
Suspender
Admitir Expedir Listo suspendido
Ocurre suceso
Activar
Suspender
Ocurre suceso
Activar Bloqueado suspendido
Ejecución
Listo
Bloqueado
Salir
Terminado
Eliminación
Fin de plazo Espera suceso
Admitir
Figura: Modelo de Siete estados
47
UNIVERSIDAD PRIVADA TELESUP
ESTADO DE PROCESOS EN LINUX
RUNNING: Proceso supuestamente en ejecución.
INTERRUPTIBLE: Proceso "dormido" que puede despertar por alguna señal o despertador.
UNINTERRUPTIBLE: Similar al anterior, pero que no debe ser despertado inmediatamente.
ZOMBIE: Proceso-hijo terminado pero que no ha sido liberado por su procesopadre.
STOPPED: Proceso detenido vía señales o por ptrace.
Figura: Estado de Procesos en Linux
48
UNIVERSIDAD PRIVADA TELESUP
Planificaciรณn
TEMA 4
de
Procesos Competencia: Comprender la actividad de planificaciรณn en los procesos para cumplir con los objetivos del sistema.
49
UNIVERSIDAD PRIVADA TELESUP
Tema 04: Planificación de Procesos
La planificación del procesador consiste en asignar procesos al procesador o los procesadores para que sean ejecutados a lo largo del tiempo, de forma que se cumplan objetivos del sistema, tales como el tiempo de respuesta, la productividad y la eficiencia del proceso. En muchos sistemas, la actividad de planificación se divide en tres funciones independientes: planificación a largo, medio y corto plazo.
Nuevo
Planificación a Largo plazo
Planificación a Largo plazo
Listo/ Suspendido
Listo
Ejecutando
Planificación a medio plazo
Bloqueado/ Suspendido
Planificación a medio plazo
Salida
Planificación a corto plazo
Bloqueado
NIVELES DE PLANIFICACIÓN Protocolo Planificador de Largo Plazo Se encarga de decidir que procesos son admitidos en el sistema. Este planificador determina el grado de multiprogramación, el número de procesos que se encuentran en memoria compitiendo por el procesador, activos en el sistema.
Para decidir cuántos procesos puede tener el sistema, debe tener en cuenta que a mayor grado de multiprogramación menor será el tiempo de uso del CPU de cada uno.
50
UNIVERSIDAD PRIVADA TELESUP
Para decidir qué proceso es admitido en el sistema, se puede usar un algoritmo FCFS (primero en entrar, primero en salir). Otros criterios validos serian: las prioridades, las exigencias de E/S (tipos de recursos que necesita) y los tiempos de ejecución esperados. Cuando el planificador determina que proceso se admite por el sistema, pueden suceder dos cosas dependiendo del diseño del sistema:
El proceso pasa a la cola de listos o preparados y a partir de ahí es el planificador a Corto Plazo el que se encarga. Que pase a listos o listos y suspendidos siendo el planificador a Mediano Plazo el que pase a encargarse de él. El grado de decisión del planificador a Largo Plazo no tiene que ser necesariamente corto ya que va a ejecutarse pocas veces. (el grado de decisión del planificador es lo que tarda en decidir cuál es el proceso más prioritario).
Planificador de Mediano Plazo
Se encarga de decidir que procesos pasan a almacenamiento secundario y que procesos vuelven a cargarse en memoria.
Se encarga de suspender y cargar los procesos.
Este planificador no existe en todos los sistemas, sólo en aquellos que tengan estado suspendido como es el modelo de 7 estados.
Planificador de Corto Plazo También se le conoce como 'DISTRIBUIDOR' o 'DISPATCHER'. Se encarga de decidir qué proceso de la cola de listos pasa a ejecutarse. Es el que se ejecuta con más frecuencia por lo que su tiempo de decisión debe ser bajo. Se ejecuta cuando un proceso que está ejecutándose es interrumpido, por ejemplo, para realizar una operación de E/S o que exista la posibilidad de retirar el proceso actual en favor de otro proceso de prioridad mayor.
51
UNIVERSIDAD PRIVADA TELESUP
Figura: Diagrama de colas de planificación
ALGORITMOS DE PLANIFICACIÓN Primero en llegar, primero en servirse
FCFS (First Come First Served) -- FIFO (First Input First Output).
Todos los procesos hacen la cola de listos.
Cuando el proceso actual deja de correr, el siguiente proceso en la cola de listos es seleccionado.
Un pequeño grupo de procesos puede esperar largos periodos de tiempo antes de ser ejecutados.
Favorece los procesos con carga del procesador en lugar de los que tienen carga de E/S.
Proceso
Instante de llegada
Tiempo de servicio
A
0
3
B
2
6
C
4
4
D
6
5
E
8
2
52
UNIVERSIDAD PRIVADA TELESUP
5
0
10
15
20
A B C D E
Proceso Hora de llegada Tiempo de servicio (Ts) Tiempo de Finalización Tiempo de Retorno (Tr) Tr/Ts
A
B
C
D
E
MEDIA
0
2
4
6
8
3
6
4
5
2
3
9
13
18
20
3
7
9
12
12
8,60
1,00
1,17
2,25
2,40
6,00
2,56
Siguiente proceso más corto: Shortest Process Next (SPN) Política no preventiva Proceso con tiempo esperado más corto es seleccionado. Los procesos pequeños saltan delante de los grandes. Predicibilidad de los procesos grandes es reducida (Predictability) Si el tiempo estimado es incorrecto, el SO puede abortarlo Posibilidad de inanición de los procesos grandes.
Proceso A B C D
Instante de llegada Tiempo de servicio 0 3 2 6 4 4 6 5 8 2
53
UNIVERSIDAD PRIVADA TELESUP
5
0
10
15
20
A B C D E
Proceso Hora de
A
B
C
D
E
MEDIA
0
2
4
6
8
3
6
4
5
2
3
9
15
20
11
3
7
11
14
3
7,60
1,00
1,17
2,75
2,80
1,50
1,84
llegada Tiempo de servicio (Ts) Tiempo de Finalización Tiempo de Retorno (Tr) Tr/Ts
Turno Rotatorio (Round-Robin) Prevención del uso basada en un reloj. Cada quantum de tiempo un proceso usa la CPU Las interrupciones de reloj se generan en intervalos fijos Cuando ocurre una interrupción, el proceso en ejecución es colocado en la cola de listos y el siguiente proceso es seleccionado.
Proceso
Instante de llegada Tiempo de servicio
A
0
3
B
2
6
C
4
4
D
6
5
E
8
2
54
UNIVERSIDAD PRIVADA TELESUP
5
0
q=1
1 0
1 5
2 0
A B C D E
Proceso
A
B
C
D
E
MEDIA
Hora de llegada
0
2
4
6
8
Tiempo de
3
6
4
5
2
4
18
17
20
15
4
16
13
14
7
10,80
1,33
2,67
3,25
2,80
3,50
2,71
servicio (Ts) Tiempo de Finalizaciรณn Tiempo de Retorno (Tr) Tr/Ts
0
q=4
5
1 0
1 5
2 0
A B C D E
Proceso
A
B
C
D
E
MEDIA
Hora de llegada
0
2
4
6
8
Tiempo de servicio
3
6
4
5
2
3
17
11
20
19
3
15
7
14
11
10,00
1,00
2,5
1,75
2,80
5,50
2,71
(Ts) Tiempo de Finalizaciรณn Tiempo de Retorno (Tr) /Ts
55
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
PROCESO (INFORMÁTICA) http://es.wikipedia.org/wiki/Proceso_(inform%C3%A1tica)
ADMINISTRACIÓN DE PROCESOS http://expo.itch.edu.mx/view.php?f=os_21
Actividades y Ejercicios
1. En un documento en Word elabore una línea de tiempo donde indique la evolución de la administración de procesos en los SO. Envíalo a través de "Administración de Procesos".
2. Elabore un ejemplo de un diagrama de transición de estados sobre un sistema operativo y también realice un esquema FIFO. Envíalo a través de "Diagramas".
56
UNIVERSIDAD PRIVADA TELESUP
Autoevaluación
1) Es una abstracción creada por el SO que se compone de 2 partes. a. Programa. b. Código. c. PC. d. Procesador. e. Proceso. 2) Es el controlador de los sucesos que se producen en un sistema informático. a. Sistema Operativo. b. Recurso. c. Memoria RAM. d. CPU. e. VRAM. 3) ¿En cuántas categorías puede dividirse el bloque de control de proceso? a. 2. b. 8. c. 10. d. 3. e. 6 4) Cada proceso tiene una o mas ____________ a. b. c. d. e.
Puntero. Pilas LIFO. Procesador. Procedimientos. Núcleos.
5) No es uno de los elementos típicos de la información que necesita el sistema operativo para llevar a cabo sus funciones de planificación: a. b. c. d. e.
Estado del proceso. Prioridad. Depuración de variables. Información de planificación. Suceso.
57
UNIVERSIDAD PRIVADA TELESUP
6) ________________ es el responsable de determinar las pautas de intercalado y asignación de recursos a cada proceso. a. El SO. b. El proceso. c. La tarjeta de video. d. El procesador. e. La constante. 7) ¿Cuándo se crea un nuevo proceso, se pone en estado de? a. Suspensión. b. No ejecución. c. Ejecutando. d. Procesando. e. Compilación. 8) ¿Cuál de las siguientes opciones no es correcta en el protocolo planificador de largo plazo? a. Se encarga de decidir que procesos son admitidos en el sistema. b. Este planificador determina el grado de multiprogramación. c. El número de procesos que se encuentran en memoria compitiendo por el procesador. d. Para decidir cuántos procesos puede tener el sistema, debe tener en cuenta que a mayor grado de multiprogramación menor será el tiempo de uso del CPU de cada uno. e. Se encarga de descongestionar y distribuir los procesos entre los núcleos desactivados para un óptimo funcionamiento en el CPU. 9) No pertenece al SPN: a. b. c. d. e.
Proceso con tiempo esperado más corto es seleccionado. Los procesos pequeños saltan delante de los grandes. Predicibilidad de los procesos grandes es reducida (Predictability) Si el tiempo estimado es incorrecto, el SO puede abortarlo. Protocolo TCP en 5 segundos es cambiado al siguiente disponible.
10) Al planificador de corto plazo se le conoce como: a. b. c. d. e.
Distribuidor. Procesador NGX. Planificador. FCFS. GPU.
58
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE II:
El proceso es una abstracción creada por el SO, que se compone de: Programa: Código y datos del programa cargado en memoria principal. Contexto de Ejecución: PC, registros del procesador y un stack para invocación de procedimientos. El Sistema Operativo es el controlador de los sucesos que se producen en un sistema informático. Es el que planifica y expide los procesos para su ejecución en el procesador, el que asigna los recursos a los procesos y el que responde a las solicitudes de servicios básicos realizadas por los programas de usuario. Si el Sistema Operativo va a administrar los procesos y los recursos, entonces tiene que disponer de información sobre el estado actual de cada proceso y de cada recurso.
El SO agrupa toda la información que necesita conocer respecto a un proceso particular en una estructura de datos denominada descriptor de proceso o bloque de control de proceso (BCP). Un registro visible para el usuario es aquél al que puede hacerse referencia por medio del lenguaje máquina que ejecuta el procesador. Normalmente, existen de 8 a 32 de estos registros, aunque algunas implementaciones RISC tienen más de 100. Cada proceso tiene una o más pilas LIFO de sistema asociadas. Las pilas se utilizan para almacenar los parámetros y las direcciones de retorno de los procedimientos y de las llamadas al sistema.
El principal trabajo del procesador es ejecutar las instrucciones de máquina que se encuentran en memoria principal. Estas instrucciones se encuentran en forma de programas. Para que un programa pueda ser ejecutado, el Sistema Operativo crea un nuevo proceso y el procesador ejecuta una tras otra las instrucciones del mismo. El modelo anterior de dos estados funcionaría bien con una cola FIFO y planificación por turno rotatorio para los procesos que no están en ejecución, si los procesos estuvieran siempre listos para ejecutar.
La planificación del procesador consiste en asignar procesos al procesador o los procesadores para que sean ejecutados a lo largo del tiempo, de forma que se cumplan objetivos del sistema, tales como el tiempo de respuesta, la productividad y la eficiencia del proceso. Protocolo Planificador de Largo Plazo: Se encarga de decidir que procesos son admitidos en el sistema. Este planificador determina el grado de multiprogramación, el número de procesos que se encuentran en memoria compitiendo por el procesador, activos en el sistema. FCFS (First Come First Served) -- FIFO (First Input First Output). Todos los procesos hacen la cola de listos. Cuando el proceso actual deja de correr, el siguiente proceso en la cola de listos es seleccionado.
59
UNIVERSIDAD PRIVADA TELESUP
60
UNIVERSIDAD PRIVADA TELESUP
Introducción
a) Presentación y contextualización Los temas que se tratan en la presente Unidad, tienen por finalidad que el estudiante conozca como los Sistemas Operativos realizan la administración de memoria.
b) Competencia Conoce los principales fundamentos teórico – prácticos del componente de administración de la memoria de los Sistemas Operativos.
c) Capacidades 1.
Conoce la jerarquía de la memoria y aplícala en el SO más apropiado.
2.
Aprende a realizar correctamente la partición de la memoria.
3.
Conoce y ejecuta la paginación que se adapte al tipo de memoria a utilizar.
4.
Realiza la segmentación de manera correcta en la memoria.
d) Actitudes
Muestra Interés y valora el curso en su formación profesional.
Investiga por iniciativa propia los puntos más importantes desarrollados en el presente texto didáctico.
e) Presentación de Ideas básicas y contenido esenciales de la Unidad: La Unidad de Aprendizaje 03: Administración de Memoria, comprende el desarrollo de los siguientes temas: TEMA 01: Jerarquía de la Memoria. TEMA 02: Partición de la Memoria. TEMA 03: Paginación. TEMA 04: Segmentación.
61
UNIVERSIDAD PRIVADA TELESUP
Jerarquía
TEMA 1
de la
Memoria Competencia: Conocer la jerarquía de la memoria y aplícala en el SO más apropiado.
62
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
Tema 01: Jerarquía de la Memoria a) Tipos de Almacenamiento
Los programas y datos tienen que estar en la memoria principal para poder ejecutarse o ser referenciados.
Los programas y datos que no son necesarios de inmediato pueden mantenerse en el almacenamiento secundario.
El almacenamiento principal es más costoso y menor que el secundario pero de acceso más rápido.
El tiempo de acceso al almacenamiento decrece.
La CPU puede hacer referencia directa a los programas y datos.
La velocidad de acceso al almacenamiento aumenta. El costo de almacenamiento por bit aumenta.
La CPU solo podrá hacer referencia a los programas y datos luego de haber sido trasladado al almacenamiento primario.
La capacidad de almacenamiento decrece
Figura: Jerarquía de almacenamiento
LA MEMORIA PRINCIPAL La
memoria
principal
está
compuesta
por
diferentes
tipos
de
memorias
semiconductoras o chips (circuitos integrados), entre las que tenemos: Memoria RAM (Random Acces Memory- Memoria de Acceso Aleatorio) Se accede a ella para ingresar datos o instrucciones. Se puede leer, modificar y borrar su contenido. Se llama también "memorias volátiles", ya que mantiene la información, mientras se le suministre energía eléctrica. Si el suministro eléctrico se interrumpe, se pierde la información guardada en las memorias. Por lo general más del 60% de la Memoria Principal, es memoria RAM.
63
UNIVERSIDAD PRIVADA TELESUP
Figura: Memoria RAM
Memoria ROM (Read Only Memory-Memoria de sólo lectura). En la memoria de tipo ROM residen los programas de arranque de la máquina que le indican al microprocesador que hacer y como evaluar el hardware existente. La ROM contiene el programa en forma permanente que establece las características de la máquina y la interconectividad entre los dispositivos desde el punto de vista del hardware y sus líneas de control.
Figura: Memoria ROM
La memoria principal es aquel componente del sistema computacional que almacena los programas y datos que están siendo procesados. Ella, en tiempo de ejecución, debe contener el sistema operativo, las instrucciones para manipular los datos. La memoria principal contiene los datos y las instrucciones de los programas en ejecución. Consta de una serie de posiciones o celdas (llamadas palabras) de n bits, a las cuales se accede mediante una dirección.
Figura: Memoria principal
64
UNIVERSIDAD PRIVADA TELESUP
Término en
Definición
castellano Bit (Dígito
Unidad mínima de información tratada por un computador. Puede
Binario)
tomar dos valores, 0 o 1.
Byte
Conjunto de ocho bits con el que la mayoría de los sistemas de
(Octeto)
codificación pueden tratar un carácter. Grupo de bits que una computadora maneja como una unidad y
Palabra
forman la unidad básica de operación del procesador. En la actualidad los tamaños más corrientes son 16 y 32 bits, existiendo algunas computadoras de 64 bits.
Memoria Caché La memoria caché es una clase de memoria RAM estática (SRAM) de acceso aleatorio y alta velocidad, situada entre el CPU y la RAM; se presenta de forma temporal y automática para el usuario, que proporciona acceso rápido a los datos de uso más frecuente. La ubicación de la caché entre el microprocesador y la RAM, hace que sea suficientemente
rápida
para
almacenar
y
transmitir
los
datos
que
el
microprocesador necesita recibir casi instantáneamente.
La memoria caché es rápida, unas 5 ó 6 veces más que la DRAM (RAM dinámica), por eso su capacidad es mucho menor. Por eso su precio es elevado, hasta 10 ó 20 veces más que la memoria principal dinámica para la misma cantidad de memoria
Figura: Memoria cache
65
UNIVERSIDAD PRIVADA TELESUP
b) El método de Intercambios (swapping) Objetivo: •
Cuando un proceso queda bloqueado o en espera, la memoria que ocupa podría asignarse a otro proceso. Intercambio:
•
Cuando un proceso pierde la CPU o la abandona para esperar algún evento, su imagen de memoria se puede volcar al disco (swap out).
Cuando se reanude el proceso, se recupera su imagen del disco (swap in).
Figura: Método de Intercambio
c) La técnica de Memoria virtual Es un método mediante el cual, un sistema operativo simula tener más memoria principal que la que existe físicamente. Para implementar la memoria virtual se utiliza un medio de almacenamiento secundario de alta velocidad de acceso, generalmente en disco duro de la máquina.
Figura: Memoria Virtual
66
UNIVERSIDAD PRIVADA TELESUP
d) Requerimientos de la gestión de memoria Se intenta satisfacer/garantizar:
Reubicación
Protección
Compartición
Organización lógica
Organización física
La unidad de manejo de Memoria (MMU) La unidad de manejo de memoria (MMU) es parte del procesador. Sus funciones son:
Convertir las direcciones lógicas emitidas por los procesos en direcciones físicas.
Comprobar que la conversión se puede realizar. La dirección lógica podría no tener una dirección física asociada.
Comprobar que el proceso que intenta acceder a una cierta dirección de memoria tiene permisos para ello.
La MMU se Inicializa para cada proceso del sistema. Esto permite que cada proceso pueda usar el rango completo de direcciones lógicas (memoria virtual), ya que las conversiones de estas direcciones serán distintas para cada proceso.
Figura: La unidad de manejo de Memoria (MMU)
67
UNIVERSIDAD PRIVADA TELESUP
Dirección Lógica: Es la dirección que maneja el procesador mientras ejecuta un programa
Dirección Física: Dirección que se presenta a la unidad de memoria Reubicación La reubicación hace referencia al hecho de poder localizar a los programas para su ejecución en diferentes zonas de memoria. Reubicación estática
Se realiza antes o durante la carga del programa en memoria.
Los programas no pueden ser movidos una vez iniciados.
Reubicación dinámica
Los programas pueden moverse en tiempo de ejecución.
El paso de dirección virtual a dirección real, se realiza en tiempo de ejecución.
Necesita hardware adicional (MMU).
Reubicación en tiempo de ejecución: la MMU. Las traducciones de direcciones lógicas a físicas son hechas por la MMU (Memory Management Unit). Los procesos sólo manipulan direcciones lógicas y no visualizan las físicas, que solamente son vistas por la MMU.
Figura: Reubicación en tiempo de ejecución: la MMU
68
UNIVERSIDAD PRIVADA TELESUP
Protección
El código de un proceso no debe poder hacer referencia a posiciones de memoria de otros procesos/SO sin permiso.
Es imposible comprobar las direcciones absolutas de los programas, puesto que se desconoce la ubicación de un programa en la memoria principal. Además muchos sist. permiten la reubicación dinámica -> Mayor complicación
Debe comprobarse durante la ejecución:
El sistema operativo no puede anticiparse a todas las referencias a la memoria que hará un programa (Es un sistema de control “externo”)
El Hardware del procesador debe poseer la capacidad de proteger los accesos a memoria
Dir. Lógica 1234
Dir. Física
Memori a
81234
Figura: Protección de la memoria
Compartimiento
Permite el acceso de varios procesos a la misma zona de la memoria principal
Es mejor permitir a cada proceso (persona) que acceda a la misma copia del programa, en lugar de tener cada uno su propia copia aparte.
Para cooperación es necesario tener acceso compartido a estructuras de datos.
El sistema de gestión debe permitir accesos controlados, sin comprometer la protección.
69
UNIVERSIDAD PRIVADA TELESUP
Organización lógica:
La mayoría de los programas se organizan en módulos.
Los módulos pueden escribirse y compilarse independientemente.
Pueden otorgarse distintos grados de protección (sólo lectura, sólo ejecución) a los módulos.
Compartir módulos entre programas debe ser un objetivo.
Organización física:
La memoria se organiza en al menos dos niveles (memoria principal y memoria secundaria)
La memoria disponible para un programa y sus datos puede ser insuficiente:
Los recubrimientos o superposición (overlaying) permiten que varios módulos sean asignados a la misma región de memoria.
El programador no conoce cuánto espacio habrá disponible.
e) Ciclo de vida de un programa Los programas son escritos, por lo general, en lenguajes de alto nivel y deben pasar por distintas etapas antes de ser ejecutados:
Compilación (compile): Traducción del código fuente del programa a un código objeto.
Ensamblaje (linker): Ensamblaje de varios códigos objetos en un archivo ejecutable.
Carga (load): Asignación del archivo ejecutable a la memoria principal del sistema.
Figura: Enlace estático con bibliotecas
70
UNIVERSIDAD PRIVADA TELESUP
Cuando un programa se ejecuta sobre un sistema operativo, existe un proceso previo llamado cargador que suministra al programa un bloque contiguo de memoria sobre el cual ha de ejecutarse. El programa resultante de la compilación debe organizarse de forma que haga uso de este bloque. Para ello, el compilador incorpora al programa objeto el código necesario.
Figura: Programa ejecutable. Ensamblaje dinámico y bibliotecas compartidas (dynamic linking – shared libraries)
En la etapa de ensamblaje de un programa, las bibliotecas compartidas pueden incorporarse al archivo ejecutable generado (ensamblaje estático – static linking). Ejemplo En Linux: /usr/lib/libc.a.
Otra alternativa es que las bibliotecas compartidas sean cargadas en tiempo de ejecución (ensamblaje dinámico – dynamic linking). Ejemplo en Linux /lib/libc.so, en windows system.dll.
Figura: Enlace de bibliotecas dinámicas
71
UNIVERSIDAD PRIVADA TELESUP
f) La técnica de Overlays Si no hay suficiente memoria, el programa puede ser estructurado en trozos independientes, de forma tal que no requieren estar simultáneamente en memoria.
Figura: La técnica de Overlays
Evaluación de la técnica de overlay
Permite ejecutar un programa con un espacio de memoria física menor que el espacio de memoria lógica.
No requiere soporte del Sistema Operativo Es difícil organizar un programa, por lo que su uso es limitado.
72
UNIVERSIDAD PRIVADA TELESUP
Particiรณn
TEMA 2
de la
Memoria Competencia: Aprender a realizar correctamente particiรณn de la memoria.
73
la
UNIVERSIDAD PRIVADA TELESUP
Tema 02: Partición de la Memoria PARTICIONES ESTÁTICAS
Cualquier proceso cuyo tamaño sea menor o igual que el tamaño de la partición puede cargarse en cualquier partición libre.
Si todas las particiones están ocupadas, el sistema operativo puede sacar un proceso de una partición.
Un programa puede que no se ajuste a una partición. El programador debe diseñar el programa mediante superposiciones.
No requieren el uso de memoria virtual.
Es una política de gestión de memoria que prácticamente ha quedado obsoleta. Ejemplo: SO IBM OS/360 -1964.
Caso simple
Si se va a configurar Samba como Controlador Primario de Dominio, se debe especificar. La memoria principal debe dar cabida al SO y a los procesos del usuario.
Generalmente se divide la memoria en dos particiones: una para el SO residente y otra para los procesos de usuario.
Utilizar un registro base para proteger al SO.
Figura: Partición estática, caso simple
74
UNIVERSIDAD PRIVADA TELESUP
PARTICIONES MÚLTIPLES DE IGUAL TAMAÑO:
Cualquier proceso cuyo tamaño sea menor o igual que el tamaño de la partición puede cargarse en cualquier partición libre.
Un programa puede que no se ajuste a una partición. El programador debe diseñar el programa mediante superposiciones.
El uso de la memoria principal es ineficiente. Cualquier programa, sin importar lo pequeño que sea, ocupará una partición completa. Este fenómeno se denomina fragmentación interna (espacio desaprovechado dentro de la propia partición) El Sistema operativo IBM OS/360 (1964) utilizó el esquema de particiones estáticas Sistema
Sistema
Operativo 8M
Operativo 8M 2M
8M
4M 8M 8M 8M 8M
6M 8M 8M
12M
8M 16M 8M Particiones de igual tamaño
Particiones de distinto tamaño
Figura: Ejemplo de partición estática en una memoria de 64MB
Algoritmo de Ubicación de particiones Particiones de igual tamaño:
Puesto que todas las particiones son de igual tamaño, no importa la partición que se use.
Particiones de distintos tamaños:
Pueden asignar cada proceso a la partición más pequeña en la que quepa.
Hace falta una cola para cada partición.
Los procesos están asignados de forma que se minimiza la memoria desaprovechada dentro de cada partición.
75
UNIVERSIDAD PRIVADA TELESUP
Sistema
Sistema
Operativo
Operativo
Procesos Nuevos
Procesos Nuevos
(a) Una Cola de procesos por partición (b) Cola única de procesos
Figura: Asignación de memoria en partición estática
PARTICIONES DINÁMICAS
Las particiones son variables en número y longitud.
Al proceso se le asigna exactamente tanta memoria como necesite.
Finalmente, hay varios huecos en la memoria. Este fenómeno se denomina fragmentación externa (espacio desaprovechado entre particiones) Se debe usar la compactación para desplazar los procesos para que estén contiguos, de forma que toda la memoria libre quede junta en un bloque.
Figura: Efectos de la partición dinámica (Fragmentación Externa)
76
UNIVERSIDAD PRIVADA TELESUP
Algoritmo de reubicación de particiones dinámicas: El sistema operativo debe decidir qué bloque libre se tiene que asignar al proceso (debe usarse un hueco mayor o igual que el tamaño de proceso) Algoritmo del mejor ajuste (best-fit):
Elige el bloque de tamaño más próximo al solicitado.
Proporciona en general los peores resultados porque crea un montón de huecos muy pequeños. Además, es muy lento.
Puesto que este algoritmo busca el hueco más pequeño para el proceso, garantiza que el fragmento que se deja es lo más pequeño posible y, por lo tanto, se debe compactar más frecuentemente.
Algoritmo del primer ajuste (first-fit):
Recorre la memoria desde el principio y elige el primer bloque suficientemente grande para alojar al proceso
Es el más sencillo, rápido y proporciona los mejores resultados.
Puede tener varios procesos cargados en el extremo inicial de la memoria que es necesario recorrer cuando se intente encontrar un bloque libre.
Crea bloques pequeños al principio de la memoria
Algoritmo del siguiente ajuste (next-fit): Recorre la memoria desde el lugar de la última ubicación hasta encontrar un bloque libre lo suficientemente grande para alojar al proceso Sus resultados son algo peores que los del algoritmo de primer ajuste Crea bloques de memoria pequeños al final de la memoria Hará falta la compactación para obtener un bloque de memoria grande al final del espacio de memoria.
77
UNIVERSIDAD PRIVADA TELESUP
8M
8M 12 M
Primer ajuste
22 M
Mejor ajuste
12 M 16M
Ultimo bloque asignado(14k)
6M 16M
18 M
2M
8M
8M
6M
6M
14 M
Siguiente ajuste
14 M 16M
36 M
20 M (a)Antes
(b)Después
Figura: Ejemplo de una configuración de memoria, antes y después de asignar un bloque de 16 Mbytes.
a)
Compactación
Técnica para reducir la fragmentación externa que consiste en arrastrar los contenidos de memoria a un lugar para reunir la memoria libre en un bloque.
Posible en sistemas con reubicación dinámica (se realiza en tiempo de ejecución).
Problema: ¿procesos que realizan E/S?: - Anclarlo en memoria durante la E/S - Realizar E/S dentro de los búferes del SO.
78
UNIVERSIDAD PRIVADA TELESUP
0 300
0
Sistema
300
Operativo Proceso 1
500 600
Proceso 2
Compactar
Operativo Proceso 1
500 600
0
Sistema
300
Sistema Operativo Proceso 1
500 Proceso 2
600
Proceso 3
0 300
Sistema Operativo Proceso 1
500 Proceso 2
600
Proceso 2
Proceso 4
800
1000 Proceso 3
1200
1000
Proceso 4
1000 Proceso 3
1200
1200
1500
1500 Proceso 4
1900
1900
1900
1900
2100
2100
2100
2100
Mueve 600K
Mueve 400K
Proces o4 Proce so 3 Mueve 200K
Figura: Compactaciรณn de memoria
79
UNIVERSIDAD PRIVADA TELESUP
TEMA 3
Paginaciรณn Competencia: Conocer y ejecutar la paginaciรณn que se adapte al tipo de memoria a utilizar.
80
UNIVERSIDAD PRIVADA TELESUP
Tema 03: Paginación CONCEPTO DE PAGINACIÓN
Programas se dividen en unidades pequeñas de memoria de tamaño fijo, denominadas páginas (tamaño es normalmente una potencia de 2).
La memoria física se divide en unidades del mismo tamaño, denominadas marcos de página (page frames).
Cualquier página puede ser cargada en cualquier marco de página libre (no necesariamente contiguo).
A los programas se les puede asignar memoria bajo demanda
Figura: Paginación
El Sistema Operativo controla la utilización de memoria mediante una tabla de marcos de página.
El tamaño de los marcos es potencia de dos, y oscila entre los 512B y los 16MB.
La Paginación puede producir fragmentación interna, pero muy poca: se limita a la última página del proceso.
No hay fragmentación externa.
Cuando se utiliza paginación, las direcciones relativas y lógicas coinciden. La Paginación es transparente al programador.
81
UNIVERSIDAD PRIVADA TELESUP
Numero de marco 0
Memoria Principal
Memoria Principal 0
A.0
0
Memoria Principal A.0
1
1
A.1
1
A.1
2
2
A.2
2
A.2
3
3
A.3
3
A.3
4
4
4
B.0
5
5
5
B.1
6
6
6
B.2
7
7
7
8
8
8
9
9
9
10
10
10
11
11
11
12
12
12
13
13
13
1 4
1 4
1 4
(a) Quince marcos libres
(b) Carga del proceso A
(c) Carga del proceso B
Figura: Los marcos libres son ocupados por las pรกginas
Figura: Asignaciรณn de pรกginas de procesos a marcos libres
82
UNIVERSIDAD PRIVADA TELESUP
Numero de marco
0
Memoria Principal A.0
1
A.1
2
A.2
3
A.3
4
D.0
5
D.1
0
--------
0
7
6
D.2
1
--------
1
8
7
C.0
2
--------
2
9
8
C.1
10
C.2
Tabla de paginas del proceso B
3
9 10
C.3
11
D.3
0
4
D.4
1
5
2
6
3
11
4
12
12
Numero de pagina
13 14 (f) Carga del proceso D
0
0
1
1
2
2
3
3
Tabla de páginas del proceso A
Tabla de paginas del proceso C 13 14 Lista de marcos libres
Tabla de paginas del proceso D
Figura: Estructuras de datos para el ejemplo anterior en el instante de tiempo (f)
Paginación vs. Particiones Estáticas:
Son mecanismos similares
La paginación provoca menos Fragmentación interna Con paginación, un proceso puede ocupar más de un marco y éstos no tienen porque ser contiguos.
Dirección Lógica=1502 Desplazamiento=478 N° pagina=1 0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
0
Página 0
478 Página 1
Página 2 Fragmentación interna
83
UNIVERSIDAD PRIVADA TELESUP
Dirección lógica de 16 bits N° pagina de 6 bits
Desplazamiento de 10 bits
0 0 0 0 0 1 0 1 1 1 0 1 1 1 1 0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
2
0
1
1
0
0
1
Tabla de paginas del proceso
0
0
0
1
1
0 0 1 1 1 0 1 1 1 1 0
Dirección Física de 16 bits
Figura: paginación a) Esquema de Traducción de Direcciones
Figura: Conversión de dirección lógica a física
84
UNIVERSIDAD PRIVADA TELESUP
Dirección lógica (DL) Numero de pagina
Desplazamiento
p = DL div TamP
d
d = DL mod TamP
p
Traducción
TamP=Tamaño de pagina
Dirección Física (DF) Numero de marco
f
Desplazamiento
f = DF div TamP
d
d = DF mod TamP
Figura: Operación de conversión de dirección lógica a física
85
UNIVERSIDAD PRIVADA TELESUP
TEMA 4
Segmentaciรณn Competencia: Realizar la segmentaciรณn de manera correcta en la memoria. v
86
UNIVERSIDAD PRIVADA TELESUP
Tema 04: Segmentación CONCEPTO DE SEGMENTACIÓN
El programador ve la memoria como una colección de segmentos de tamaño variable.
El espacio de direcciones lógico es una colección de segmentos, cada uno de ellos con su dirección base y tamaño.
No es necesario que todos los segmentos de todos los programas tengan la misma longitud.
Existe una longitud máxima de segmento.
Como consecuencia del empleo de segmentos de distinto tamaño, la segmentación resulta similar a la partición dinámica.
Código Datos Stack Heap Bibliotecas Tabla de símbolos etc.
Figura: Un programa se divide normalmente en segmentos lógicos
b) Características de la Segmentación
Memoria se divide en segmentos, donde se cargan unidades lógicas de un programa
Un programa es un conjunto de segmentos, donde cada uno pueden tener tamaño diferente.
87
UNIVERSIDAD PRIVADA TELESUP
Una dirección lógica es un par <s, d>, donde s es el segmento y del desplazamiento.
Segmentos no requieren localizarse en forma contigua.
Se requiere una tabla de segmentos para mantener contigüidad del espacio lógico.
Figura: Estructura de una dirección lógica
La tabla de segmentos
Contiene un descriptor por cada segmento
Cada descriptor de segmento contiene, al menos
Figura: Tabla de segmentos
88
UNIVERSIDAD PRIVADA TELESUP
Traducción de direcciones
Figura: Traducción de direcciones lógicas a físicas.
Ejemplo de segmentación
Figura: Ejemplo de traducción de dirección lógica a física
89
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
ADMINISTRACIÓN DE MEMORIA http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO3.htm
GESTIÓN DE MEMORIA http://www.arcos.inf.uc3m.es/~ssoo-va/ssoo-va/libro/pdf/cap04.pdf
Actividades y Ejercicios
1. En un documento en Word indique cuál es la diferencia entre una memoria física y una memoria virtual. Presente dos ejemplos donde se presenten estos tipos de memorias. Envíalo a través de "Memorias".
2. En un documento en Word explique en qué consiste las funciones de una memoria caché e indique cuales son los tamaños que existen hasta ahora. Envíalo a través de "Memoria Caché".
90
UNIVERSIDAD PRIVADA TELESUP
Autoevaluación
1) Deberá poder especificar a la Unidad de Gestión de Memoria del procesador qué función (o qué parámetros de la función que use) de traducción debe aplicar al proceso que está ejecutando en ese momento: a. En los sistemas multiprogramación actuales. b. La memoria cache. c. El Sistema Operativo. d. Las tablas de segmentos. e. Programación. 2) ¿Cuál de las siguientes afirmaciones es correcta? a. Los sistemas de multiprogramación actuales los ficheros del disco son incontrolables. b. En los sistemas multiprogramación actuales, la detección de violaciones en el acceso a memoria entre procesos es una tarea del sistema operativo. c. El antiguo MS-DOS es un sistema operativo que no gestiona protección de memoria. d. En la segmentación todos los segmentos de todos los programas tengan la misma longitud. e. En la etapa de ensamblaje de un programa, las bibliotecas compartidas no pueden incorporarse al archivo ejecutable generado. 3) Está compuesta por diferentes tipos de memorias semiconductoras o chips: a. La memoria principal. b. Los programas y datos. c. MMU. d. Tabla de segmentos. e. Convertir las direcciones lógicas emitidas por los procesos en direcciones físicas. 4) ¿Cuál de las siguientes operaciones son función del Sistema de Gestión de Memoria del Sistema Operativo? a. Simular tener más memoria principal que la que existe físicamente. b. El gestor de memoria debe llevar a cabo la traducción de direcciones de un proceso. c. El gestor de memoria se ocupa de liberar la memoria asignada a un proceso cuando éste finaliza. d. Acceder a la misma copia del programa todos los programadores. e. Cuando el compilador incorpora al programa objeto el código necesario.
5) No es una Características de la Segmentación: a. El antiguo MS-DOS. b. Memoria se divide en segmentos, donde se cargan unidades lógicas de un programa. c. Un programa es un conjunto de segmentos, donde cada uno pueden tener tamaño diferente. d. Un dirección lógica es un par <s, d> , donde s es el segmento y del desplazamiento. e. Segmentos no requieren localizarse en forma contigua.
91
UNIVERSIDAD PRIVADA TELESUP
6) Durante la carga del proceso se realiza por software, mientras que la correspondencia o traducción dinámica la lleva a cabo el hardware en tiempo de ejecución: a. La traducción de direcciones. b. Sistema de gestión de memoria real. c. Instrucciones de un programa. d. Sistema computacional. e. Sistemas operativos. 7) ¿Cuál es la definición de paginación? a. Es un sistema de gestión de memoria real. b. Es el gestor de memoria debe llevar a cabo la traducción de direcciones de un proceso. c. Es el compartimiento de memoria que permite una rápida comunicación. d. Son sistemas de multiprogramación actuales. e. Programas se dividen en unidades pequeñas de memoria de tamaño fijo. denominadas páginas (tamaño es normalmente una potencia de 2). 8)
Es un objetivo del método de Intercambios: a. Cuando un proceso queda bloqueado o en espera, la memoria que ocupa podría asignarse a otro proceso. b. Pueden asignar cada proceso a la partición más pequeña en la que quepa. c. Un programa puede que no se ajuste a una partición. El programador debe diseñar el programa mediante superposiciones. d. Al proceso se le asigna exactamente tanta memoria como necesite. e. La memoria principal contiene los datos y las instrucciones de los programas en ejecución.
9) ¿Qué es la memoria caché? a. Es el compartimiento de memoria que permite una rápida comunicación. b. La memoria caché es una clase de memoria RAM estática (SRAM) de acceso aleatorio y alta velocidad, situada entre el CPU y la RAM. c. Es un sistema de gestión de memoria real. d. Es un método mediante el cual, un sistema operativo simula tener más memoria principal que la que existe físicamente. e. Es el gestor de memoria debe llevar a cabo la traducción de direcciones de un proceso. 10) No es una función de la unidad de manejo de memoria? a. Convertir las direcciones lógicas emitidas por los procesos en direcciones físicas. b. La dirección lógica podría no tener una dirección física asociada. c. Comprobar que el proceso que intenta acceder a una cierta dirección de memoria tiene permisos para ello. d. La MMU se Inicializa para cada proceso del sistema. Esto permite que cada proceso pueda usar el rango completo de direcciones lógicas (memoria virtual), ya que las conversiones de estas direcciones serán distintas para cada proceso. e. Que todos los segmentos de todos los programas tengan la misma longitud.
92
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE III:
La memoria es uno de los principales recursos de la computadora, la cual debe de administrarse con mucho cuidado. Aunque actualmente la mayoría de los sistemas de cómputo cuentan con una alta capacidad de memoria, de igual manera las aplicaciones actuales tienen también altos requerimientos de memoria, lo que sigue generando escasez de memoria en los sistemas multitarea y/o multiusuario.
La parte del Sistema Operativo que administra la memoria se llama administrador de memoria y su labor consiste en llevar un registro de las partes de memoria que se estén utilizando y aquellas que no, con el fin de asignar espacio en memoria a los procesos cuando éstos la necesiten y liberándola cuando terminen, así como administrar el intercambio entre la memoria principal y el disco en los casos en los que la memoria principal no le pueda dar capacidad a todos los procesos que tienen necesidad de ella.
La paginación son programas se dividen en unidades pequeñas de memoria de tamaño fijo, denominadas páginas (tamaño es normalmente una potencia de 2). La memoria física se divide en unidades del mismo tamaño, denominadas marcos de página (page frames). Cualquier página puede ser cargada en cualquier marco de página libre (no necesariamente contiguo). A los programas se les puede asignar memoria bajo demanda los sistemas de administración de memoria se pueden clasificar en dos tipos: los que desplazan los procesos de la memoria principal al disco y viceversa durante la ejecución y los que no.
La segmentación consiste en que para optimizar el uso del CPU y de la memoria, el Sistema Operativo debe tener varios procesos a la vez en la memoria principal, para lo cual dispone de varias opciones de administración, tanto del procesador como de la memoria. La selección de uno de ellos depende, principalmente, del diseño del hardware para el sistema.
93
UNIVERSIDAD PRIVADA TELESUP
Índice del Contenido
94
UNIVERSIDAD PRIVADA TELESUP
Introducción
a) Presentación y contextualización Los temas que se tratan en la presente unidad, tienen por finalidad que el estudiante conozca como los sistemas operativos realizan la gestión de entrada salida.
b) Competencia Reconoce los principales fundamentos y aplicaciones de los componentes de gestión de entrada/salida de los sistemas operativos.
c) Capacidades 1.
Conoce las distintas funciones del gestor de entrada y salida.
2.
Reconoce los procesos adecuados de gestión del disco.
3.
Explica las funciones y procesos de planificación del disco.
4.
Analiza cada uno de los algoritmos Look y C-look.
d) Actitudes
Investiga voluntariamente las funciones del gestor E/S.
Incentiva la adecuada planificación en el proceso de gestión del disco.
e) Presentación de Ideas básicas y contenido esenciales de la Unidad: La Unidad de Aprendizaje 04: Gestión de Entrada /Salida, comprende el desarrollo de los siguientes temas:
TEMA 01: Función del Gestor E/S. TEMA 02: Gestión del Disco. TEMA 03: Planificación del Disco. TEMA 04: Algoritmos LOOK y C-LOOK.
95
UNIVERSIDAD PRIVADA TELESUP
Funciรณn
TEMA 1
del
Gestor E/S Competencia: Conocer las distintas funciones del gestor de entrada y salida.
96
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
Tema 01: Función del Gestor E/S INTRODUCCIÓN Una de las principales funciones de un SO es la Gestión de recursos del PC y en concreto, de los dispositivos de E/S. El Gestor de E/S debe controlar el funcionamiento de todos los dispositivos de E/S para alcanzar los siguientes objetivos:
Facilitar el manejo de los dispositivos periféricos.
Ofrecer mecanismos de protección que impidan a los usuarios acceder sin control a los dispositivos periféricos.
Dentro de la Gestión de E/S, el SO debe encargarse de gestionar los distintos
dispositivos
de
E/S,
relojes,
terminales,
dispositivos
de
almacenamiento secundario, teclado, etc.
Componentes de un ordenador Los componentes son: procesador, memoria y sistema de entrada/salida
Figura: Componentes de un ordenador
97
UNIVERSIDAD PRIVADA TELESUP
LAS PARTES DEL PROCESADOR Unidad de Control, es la encargada de supervisar la secuencia de las operaciones que deben realizarse para ejecutar una instrucción. Unidad Aritmética y Lógica, es la encargada de realizar todas las operaciones que transforman los datos, en especial operaciones matemáticas como la suma y la resta, y lógicas como la negación y la afirmación.
Registro, es donde se almacenan los datos más importantes durante la ejecución de las instrucciones; incluye el registro contador (indica qué instrucción sigue), el registro de instrucción (tiene la instrucción que se está ejecutando), el registro acumulador (donde se guardan resultados intermedios) y el registro de estado (que guarda avisos: si el resultado es cero, si es negativo, etc.
Memoria Caché, en un área de trabajo donde se almacenan grupos de datos que se usan muy frecuentemente evitando así tener que pedirlos a la memoria principal, esta memoria se comunica directamente con la memoria principal, evitando el bus general por lo que es más rápida. Este componente se halla instalado en una tarjeta de circuitos impresos llamada tarjeta madre (mother board) y que se encuentra dentro de una caja o gabinete metálico que es el que regularmente vemos y al que mucha gente llama CPU.
En este gabinete o CPU se hallan todos los componentes del sistema, como diversas tarjetas, y las unidades de almacenamiento que es donde guardamos todos nuestros programas y archivos, estas unidades de almacenamiento o unidades de disco se denominan: unidad A:, unidad B:, unidad C:, etc.
DISPOSITIVOS DE E/S Un sistema de computación puede incorporar múltiples dispositivos de E/S: •
De interfaz de usuario: ratones, teclados, pantallas, etc.
•
De almacenamiento: discos, unidades de cinta, etc.
•
De
comunicaciones:
módems,
tarjetas
de
red,
puertos, etc.
98
UNIVERSIDAD PRIVADA TELESUP
Gestiรณn
TEMA 2
del
Disco Competencia: Reconocer los procesos adecuados de gestiรณn del disco.
99
UNIVERSIDAD PRIVADA TELESUP
Tema 02: Gestión del Disco
COMPONENTES DEL DISCO Los componentes del disco son: •
Plato: Cada uno de los discos que hay dentro del disco duro.
•
Cara: Cada uno de los dos lados de un plato
•
Cabeza: Número de cabezal; equivale a dar el número de cara, ya que hay un cabezal por cara.
•
Pista: Una circunferencia dentro de una cara; la pista 0 está en el borde exterior.
•
Cilindro: Conjunto de varias pistas; son todas las circunferencias que están alineadas verticalmente (una de cada cara).
•
Sector: Cada una de las divisiones de una pista. El tamaño del sector no es fijo, siendo el estándar actual 512 bytes.
100
UNIVERSIDAD PRIVADA TELESUP
a) Características del disco duro Capacidad de almacenamiento La capacidad de almacenamiento hace referencia a la cantidad de información que puede grabarse o almacenar en un disco duro. Hasta hace poco se medía en Megabytes (Mg), actualmente se mide en Gigabytes (Gb).
Número de cabezas=Número de caras Capacidad (bytes) = nº cabezas · nº cilindros · nº sectores/cilindro · 512 bytes/sector Capacidad (bytes) = nº cabezas · nº pistas · nº sectores/pista · 512 bytes/sector
Velocidad de Rotación (RPM) Es la velocidad a la que gira el disco duro, más exactamente, la velocidad a la que giran el/los platos del disco, que es donde se almacenan magnéticamente los datos. Se mide en número revoluciones por minuto ( RPM).
Velocidad de transferencia Es la velocidad con la que el disco duro nos transmite los datos una vez localizados.
Vel. Transferencia (bytes/seg) = vueltas/seg x nº de sectores/pista x 512 bytes/sector
b) Rendimiento del disco Para leer o escribir, la cabeza lectora del disco debe posicionarse en la pista deseada y al comienzo del sector deseado.
101
UNIVERSIDAD PRIVADA TELESUP
Tiempo de búsqueda – Tiempo para situar las cabezas en el cilindro al que se desea acceder.
Retardo de Giro o latencia de giro – Tiempo de espera para que el sector deseado pase por debajo de la cabeza.
Transferencia de datos – Operación de lectura o escritura que ocurre cuando la cabeza está ubicada. Es la transferencia real de datos.
Tiempo de acceso= T(búsqueda) + T(latencia) + T(transferencia)
102
UNIVERSIDAD PRIVADA TELESUP
Planificaciรณn
TEMA 3
del
Disco Competencia: Explicar las funciones planificaciรณn del disco.
y
procesos
103
de
UNIVERSIDAD PRIVADA TELESUP
Tema 03: Planificación del Disco INTRODUCCIÓN El objetivo de la planificación es minimizar el tiempo de acceso.
Tiempo de acceso= T(búsqueda) + T(latencia) + T(transferencia) •
Discos pueden satisfacer un requerimiento a la vez.
•
Tiempos de búsqueda y rotación son altos, por lo que planificación intenta disminuir estos tiempos.
a) FCFS – First-Come, First-Served
Disco de 200 cilindros (200 pistas/superficie).
Cola de solicitudes a los cilindros 98, 183, 37, 122, 14,124, 65 y 67.
Cabezas inicialmente posicionadas en el cilindro 53.
104
UNIVERSIDAD PRIVADA TELESUP
Se atienden las solicitudes en orden de llegada.
Fácil de programar y equitativo en los tiempos de espera en cola.
Al no tener en cuenta la geometría del disco, se pueden registrar grandes desplazamientos de las cabezas. Tiempo de espera elevado.
b) SSTF – Shortest Seek Time First
Disco de 200 cilindros (200 pistas/superficie).
Cola de solicitudes a los cilindros 98, 183, 37, 122, 14,124, 65 y 67.
Cabezas inicialmente posicionadas en el cilindro 53.
Se atiende la solicitud con el menor tiempo de búsqueda desde la posición actual de las cabezas.
c) C-SCAN (Circular SCAN) •
Disco de 200 cilindros (200 pistas/superficie).
•
Cola de solicitudes a los cilindros 98, 183, 37, 122, 14,124, 65 y 67.
•
Cabezas inicialmente posicionadas en el cilindro 53.
105
UNIVERSIDAD PRIVADA TELESUP
Las cabezas se mueven del primer cilindro al último atendiendo solicitudes, y retornan al principio.
106
UNIVERSIDAD PRIVADA TELESUP
Algoritmos
TEMA 4
LOOK y C- LOOK Competencia: Analizar cada uno de los algoritmos Look y C-look. v
107
UNIVERSIDAD PRIVADA TELESUP
Tema 04: Algoritmos LOOK y C-LOOK INTRODUCCIÓN Los algoritmos LOOK y C-LOOK son variantes de SCAN y C-SCAN: Las cabezas no se mueven hasta el extremo, sino hasta la última solicitud pendiente en el sentido del movimiento.
LOOK •
Disco de 200 cilindros (200 pistas/superficie).
•
Cola de solicitudes a los cilindros 98, 183, 37, 122, 14,124, 65 y 67.
•
Cabezas inicialmente posicionadas en el cilindro 53.
C-LOOK •
Disco de 200 cilindros (200 pistas/superficie).
•
Cola de solicitudes a los cilindros 98, 183, 37, 122, 14,124, 65 y 67.
•
Cabezas inicialmente posicionadas en el cilindro 53.
108
UNIVERSIDAD PRIVADA TELESUP
Tiempo de servicio
Tiempo de servicio= T(posic)*deplazamiento + T(transferencia)
Tiempo de posicionamiento Es el tiempo que se requiere para colocar una cabeza sobre la pista apropiada.
Tiempo de transferencia Velocidad a la que el disco duro puede transferir la informaciรณn al ordenador.
109
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
GESTIÓN DE DISCOS https://sites.google.com/site/pcpicamas/Mantenimiento-de-sistemas-ycomponentes-informticos/gestion-de-discos
SISTEMAS OPERATIVOS COMUNES http://es.scribd.com/doc/44730419/Sistemas-Operativos-Comunes
Actividades y Ejercicios
1. En un documento en Word realice un informe académico sobre las funciones y utilidades de la gestión del disco. Envíalo a través de "Gestión del Disco".
2. Describa el proceso de planificación del disco. Desarróllalo a través de "Planificación del Disco".
110
UNIVERSIDAD PRIVADA TELESUP
Autoevaluación
1) Es uno de los objetivos del gestor E/S: a. Aprobar el manejo de los dispositivos periféricos. b. Ofrecer mecanismos de protección que impidan a los usuarios acceder sin control a los dispositivos periféricos. c. Dentro de la Gestión de I/S, el SO debe encargarse de gestionar los distintos dispositivos de E/S, relojes, terminales, dispositivos de almacenamiento secundario, teclado, etc. d. Dentro de la Gestión de E/S, el SO debe encargarse de administrar los distintos dispositivos de E/S, relojes, terminales, dispositivos de procesamiento secundario, teclado, etc. e. Dentro de la Gestión de E/S, el SO debe encargarse de transformar los distintos dispositivos de E/S, relojes, terminales, dispositivos de almacenamiento secundario, teclado, etc. 2) No corresponde a los componentes de un ordenador: a. b. c. d. e.
Tarjeta de red, memoria y sistema de entrada/salida. Procesador, carpetas de archivo y sistema de entrada/salida. Procesador, cuentas de usuario y sistema de entrada/salida. Procesador, transmisor y sistema de entrada/salida. Procesador, memoria y sistema de entrada/salida.
3) Es la encargada de realizar todas las operaciones que transforman los datos, en especial operaciones matemáticas como la suma y la resta, y lógicas como la negación y la afirmación. a. Unidad de controles de información. b. Unidad aritmética y lógica. c. Unidad de transformador de datos. d. Unidad transmisora de carpetas. e. Unidad aritmética de datos. 4) No corresponde a los componentes del disco: a. Plato. b. Cara. c. Núcleo. d. Pista. e. Cilindro. 5) Cada una de las divisiones de una pista. El tamaño no es fijo, siendo el estándar actual 512 bytes. a. Sector. b. Plato. c. Cara. d. Pista. e. Cilindro.
111
UNIVERSIDAD PRIVADA TELESUP
6) Es la velocidad a la que gira el disco duro, más exactamente, la velocidad a la que
giran
el/los
platos
del
disco,
que
es
donde
se
almacenan
magnéticamente los datos. Se mide en número revoluciones por minuto ( RPM). a. b. c. d. e.
Velocidad de transferencia por minuto. Rendimiento del disco primario. Retardo de giro o latencia de giro. Velocidad de Rotación (RPM). Transferencia de datos de rotación.
7) El tiempo de acceso es igual a: a. b. c. d. e. 8)
T (búsqueda) + T(latencia) + T(transferencia). T (búsqueda) + T(rectificación) + T(transferencia). T (búsqueda) + T(administración) + T(transferencia). T (búsqueda) + T(transformación) + T(transferencia). T (búsqueda) + T(selección) + T(transferencia).
Las cabezas del disco se mueven del ______________________, y retornan al principio. a. b. c. d. e.
Segundo cilindro al último atendiendo solicitudes. Tercer cilindro al último atendiendo solicitudes. Cuarto cilindro al último atendiendo solicitudes. Quinto cilindro al último atendiendo solicitudes. Primer cilindro al último atendiendo solicitudes.
9) Tiempo de servicio es igual a: a. b. c. d. e.
T (posic)*desplazamiento + T(procesamiento). T (posic)*desplazamiento + T(transmisores). T (posic)*desplazamiento + T(codificación). T (posic)*desplazamiento + T(transferencia). T (posic)*desplazamiento + T(rectificación).
10) Es el tiempo que se requiere para colocar una cabeza sobre la pista apropiada. a. b. c. d. e.
Tiempo de posicionamiento. Tiempo de transferencia. Tiempo de procesamiento. Tiempo de rectificación. Tiempo de administración.
112
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE Iv:
Una de las principales funciones de un SO es la Gestión de recursos del PC y en concreto, de los dispositivos de E/S. El Gestor de E/S debe controlar el funcionamiento de todos los dispositivos de E/S para alcanzar los siguientes objetivos: Facilitar el manejo de los dispositivos periféricos. Ofrecer mecanismos de protección que impidan a los usuarios acceder sin control a los dispositivos periféricos. Dentro de la Gestión de E/S, el SO debe encargarse de gestionar los distintos dispositivos de E/S, relojes, terminales, dispositivos de almacenamiento secundario, teclado, etc.
Los componentes del disco son: Plato: Cada uno de los discos que hay dentro del disco duro, Cara: Cada uno de los dos lados de un plato ,Cabeza: Número de cabezal; equivale a dar el número de cara, ya que hay un cabezal por cara, Pista: Una circunferencia dentro de una cara; la pista 0 está en el borde exterior, Cilindro: Conjunto de varias pistas; son todas las circunferencias que están alineadas verticalmente (una de cada cara),Sector: Cada una de las divisiones de una pista. El tamaño del sector no es fijo, siendo el estándar actual 512 bytes.
Las rutinas que el sistema emplea para ejecutar operaciones de E/S están diseñadas para eliminar las diferencias entre los dispositivos y los tipos de acceso. No existe distinción entre acceso aleatorio y secuencial, ni hay un tamaño de registro lógico impuesto por el sistema.
Los algoritmos LOOK y C-LOOK son variantes de SCAN y C-SCAN: Las cabezas no se mueven hasta el extremo, sino hasta la última solicitud pendiente en el sentido del movimiento. Es el tiempo de transferencia del disco donde se especifica la velocidad a la que el disco puede transferir la información al ordenador y el tiempo de posicionamiento es el tiempo que se requiere para colocar una cabeza sobre la pista apropiada.
113
UNIVERSIDAD PRIVADA TELESUP
Glosario
BATCH: término inglés que en informática se traduce por los términos 'por lotes', 'conjunto' o 'grupo'. Característica típica de ciertos procesos, que indica una serie de tareas que se ejecutan de forma sucesiva en el ordenador y se consideran como una unidad.
CAPAS O NIVELES DE SOFTWARE: son todos aquellos niveles de software que se sitúan entre el usuario y los dispositivos físicos de la máquina, de forma que el nivel de complejidad para la utilización de las capas o niveles aumenta conforme nos acercamos al hardware.
CONTROLADORES DE E/S: dispositivos físicos encargados de gestionar la transferencia de datos entre la CPU, a través del bús de datos del ordenador y un periférico conectado al puerto de E/S.
CPU: Acrónimo inglés de "Central Processing Unit", en castellano, "Unidad Central de Proceso". Aquella unidad incluida íntegramente en el microprocesador (sólo en PC's) de un computador que controla el resto de unidades. Formada por la unidad aritmético-lógica, la unidad de control y de pequeños registros, principalmente. El control lo lleva a cabo mediante la interpretación y la ejecución de instrucciones, según las señales que le dicta un reloj.
DEPURADOR: programa especializado en la corrección y eliminación de errores en un código fuente durante su edición, o capturando diversos datos durante su ejecución.
ENLAZADOR: programa encargado de unir o enlazar el código de varios módulos separados que mantienen llamadas o referencias cruzadas entre los mismos, de forma que se pueda realizar su posterior ejecución.
ENSAMBLADOR: lenguaje de programación de medio nivel, el cual es traducible directamente a lenguaje máquina. Está constituido por un juego de instrucciones característico de cada máquina con distinta arquitectura.
OCTAL O HEXADECIMAL: sistemas de numeración utilizados en la representación de datos numéricos y alfanuméricos en base "8" y en base "16", respectivamente.
OSI (OPEN SYSTEMS INTERCONNECTION - INTERCONEXIÓN DE SISTEMAS ABIERTOS): Norma universal para protocolos de comunicación lanzado en 1984. Fue propuesto por ISO y divide las tareas de la red en siete niveles.
PALABRA DE ESTADO (PSW): del inglés, Processor Status Word, en castellano, Palabra de estado del microprocesador. Palabra que recoge en binario el estado del entorno de programa, después de la ejecución de cada instrucción.
PERIFÉRICOS: son aquellos dispositivos que no forman parte del computador central, estando este formado por la memoria principal y la CPU. Sirven para comunicarse con el mismo.
PROMPT (INDICADOR): indicador de modo usuario, que permite a éste realizar peticiones de servicios al intérprete de órdenes. Este se sustituye actualmente por sistemas de ventanas.
114
UNIVERSIDAD PRIVADA TELESUP
RUTINAS DE E/S: conjunto de instrucciones encargado de controlar la transferencia de datos entre los periféricos y el ordenador. Gestionan las capacidades de los puertos.
SERIE: método de procesamiento o transmisión de datos basado en etapas sucesivas, no simultáneas. Ejemplo de transmisión bita a bit.
SERVICIO: trabajo o tarea ofrecida por el sistema operativo ante una llamada al sistema por parte del usuario.
SERVIDOR: proceso o dispositivo encargado de resolver o solucionar la petición de servicio o trabajo realizado por un proceso denominado ‘cliente’. Además debe dar una respuesta con el resultado de la consulta.
SHEDULING: del inglés ‘scheduler’, en castellano, planificación, mediante la cual se decide cual de las tareas activas en el sistema seguirá ejecutándose, tomando ésta la posesión del tiempo de CPU.
SHELLS (INTERPRETE DE ÓRDENES): término inglés traducido por intérprete de órdenes. Este es capaz de recoger las órdenes que el usuario realiza, pasándolas al núcleo del Sistema Operativo para su ejecución.
SÍNCRONO: término asociable a distintos dispositivos y procesos. En sistemas multiprocesador representa la sincronización o accionamiento simultaneo de varios componentes como la memoria principal y la CPU.
SOFTWARE DE SISTEMAS: aquel que está orientado a la manipulación y control directo del hardware mediante una serie de rutinas especializadas.
SOFTWARE: son los programas, incluyendo procedimientos, utilidades, sistemas operativos, programas de aplicación y paquetes informáticos, implementados para un sistema informático.
TARJETAS: dispositivos estandarizados de material plástico con perforaciones que permiten el almacenamiento de programas de forma permanente.
TERMINAL: dispositivo de E/S de datos de un ordenador, el cual no tiene porqué estar localizado junto a la carcasa de la CPU, sino que puede estar en una localización remota.
TIEMPO COMPARTIDO: sistema de reparto de la capacidad de proceso basado en la división del tiempo de CPU entre los distintos trabajos que hay en memoria principal, para que todos avancen en su ejecución.
TRADUCTOR: programa que convierte mediante una traducción un lenguaje fuente en un lenguaje objeto, sin que por ello varíe la semántica del código traducido, ya que tan solo cambia su representación.
115
UNIVERSIDAD PRIVADA TELESUP
Fuentes de Información BIBLIOGRÁFICAS:
ANDREW S. TANENBAUM. Sistemas Operativos. Diseño e implementación. 2ª edición. Prentice Hall, 2010. B. W. KERNIGAN Y R. PIKE. El entorno de programación UNIX. Prentice may Hispanoamericana, S.A. 2009. F. PÉREZ, J. CARRETERO Y F. GARCÍA. Problemas de sistemas operativos Linux y Unix. Editorial Mc. Graw-Hill, 2008. WILLIAM STALLINGS. Sistemas Operativos. Cuarta edición. Prentice Hall, 2006. GUÍA Y MANUAL PROFESIONAL DE INSTALACIÓN DE WINDOWS NT, XP Y 2003 SERVER. Editorial Internacional Prentice Hall, 2007.
ELECTRÓNICAS:
Funciones del Sistema Operativo http://es.kioskea.net/contents/systemes/sysintro.php3
Administración de Procesos- Sistemas Operativos I http://expo.itch.edu.mx/view.php?f=os_21#page1
Administración de Memoria http://www.slideshare.net/stefanosalvatori/administracion-dememoria#btnPrevious
Gestión de Entrada/Salida http://ditec.um.es/so/apuntes/teoria/tema6.pdf
116
UNIVERSIDAD PRIVADA TELESUP
Solucionario 1. D
1. E
2. A
2. A
3. E
3. E
4. B
4. B
5. E
5. C
6. D
6. A
7. A
7. B
8. C
8. E
9. B
9. E
10. C
10. A
1. C
1. B
2. C
2. E
3. A
3. B
4. C
4. C
5. A
5. A
6. A
6. D
7. E
7. A
8. A
8. E
9. B
9. D
10. E
10. A
117