315639413 sistemas operativos

Page 1

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


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.