introduccion a so
TRANSCRIPT
![Page 1: Introduccion a so](https://reader036.vdocuments.site/reader036/viewer/2022080211/557bc4d7d8b42a700d8b4729/html5/thumbnails/1.jpg)
1
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
1
Sistemas Operativos
Prof. Dr. Raúl Monge
1er Semestre del 2007
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
2
Descripción del Curso
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
3Raúl Monge 2007
Antecedentes Generales
Asignatura: Sistemas OperativosProfesor: Raúl Monge ([email protected])Horario: Cátedra: Lunes 8:30-10:00, 10:15-11:45
Ayudantía: Hernán Rodríguez([email protected])
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
4Raúl Monge 2007
Objetivos
• Al final del curso el alumno deberá entender y poder explicar los conceptos básicos relacionados con el diseño e implantación de sistemas operativos.
• Habilitar al alumno para que pueda explotar en forma más eficiente los recursos de un sistema computacional.
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
5Raúl Monge 2007
Contenido
• Introducción• Estructuras de Hardware y Software en Sistemas
Computacionales• Gestión del Procesador y Procesos• Procesos Concurrente• Gestión de la Memoria• Sistema de Archivos y sistema de E/S• Seguridad y protecciones
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
6Raúl Monge 2007
Sistema de Evaluación
• 2 certámenes (NC): 67%– Certamen recuperativo
• Cubre toda la materia• derecho sólo si se justifica inasistencia.
• Tareas de ayudantía (NT): 33%– Control de Lectura + Laboratorios
OBSERVACIONES:– Nota mínima de 3,0 en NC para considerar NT.– Prueba especial para promedios de 3,5 a 3,9, sobre toda
la materia
![Page 2: Introduccion a so](https://reader036.vdocuments.site/reader036/viewer/2022080211/557bc4d7d8b42a700d8b4729/html5/thumbnails/2.jpg)
2
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
7Raúl Monge 2007
Calendario de Evaluación
• Certamen #1 Lunes 7 de Mayo del 2007• Certamen #2 Lunes 25 de Junio del 2007
• Certamen recuperativo:Viernes 29 de Junio del 200712:00 horas
• Prueba especial– Por definirse centralmente
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
8Raúl Monge 2007
Bibliografía
• A. Silberschatz, P. Galvin, “OperatingSystem Concepts”, 5th. Edition, Addison-Wesley, 1999.
• A. Tanenbaum, “Modern OperatingSystems”, Prentice-Hall, 1992.
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
9
Capítulo I: Introducción a los
Sistemas Operativos
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
10
1.1 Definición de Sistema Operativo
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
11Raúl Monge 2007
Sistema Computacional
RED DERED DERED DE
COMUNICACIONESCOMUNICACIONESCOMUNICACIONES
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
12Raúl Monge 2007
Funciones Básicas de un Sistema Computacional
• Gestión de Información (almacenamiento, referencias, recuperación, comunicación)
• Desarrollo de Software (programación y depuración de programas)
• Ejecución de programas (Aplicaciones)
![Page 3: Introduccion a so](https://reader036.vdocuments.site/reader036/viewer/2022080211/557bc4d7d8b42a700d8b4729/html5/thumbnails/3.jpg)
3
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
13Raúl Monge 2007
Visión Abstracta de unSistema Computacional
Hardware
Software del Sistema
Programas de Aplicación
Usuarios
Sistema Operativo
Herramientas yServicios
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
14Raúl Monge 2007
¿Qué es un Sistema Operativo?
• Un Sistema Operativo es un programa que actúa de intermediario entre el usuario y el hardware del computador.
• El propósito de un sistema operativo es proveer un ambiente en el cual el usuario pueda ejecutar programas.
• La meta principal del Sistema Operativo es hacer del sistema computacional algo conveniente de usar.
• Una meta secundaria es usar el hardware de una manera eficiente
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
15Raúl Monge 2007
Visión #1 sobre el SO:Una Máquina Virtual
• Interfaz usuaria• Comandos y Sistema de ventanas (Lenguaje de Comunicación)
• Recursos virtuales• Memoria virtual, Archivos, Páginas WWW, etc.• Conexiones de comunicación
• Control de Ejecución• Secuencial, paralelo, composición de programas, etc.
• Servicios Varios• Depuración, manejo de fallas, medición del tiempo, etc.
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
16Raúl Monge 2007
Visión #2 sobre el SO:Un Asignador de Recursos
(Compartidos)
• Recursos físicos: Procesadores, memoria (principal, secundaria, etc.), manejo de dispositivos de E/S.
• Compartición e intercambio de información entre usuarios
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
17Raúl Monge 2007
Visión #3 sobre el SO:Un Programa de Control
• Planificación del uso recursos. Ejecución de programas (planificación de procesos y asignación del procesador)
• Manejo de errores (detección y recuperación)
• Protección. Evitar uso inapropiado de la máquina
• Auditoría
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
18
1.2 Evolución Histórica de los Sistemas Operativos
![Page 4: Introduccion a so](https://reader036.vdocuments.site/reader036/viewer/2022080211/557bc4d7d8b42a700d8b4729/html5/thumbnails/4.jpg)
4
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
19Raúl Monge 2007
1.2.1. Primeros Sistemas
• Característica:• Grupo de personas diseña,
construye, programa, opera y mantiene el sistema
• Programación en lenguaje de máquina o bajo nivel
• No existe sistema operativo• Aplicaciones son
principalmente de cálculo numérico
Primera Generación: Tubos (1945-1955)
• Modelo de Tienda Abierta:• Surge como necesidad de compartir
recursos• Reserva de bloques de tiempo• Carga de programas (manual, cinta
perforada y tarjetas)
• Conclusión:• Contacto directo con la máquina• Recursos usados inapropiadamente• Existe necesidad de automatizar los
procesos
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
20Raúl Monge 2007
1.2.2 Sistemas de Procesamiento en Lotes (Batch)
• Objetivo:Automatizar el proceso de manera de reducir el tiempo de instalación de un nuevo programa, aumentando la utilización del computador
Segunda Generación: Transistor y Sistemas en lotes (1955-1965)
• Más fiable y reducción de tamaño• Altos costos de los computadores (sólo unos
pocos pueden disponer de este tipo de recurso)
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
21Raúl Monge 2007
Procesamiento en Lotes (Batch)
Operador
Sistema ComputacionalMesón
UsuariosEstrategia de solución:• Especialización del
(operadores, progra-madores, personal de mantención, etc.)
• Agrupar trabajos en grupos afines (Lote)
• Secuenciación automática de trabajos
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
22Raúl Monge 2007
Sistemas de Monitor Residente
• Tecnología:• Monitor residente• Cargadores• Lenguaje de control de trabajos
• Problemas:• Se debe proteger el Monitor• Lectura de tarjetas por error
• Solución:• Protección de memoria• Modo monitor/usuario
Aréa de Programa
del Usuario
Monitor:•Carga•Secuenciación•Intérprete de
Tarjetas de Control
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
23Raúl Monge 2007
Avances Tecnológicos$END
Datos$RUN
$LOAD
Programa$FORTRAN
$JOB
Precursores de:• Lenguajes de Control de Trabajos (JCL)• Interpretadores de Órdenes• Archivos batch (e.g. *.bat en
DOS y Script en Unix)
Facilidades de desarrollode programación:
• Ensambladores• Bibliotecas y enlazadores• Rutinas de E/S (Drivers)• Compiladores (Fortran y
Cobol)
Tarjetas de Control
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
24Raúl Monge 2007
Problema de Diferencia de Velocidad entre Procesador (CPU) y E/S
• Hecho: Procesador realiza operaciones en el orden de los µ o nseg., en cambio dispositivos de E/S en el orden los mseg. (relación 1:103 o más)
• Consecuencia: Procesador pasa gran parte del tiempo ocioso.
• Solución: Traslape de operaciones de CPU y E/S• Carga de programas y lectura de datos de entrada• Ejecución del programa• Salida de resultados
![Page 5: Introduccion a so](https://reader036.vdocuments.site/reader036/viewer/2022080211/557bc4d7d8b42a700d8b4729/html5/thumbnails/5.jpg)
5
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
25Raúl Monge 2007
Una solución: “Spooling”(Simultaneous Peripherical Operating On-Line)
E P S
Buffer deEntrada
Buffer deSalida
Lectora deTarjetas
ImpresoraComputador Central
Disco
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
26Raúl Monge 2007
Modelo de un Sistema de Spooling
E Proc. S
• Lectura directa de tarjetas a disco (acceso directo)• Escritura directa desde disco a impresora• Tres procesos concurrentes que permiten traslapar operaciones
(CPU mejora su utilización)• Procesamiento puede ser continuo (menor intervención manual)• Trabajos esperan en línea a ser procesados, lo que permitiría
seleccionar cualquiera de ellos.
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
27Raúl Monge 2007
Características de los PrimerosSistemas de Procesamiento en Lote
• Se introduce el concepto de procesos cooperativos en una misma máquina
• El usuario está desconectado del sistema• En caso de errores y depuración de
programas, el proceso de desarrollo es muy lento.
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
28Raúl Monge 2007
1.2.3 Sistemas de Multiprogramación
• Comienzos del 60’• Computadores científicos (palabras), IBM 7094• Computadores comerciales (caracteres), IBM 1401• Se requieren computadores con diferentes capacidades
• Computadores de Propósitos Generales• Se crean familias de computadores (e.g. IBM 360)• Serie de máquinas con compatibilidad de Software• Se diferencian en precio y desempeño(Series posteriores: 370, 4300, 3080 y 3090)
Tercera Generación (1965-1980)• Circuitos Integrados y
multiprogramación
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
29Raúl Monge 2007
Concepto de Multiprogramación
• Existen varios programas activos en ejecución• El espacio de memoria del usuario debe compartirse entre
estos programas• También debe compartirse el procesador (multiplexión en el
tiempo)• Mientras un proceso realiza E/S, otro proceso puede usar el
procesador– Se requieren canales de E/S que realicen operaciones en forma
autónoma al procesador (DMA, ciclo robado)– Se aumenta utilización de los recursos de hardware
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
30Raúl Monge 2007
Multiplexión del Procesador
• Cuando un trabajo requiere E/S, puede liberar temporalmente el procesador
• Se asigna el procesador durante una ranura de tiempo, evitando que un trabajo se adueñe del procesador
• Se requiere de un reloj para controlar la ranura de tiempo
P1 P2 P3 P1
Cambio de contexto
P2
![Page 6: Introduccion a so](https://reader036.vdocuments.site/reader036/viewer/2022080211/557bc4d7d8b42a700d8b4729/html5/thumbnails/6.jpg)
6
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
31Raúl Monge 2007
Libre
Programa 3
Programa 2
Partición de la Memoria
• Para conmutar rápida-mente, programas activos, éstos deben estar cargados en memoria principal
• Se requiere de mecanismos de protección (evitar interfencias mutuas)
Programa 1
Sistema Operativo
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
32Raúl Monge 2007
Canales de E/S
Procesador
Memoria
Canal deE/S
Computador
¡Procesador puede trabajar en paralelo al canal de E/S!
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
33Raúl Monge 2007
Grado de Utilización del Procesador
Si:pE/S: Probabilidad de que un proceso entre en E/S
n : número de procesos multiprogramados
Entonces se tiene:
1 - pE/S : Utilización del procesador con un solo proceso
1 - (pE/S )n : Utilización del procesador con n procesos
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
34Raúl Monge 2007
a) Sistemas en Lotes Multiprogramados
• Disponibilidad de memoria principal determina si se puede cargar un nuevo trabajo (Planificación de trabajos)
• Si existen varios trabajos listos para ejecutarse, el sistema elige cuál usa a continuación la CPU (Planificación de la CPU)
• Este tipo de sistema es la primera instancia donde el S.O. toma decisiones por el usuario.
• Compartición de los recursos del sistema entre varios trabajos requiere de mecanismos de protección
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
35Raúl Monge 2007
Modelo de Sistema de Procesamiento en Lotes Multiprogramado
E/S
E CPU
S
Área de Spool Procesos Multiprogramados
fin
E/S
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
36Raúl Monge 2007
b) Sistema de Tiempo Compartido• Variación de multiprogramación• Permite a múltiples usuarios compartir un
computador simultáneamente (Interactivo)• E/S se realiza principalmente en un terminal• Lenguajes e interpretadores de Órdenes (desde el
terminal)• Editores y depuradores interactivos• Sistema de archivos y directorio facilita el uso de
dispositivos de almacenamiento masivo (disco), compartición de información y envío de mensajes
![Page 7: Introduccion a so](https://reader036.vdocuments.site/reader036/viewer/2022080211/557bc4d7d8b42a700d8b4729/html5/thumbnails/7.jpg)
7
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
37Raúl Monge 2007
Arquitectura de HW de un STC
ComputadorCentral
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
38Raúl Monge 2007
Modelo del STC
E/S
CPU fin
E/S a otrosdispositivos
timeout
E/S alterminal
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
39Raúl Monge 2007
Características de los STC
• A diferencia de sistemas en lotes, usuario interactúa directamente con la máquina
• Para lograr interactividad, procesos usan un corto tiempo la CPU (sino realiza E/S o termina, hay timeout), obteniendo buenos tiempos de respuesta.
• Cada usuario tiene la sensación de tener su propio computador
• Muchos sistemas proveen simultáneamente servicio interactivo y batch
• Desarrollo del teleprocesamiento (terminales y periféricos remotos)
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
40Raúl Monge 2007
Ejemplos de STC
• Mainframes– TSO (Time-Sharing Option) para máquinas IBM– Multics (1965-1970, MIT, GE-645)
• Minicomputadores– PDP-1 de Digital evoluciona a PDP-11 (aplicaciones de
tiempo real)– UNIX (1970 - )
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
41Raúl Monge 2007
2.2.4 Sistemas de Computación Personal
• Desarrollo de la computación personal y estaciones de trabajo
• Desarrollo de Interfaces gráficas y redes de área local
• TCP/IP e Internet
Cuarta Generación (1980-1990)• Integración a gran escala (LSI y VLSI)• Microprocesador• Interfaces gráficas• Conexión a redes de computadores
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
42Raúl Monge 2007
a) Computadores Personales
• Características:• Reducción de costos de hardware hace posible computadores de un
solo usuario (PC)• Microcomputadores y microprocesadores• Enfasis en facilitar el uso del computador y mejorar los tiempos de
respuestas (interactividad)• Interfaces usuarias más amigables (sistemas de ventanas y ratón)
• Ejemplos:• CP/M, MS-DOS (Monousuario, monoprogramación, sin
protecciones)• Macintosh, OS/2 y Windows (Multitasking, memoria virtual)
![Page 8: Introduccion a so](https://reader036.vdocuments.site/reader036/viewer/2022080211/557bc4d7d8b42a700d8b4729/html5/thumbnails/8.jpg)
8
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
43Raúl Monge 2007
b) Estaciones de Trabajo
• Características:• Desarrollo de Redes de Área Local (Ethernet y Token-Ring)• Sistemas de Ventanas (X-Window, MIT, 1985)• TCP/IP se integra a Unix• Computación Cliente/Servidor (Sun)• Estaciones sin disco
• Observaciones:• Se desarrollan Sistemas Operativos de Red• Servicios de comunicación forman parte del S.O.• Convergencia de Computadores Personales y Estaciones de trabajo
(e.g. Linux, Windows NT)
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
44Raúl Monge 2007
1.2.5 Otros Desarrollos
• Sistemas Paralelos• Sistemas Distribuidos• Sistemas de Tiempo Real
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
45Raúl Monge 2007
a) Sistemas Paralelos
• Sistemas fuertemente acoplados con varios procesadores (multiprocesamiento)
• Se comparten recursos como reloj, bus y dispositivos (más económicos)
• Aumento de desempeño y fiabilidad• Sistemas Asimétricos (e.g. SunOS) y
Simétricos (e.g. Solaris)
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
46Raúl Monge 2007
Ejemplo de un Sistema de Multiprocesamiento con
Memoria Compartida
CPU1
Memoria
Memoria Cache
CPU2 CPU3 CPU4
Sistemade E/S
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
47Raúl Monge 2007
Modelo de Multiprocesamiento
E/S
CPU2 fin
E/S
CPU1
CPU3
CPU4
timeout
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
48Raúl Monge 2007
b) Sistemas Distribuidos
• Sistemas débilmente acoplados• Atractivo:
• Compartición de recursos• Aumento del desempeño y fiabilidad• Mejora la comunicación (remota)
• Servicios distribuidos (Archivos, procesamiento, base de datos, comunicaciones, etc.)
![Page 9: Introduccion a so](https://reader036.vdocuments.site/reader036/viewer/2022080211/557bc4d7d8b42a700d8b4729/html5/thumbnails/9.jpg)
9
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
49Raúl Monge 2007
Ejemplo de Sistema Distribuido
RED DERED DERED DE
COMUNICACIONESCOMUNICACIONESCOMUNICACIONES
Conexióna otrosSistemas
Sistemas OperativosDepartamento de Computación
Universidad de Valparaíso
50Raúl Monge 2007
c) Sistemas de Tiempo Real
• Sistemas de propósitos especiales• Existe un requerimiento fuerte de tiempo
sobre las operaciones y el flujo de los datos• Se usa para el control de procesos en
aplicaciones dedicadas• Existen dos tipos de sistemas: duros y
blandos