33
1 1 2 Contenido de la Asignatura Generalidades Procesos Sincronización Gestión de memoria Gestión de Archivos Gestión E/S Multiprocesos Practicas de Sistemas Operativos (Linux)

Contenido de la Asignatura

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Contenido de la Asignatura

1

1

2

Contenido de la Asignatura

• Generalidades• Procesos• Sincronización• Gestión de memoria• Gestión de Archivos• Gestión E/S• Multiprocesos• Practicas de Sistemas Operativos (Linux)

Page 2: Contenido de la Asignatura

2

3

Evaluacion

• Participación…………………….30 %• Asistencia …………………….....20 %• Exposición Individual……...……30 %• Evaluación del Docente…………20 %

Nota: La evaluación del docente puede incluir la ejecución de pruebas cortas o ejercicios calificados

4

Que espera el Docente?

• Una actitud seria y profesional• Deseos de conocer y aprender• Contribuir con sus conocimientos• Asistir a todas las sesiones de instrucción• Asistir y participar los ejercicios prácticos

que se realicen.

Page 3: Contenido de la Asignatura

3

5

Introducción

• Que es un sistema Operativo• Antecedentes • Un Mundo de Sistemas operativos• El Hardware de las Computadoras• Conceptos relacionados con S.O• Llamadas de Sistema• Estructura del S.O

6

Introducción

• Un sistema de computación consiste de:– hardware– programas de Sistema– Programas de aplicaciones

Dispositivos Físicos

Microarquitectura

Lenguaje de Maquina

Sistema Operativo

Compiladores EditoresInterprete

Comandos

Sistema

Bancario

Reservación

Aérea

Web

Browsers

Hardware

Programas de

Sistema

Programas de

Aplicaciones

Page 4: Contenido de la Asignatura

4

7

Visión jerárquica de un computador

• Las primeras clasificaciones sólo diferenciaban entre el hardware y el software

• Actualmente una de las estructuras más utilizadas es la siguiente:

Sistema Operativo

Lenguaje ensamblador

Lenguaje de alto nivel

Arquitectura

Lógica digital

8

Que es un Sistema Operativo

Se pueden imaginar un Sistema Operativo como los programas,

instalados en el software o firmware, que hacen utilizable el hardware.

El hardware proporciona la "capacidad bruta de cómputo"; los sistemas

operativos ponen dicha capacidad de cómputo al alcance de los

usuarios y administran cuidadosamente el hardware para lograr un

buen rendimiento.

Page 5: Contenido de la Asignatura

5

9

Que es un Sistema Operativo

Los Sistemas Operativos son ante todo administradores de

recursos; el principal recurso que administran es el hardware del

computador ;además de los procesadores, los medios de

almacenamiento, los dispositivos de entrada/salida, los dispositivos de

comunicación y los datos.

10

Que es un Sistema Operativo

Un Sistema Operativo es un programa que actúa como

intermediario entre el usuario y el hardware del computador y su propósito

es proporcionar el entorno en el cual el usuario pueda ejecutar programas.

Entonces, el objetivo principal de un Sistema Operativo es, lograr que el

sistema de computación se use de manera cómoda, y el objetivo

secundario es que el hardware del computador se emplee de manera

eficiente.

Page 6: Contenido de la Asignatura

6

11

Que es un Sistema Operativo

Un Sistema Operativo es un conjunto de programas que controla la

ejecución de programas de aplicación y actúa como una interfaz entre el

usuario y el hardware de una computadora, esto es, un Sistema Operativo

explota y administra los recursos de hardware de la computadora con el

objeto de proporcionar un conjunto de servicios a los usuarios del sistema.

12

Presenta al usuario una máquina abstracta más fácil de programar que el hardware subyacente: ocultando la complejidad, y dando un tratamiento homogéneo a diferentes objetos de bajo nivel (p.ej. archivos, procesos, dispositivos, etc.)

EL SO como máquina virtual

Page 7: Contenido de la Asignatura

7

13

Controla y protege

los recursos procesadores,

dispositivos de E/S,

memoria, etc.) entre los

programas/usuarios que

compiten por ellos.

El SO como gestor de recursos

14

Hardware

• La realidad tangible es el hardware del computador, que contiene elementos de:– Procesamiento: CPU, DMA,– procesadores de E/S– Memoria: RAM, disco, cintas,..– Dispositivos de E/S: teclado, ratón,– pantalla, impresora,..– Dispositivos de comunicaciones: red– Ethernet, líneas serie y paralelas, ...

Page 8: Contenido de la Asignatura

8

15

Funciones de los S. O.

• Asignación de tiempo de CPU:– Planificar las diversas actividades.

• Control de recursos:– Asignar recursos de forma racional. P. E. División de la memoria

del ordenador entre los programas, controlar colas de e/s.• Control de entrada/salida:

– Gestionar los datos desde y hacia los periféricos.• Control de los errores y protección:

– Informar de las situaciones anómalas• Interfaz con el usuario:

– Facilita el uso.• Facilidades contables:

– Cálculo de costes de uso de CPU.

16

Tipos de S. O.

• Estructura jerárquica

Page 9: Contenido de la Asignatura

9

17

Tipos de S. O.

• Sistema operativos por servicios

18

Estructura de un S. O.

• Núcleo• Gestión de la memoria• Control de entrada/salida• Gestión de dispositivos de almacenamiento

masivo• Asignación de recursos y planificación• Protección• Interfaz de usuario

Page 10: Contenido de la Asignatura

10

19

Núcleo

• Descansa directamente sobre el hardware y proporciona una serie de servicios a las capas superiores del sistema.

• Las tareas principales son:– Manejo de interrupciones– Asignación de trabajo al procesador– Proporcionar una vía de comunicación entre los

diferentes programas

20

Núcleo

• Manejo de interrupciones:– Cuando el hardware detecta una interrupción, el

control se transfiere a este módulo, – el cual analiza el carácter de la interrupción y

toma las acciones apropiadas:• Transferir el control a otro módulo del S. O.• Iniciar otro programa• Continuar la ejecución del programa interrumpido

Page 11: Contenido de la Asignatura

11

21

Núcleo

• Asignación de trabajo al procesador y comunicación entre programas– El núcleo transfiere el control al programa que el

planificador ha determinado para que sea el próximo en ejecutarse.

– La comunicación entre programas se logra manteniendo una cola de mensajes en espera para cada uno de los programas activos.

– El núcleo recibe los mensajes y los va almacenando en la cola apropiada al destino en cuestión, para distribuirlos cuando el programa destino se active.

22

Núcleo

Page 12: Contenido de la Asignatura

12

23

• Primera generación 1945 - 1955– Tubos de vacío, tarjetas perforadas

• Segunda generación 1955 - 1965– Transistores, Sistemas de procesamiento

• Tercera generación 1965 – 1980– Circuitos Integrados y Multiprogramación

• Cuarta generación 1980 – presente– Computadoras Personales

Historia de los Sistemas Operativos

24

• En un principio, el SO era sólo un fragmento de código que se enlazaba con los programas, se cargaba todo en memoria, y se ejecutaba con el programa - como una biblioteca en tiempo de ejecución.

• Problema: uso ineficiente de recursos caros (baja utilización de la CPU) ya que el tiempo de preparación de una tarea era significativo.

Historia de los Sistemas Operativos

Page 13: Contenido de la Asignatura

13

25

Historia de los Sistemas Operativos

Primeros sistemas de procesamiento– Traer tarjetas a 1401– Leer las tarjetas y almacenar en cinta– Poner cinta en la 7094 y procesar– Poner la cinta en 1401 e imprimir una salida

Lector de Tarjetas

Lector de Cintas Cinta

de

Entrada

Procesamiento de Sistema

Cinta de

SalidaImpresora

26

Sistemas de Procesamiento por lotes.

• Cargar el programa en memoria usando Lectora de Tarjetas.

• Establecer la dirección de inicio y Comenzar la Ejecución.

• El sistema está limitado por la velocidad de la E/S.

• Baja utilización de la CPU.• Tiempo de preparación alto

Page 14: Contenido de la Asignatura

14

27

• Los sistemas por lotes (batch) simples fueron los primeros SO’s reales:– El SO estaba almacenado en memoria.

– Cargaba un único trabajo en memoria (desde el lector de tarjetas).

– Ejecutaba el trabajo (daba su salida)

– Cargaba el siguiente trabajo.

– Las tarjetas de control en el archivo de entrada indicaban al SO que hacer.

• Mejora: spooling -- lectura adelantada de trabajos de cintas o tarjetas.

Sistemas de Procesamiento por lotes.

28

• Estructura de un sistema FMS (Fortran Monitor System ) de 2da generación

Historia de los Sistemas Operativos

Page 15: Contenido de la Asignatura

15

29

• Sistemas Multiprogramas– Tres trabajos en memoria – 3rd generación

Historia de los Sistemas Operativos

30

Multiprogramación

• Aparecen los controladores e interrupciones• Hay un mejor aprovechamiento de la CPU• Los SO’s Multiprogramados:

– Permiten la ejecución concurrente de trabajos repartiendo en el tiempo los recursos

– Mantienen en memoria principal simultáneamente varios trabajos multiplexandola CPU entre ellos

Page 16: Contenido de la Asignatura

16

31

• OS/360, VAX/VMS, ...: Los primeros sistemas operativos aparecieron en la era de los mainframes, los grandes computadores de tiempo compartido, durante los años 60.

• UNIX: En los años 70 se desarrolla Unix en los laboratorios Bell (AT&T) por los ingenieros Dennis Rictchie y Ken Thompson. Marco el comienzo de la era de los Minicomputadores, que sustituyeron a los grandes mainframes gracias a su mucho menor coste. Basandose en el Unix original han surgido muchas versiones (sabores) de Unix: AIX, HP-UX, IRIX, XENIX, ULTRIX, SystemV, Solaris, SunOS, XENIX, SCO, BSD, Linux, ...

• MS-DOS: En los años 80 surgieron los primeros computadores personales y con ellos toda una gama de sencillos sistemas operativos. El más significativo fue el MS-DOS de Microsoft, cuya primera versión data de 1981.

• MacOS: En el año 1984 apareció el mítico Apple Macintosh, que incorporaba el primer sistema operativo con interface gráfica para computadores personales. Marco un hito en la historia de la informática personal.

Evolución histórica

32

Evolución histórica

• OS/2: Este sistema operativo de IBM nació a finales de los años 80 y ha sobrevivido hasta los primeros años del siglo XXI. Hoy en día se lo puede considerar casi extinguido.

• Windows NT: El sistema operativo de altas prestaciones de microsoft, diseñado para competir con Unix. Nació en la primera mitad de los años 90.

• GNU/Linux: En 1991 nace Linux, el clon de Unix que ha revolucionado el mundo del software.

• Windows 95/98: Inicialmente Windows era una extensión de MS-DOS que lo dotaba de una interface gráfica pero a partir del año 95, con el lanzamiento de Windows 95, Windows comienza su andadura como sistema operativo de pleno derecho. En la actualidad Windows NT y Windows 95/98 se han fusionado para dar a luz Windows 2000 y Windows XP.

Page 17: Contenido de la Asignatura

17

33

Un Mundo de Sistemas operativos

• Sistemas Operativos para Mainframes

• Sistemas Operativos para Servidores

• Sistemas Operativos Multiprocesos

• Sistemas Operativos para P.C Personales

• Sistemas Operativos en tiempo real

• Sistemas Operativos Incluidos en dispositivos

• Sistemas Operativos para Tarjetas Inteligentes

34

Arquitecturas de Sistemas Operativos

Los sistemas operativos modernos son complejos y requieren de una organización modular con interfaces bien definidas que faciliten su conexión para formar un núcleo del S.O denominado “Kernel”

Tipos de sistemas:• Simple• Monolíticos• Múltiples capas• Máquina Virtual• Cliente/Servidor y Microkernel

Page 18: Contenido de la Asignatura

18

35

Sistemas Operativos Simples

• Sistemas monousuarios con funcionalidad básica (p.e. computadores personales antiguos) : MS-DOS

• No existen protecciones ni multiprogramación

• Cualquier fallo de programación hace caer al sistema

• No ofrece modo dual de operación ni protección del hardware (Intel 8088 no lo permitía)

• Actividad asincrónica se maneja a través de rutinas activadas por interrupción (difícil programar)

36

Sistemas Monolíticos

• 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 caídas del sistema

• Algunos servicios de más alto nivel pueden ser incorporados a nivel de procesos

UNIX

Son difíciles de comprender, ya que son un único

programa (cientos de MB), por tanto, difíciles de

modificar y mantener

Page 19: Contenido de la Asignatura

19

37

38

Page 20: Contenido de la Asignatura

20

39

Sistemas Multicapas

• Permiten una mejor modularización y protección de las componentes del sistema

• Comunicación entre capas se realiza mediante trampas

• Comunicación entre capas introduce mucho costo en la operación (overhead) Los sistemas de

capas son jerárquicos pero los reales son

más complejos

40

Sistemas Maquina Virtual

• 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 sólo máquina• Estructura muy pesada, usada en mainframes

Page 21: Contenido de la Asignatura

21

41

Sistemas Cliente/Servidor

• Reduceer el SO a un núcleo mínimo• Implementar la mayoría de las funciones del SO como procesos

de usuario.• Para solicitar un servicio, el proceso de usuario (cliente) envía

un mensaje al proceso servidor, que realiza el servicio y devuelve al cliente una respuesta.

42

Sistemas Cliente/Servidor

Page 22: Contenido de la Asignatura

22

43

Componentes de un S.O

• Gestión de procesos• Gestión de memoria• Gestión de archivos• Gestión de almacenamiento

secundario• Gestión de E/S• Sistema de protección.

44

Gestión de Procesos

• Un Proceso = una instancia de un programa en ejecución.

• El SO es responsable de las siguientes actividades relacionadas con los procesos:– crear/destruir procesos,– suspender/reanudar procesos,– suministrar los mecanismos para sincronizar y

comunicar procesos.

Page 23: Contenido de la Asignatura

23

45

Gestión de memoria

• La memoria principal es el almacenamiento de acceso directo para la CPU y los dispositivos de E/S. Es volátil.

• El SO es responsable de: – asignar/liberar memoria a los programas (tanto explícita

como implícitamente)– mantener la pista de las partes de memoria utilizadas

actualmente y quien las usa – decidir cuanta memoria asignar a cada proceso, y

cuando debe ser retirado de memoria un proceso.

46

Gestión de almacenamiento secundario

• El almacenamiento secundario (disco) es la memoria persistente.

• Las rutinas del SO de bajo nivel son responsables de las funciones de disco: planificación de disco, gestión del espacio en disco, gestión de errores, etc.

• La línea entre estas y el sistema de archivos es muy difusa... la gestión del espacio puede pertenecer al sistema de archivos.

Page 24: Contenido de la Asignatura

24

47

Gestión de E/S

• El SO suministra una interfaz estándar entre programas (usuario o sistema) y dispositivos.

• El sistema de E/S tiene una caché de búferes.• Los manejadores de dispositivos son los módulos

responsables de manejar cada tipo de dispositivo. Un manejador encapsula el conocimiento específico del dispositivo, p.ej., inicialización, control, manejo interrupciones,

• Puede haber un proceso por cada dispositivo o incluso por cada solicitud de E/S, dependiendo del SO particular.

48

Gestión de archivos

• Archivo = colección de información con nombre; es la entidad básica de almacenamiento persistente.

• El sistema de archivos suministra las siguientes operaciones sobre archivos:

• crear/borrar archivos y directorios, • primitivas para manipular archivos y directorios: leer,

escribir, renombrar, ...obtener información sobre las características del archivo.

• También, suministra servicios generales: backup, contabilidad y cuotas, etc.

Page 25: Contenido de la Asignatura

25

49

Sistema de protección

• La protección hace referencia al mecanismo para controlar los accesos por programas, procesos o usuarios, al sistema o a los recursos de usuario.– El mecanismo de protección debe:– distinguir entre uso autorizado o no,– especificar el control que se debe imponer,– suministrar los medios para su aplicación.

• La protección es un mecanismo general en todo el SO.

50

Modos en que un opera un S.O

• Modo usuario– Modo en el que se sólo se ejecutan las instrucciones de

usuario (no privilegiadas).

• Modo kernel (supervisor o sistema)– Se puede ejecutar cualquier instrucción.– El SO se ejecuta en este modo.– Se cambia de modo (instrucción privilegiada) activando

el bit de modo del registro PSW.– El hardware cambia a modo kernel cuando se produce

una interrupción o excepción

Page 26: Contenido de la Asignatura

26

51

52

MS DOS

• Desarrollado en 1979• MS DOS, IBM, Bill Gates y Microsoft

Page 27: Contenido de la Asignatura

27

53

MS DOS

Procesadorde comandos

Usuario

Sistema deTransferencia de

caracteres

Sistema deficheros

Programasde aplicación Utilidades

Controladores dedispositivos Bios

Firmware

Hardware

54

MS DOS

• Procesador de comandos– Interfaz de usuario– Gestionar el sistema de interrupciones– Tratar los errores– Ejecutar los comandos internos del MS DOS

Page 28: Contenido de la Asignatura

28

55

MS DOS

• Gestión de almacenamiento masivo– Gestión de ficheros del ordenador– Sistemas de directorios

Directorioraíz

Fichero Directorio Fichero Directorio

FicheroDirectorio Fichero Fichero

56

Windows• Interfaz gráfico• Metáfora escritorio• Menús y botones• Teclado y ratón• S: O. Usuario• S. O. Servidores• Historia

– Windows 1.0, 2.0, 3.0– Windows 3.1– Windows 3.11– Windows 95 y 98– Windows NT, 2000 y XP– Windows CE– Windows Pocket PC

Page 29: Contenido de la Asignatura

29

57

UNIX

• Laboratorios Bell de ATT• S. O. de propósito general• Multiusuario e Interactivo• Soporta multiprogramación y multiacceso

58

LINUX

• Desarrollado por Linus Torvald• Funciona sobre plataformas Intel o Motorola• Se estructura en:

– Núcleo o Kernel: Interactúa directamente con el hardware y reside permanentemente en memoria.

– Shell: Intérprete de comandos. Interfaz entre núcleo y usuario.

– Utilidades o programas de usuario.

Page 30: Contenido de la Asignatura

30

59

LINUXInterfaz gráfica

60SíMonolíticoMicro-kernelEn desarrolloExokernel

SíModularDistribuídoTrinity College Dublín1996Coyote

NoMonolíticoMultiprogramadoMicrosoft1995/98Windows 95/98

SíMicrokernelDistribuído1994 (En desarrollo)Amoeba

SíMonolíticoMultiprogramadoDarpa1986Mach

SíModularMultiprogramadoMicrosoft1985Windows NT

NoMonolíticoLotes1984Merlin

SíModularMultiprogramado1984Sprite

SíMonolíticoMultiprogramado-Tiempo compartidoRitchie / Thompson1969Unix

SíModularMultiprogramado-Tiempo compartidoMITMultics

SíMonolíticoMultiprogramado-Tiempo compartidoMITCTSS

NoModularMultiprogramado Brinch Hansen de RegenecentralenSolo

NoModularCompletoBrinch Hansen de RegenecentralenRC4000

NoModularLotesUniversidad de EindhovenThe

NoMonolíticoLotesUniversity of Manchester50-60Atlas

MultiusuarioArquitecturaGestión de procesosAutorAñoSistema

Operativo

Page 31: Contenido de la Asignatura

31

61

Componentes de un Computador personal

Monitor

Bus

62

Eventos síncronos y asíncronos

• Un evento síncrono es aquel que se produce ligado al flujo de ejecución del programa

• Un evento asíncrono es aquel que se produce de un modo independiente al flujo de ejecución del programa

• Los eventos síncronos son reproducibles, cosa que no ocurre con los asíncronos

• Un evento síncrono se desencadena siempre en el mismo punto de un programa si las condiciones son las mismas

• Como ejemplos de los primeros podemos poner los traps y las llamadas al sistema

• Como ejemplo de los segundos tenemos las interrupciones

Page 32: Contenido de la Asignatura

32

63

Traps• Un trap es un evento síncrono que provoca la

activación automática de un procedimiento iniciado como consecuencia de una condición especial

• El procedimiento ejecutado cuando se produce el trap se denomina manejador de trap

• Ejemplos:– Overflow– División por cero– Violación de acceso a memoria– Fallo de página– Instrucción ilegal, etc.

64

Interrupciones

• Una interrupción es un evento asíncrono que provoca el cambio del flujo de control de un programa

• Al producirse la interrupción se invoca de modo automático a un procedimiento conocido normalmente como manejador de interrupción

• Cada interrupción lleva asociada una prioridad• Vinculadas a las interrupciones existen una serie

de acciones hardware y software que describimos a continuación

Page 33: Contenido de la Asignatura

33

65

Definiciones

• Proceso: una CPU dedicada a un programa.• Memoria virtual: simula una RAM infinita.• Archivo: memoria permanente de datos con• tipo.• Canal: dispositivo E/S de datos con tipo.• Shell: interfaz de usuario programable …