1 Tema 2: Fundamentos Sistemas Operativos. 22 Tema 2: Fundamentos Índice: 1.Conceptos básicos 2.Modelos de diseño 3.Ejemplos de organización interna.

Slides:



Advertisements
Presentaciones similares
Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.
Advertisements

Sistemas operativos Prof. Alberto Rivas.
TEMA 1 Introducción a la Programación Concurrente
Arquitectura de Sistema de E/S
VI Unidad. Sistema Operativo
UNIX COMP 240.
Sistema operativo Componentes de un sistema operativo
SISTEMAS OPERATIVOS.
Estructura de un Sistema Operativo
TEMA 2: «CONFIGURACIÓN DE MÁQUINAS VIRTUALES»
Subsistemas De un Sistema Operativo Celeste Domínguez Romo
Núcleos de SO Contemporáneos
Profesor: Jennyfer Briceño SISTEMAS OPERATIVOS I.
Programación Visual de Sistemas
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
Introducción al software
Estructuras en Sistemas Operativos
INSTALACIÓN Y MANTENIMIENTO DE SISTEMAS OPERATIVOS
Introducción a la Computación (IC)
Introducción al Software
Introducción a los SSOO Sebastián Sánchez Prieto.
Tema 10: Gestión de Memoria
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
Software Sistemas Operativos
Estructura del sistema operativo
Programación de Sistemas
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
SISTEMA OPERATIVO Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar.
Asignación de Espacio No Contiguo
Programación I MC José Andrés Vázquez Flores
EL SISTEMA OPERATIVO.
Los Sistemas Operativos
Introducción a los Sistemas Operativos
Software, programas de computadoras. Son las instrucciones responsables de que el hardware (la máquina) realice su tarea. Como concepto general, el software.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Introducción a los Sistemas Operativos
SISTEMAS OPERATIVOS 1.4 CLASIFICACIÓN DE LOS S.O
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
FUNCIONALIDAD DE SOFTWARE DE SISTEMAS
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Estructura de los Sistemas Operativos
1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.
INTRODUCCION A SISTEMAS OPERATIVOS
Sistemas Operativos I Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computación destinados a realizar muchas tareas.
SISTEMAS OPERATIVOS.
VIRTUALIZACIÓN.
Unidad 2 – Gestión de Procesos
Sistemas Operativos.
Estructura del Sistemas Operativos por su Estructura
Tipos de sistemas operativos
SISTEMAS OPERATIVOS.
LIA. SUEI CHONG SOL, MCE..  1.- SOFTWARE BÁSICO O DE SISTEMA. Conjunto de programas imprescindibles para el funcionamiento del sistema.  2.- SOTWARE.
Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Programación I MC Beatriz Beltrán Martínez.
HISTORIA DE LOS SISTEMAS OPERATIVOS
 El origen de Linux se encuentra en el sistema operativo MINIX. MINIX fue desarrollado por Andrew S. Tanenbaum con el objetivo de que sirviera de apoya.
María Camila Restrepo C. Mantener la Operatividad del sistema
Elementos y tipos de sistemas operativos
SISTEMAS OPERATIVOS Son un conjunto de programas destinados a permitir la comunicación entre el usuario y en computador y gestionar sus recursos.
Sistemas Operativos SENA – CEET, Distrito Capital ADSI
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
SOFTWARE APLICACIÓN programa informático diseñado para facilitar al usuario la realización de un determinado tipo de trabajo. APLICACIÓN programa informático.
ELEMENTO DE COMPETENCIA 3
TECNICO EN SISTEMAS NUMERO DE FICHA:
Evelin Ramos Cabrera 1° B
SOFTWARE DE COMPUTADORAS
El Sistema Operativo es el software básico necesario para el funcionamiento de cualquier ordenador Los Sistemas Operativos están en continua evolución.
CAPITULO III El Sistema Operativo (OS)
Gestión de Memoria – Parte 2
Estructura del sistema operativo
Transcripción de la presentación:

1 Tema 2: Fundamentos Sistemas Operativos

22 Tema 2: Fundamentos Índice: 1.Conceptos básicos 2.Modelos de diseño 3.Ejemplos de organización interna

33 Tema 2: Fundamentos Índice: 1.Conceptos básicos 2.Modelos de diseño 3.Ejemplos de organización interna

4 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

5 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

6 1.1 Conceptos básicos sobre A.O.  Organización básica de un ordenador: Tema 2: Fundamentos BUS procesador Adaptador Teclado Memoria Adaptador ratón Adaptador Pantalla DMA Controlador discos duros …

7 1.1 Conceptos básicos sobre A.O. Tema 2: Fundamentos La CPU. Modos de ejecución  Contiene un conjunto de registros de 8, 16, 32 o 64 bits  Estado de la CPU = valores de sus registros  Dos registros especiales: siguiente instrucción (IP, PC…) y estado (CCR)  Instrucciones: realización de operaciones aritméticas, lógicas o de movimiento de datos  Los operandos pueden ser registros o posiciones de memoria  Al menos dos modos de ejecución:  Supervisor: ejecución sin restricciones  Usuario: se restringen las instrucciones que puedan acceder a recursos del sistema  Si en modo usuario se intenta ejecutar instrucción privilegiada: excepción

8 1.1 Conceptos básicos sobre A.O. Tema 2: Fundamentos Interrupciones y excepciones  Interrupción = alteración en secuencia de ejecución de instrucciones. Causas:  Interrupción hardware  Excepción  Ejecución de instrucción de petición de interrupción (INT, TRAP)  Tratamiento: 1.CPU termina de ejecutar instrucción actual 2.Se almacena estado de CPU en la pila 3.CPU pasa a modo supervisor 4.Determina dirección SSI (normalmente: tabla de vectores) 5.Salta a SSI 6.Al retornar de SSI: se restaura estado (y modo de ejecución) 7.Se prosigue ejecución por siguiente instrucción

9 1.1 Conceptos básicos sobre A.O. Tema 2: Fundamentos Arranque del sistema  Arranque del sistema = secuencia de operaciones que tras el encendido llevan la máquina a un estado usable  Pasos: 1.Procesador realiza inicialización interna que termina transfiriendo control a una dirección determinada 2.En dicha dirección puede haber…  Si sistema operativo en ROM: el sistema operativo (ir a paso 5)  Si sistema operativo no en ROM: el cargador hardware 3.Cargador hardware: realiza…  Inicialización mínima: determina características y correcto funcionamiento del sistema  Determina dispositivo de carga del sistema operativo  Lee de dicho dispositivo el cargador software →

Conceptos básicos sobre A.O. Tema 2: Fundamentos Arranque del sistema (cont.) 4.Cargador software (pertenece a SO): carga el sistema operativo y le transfiere el control una vez cargado 5.Inicialización del sistema operativo:  Se crean estructuras de datos del sistema operativo  Comprobación detallada del sistema: detección de nuevos dispositivos, comprobación del sistema de archivos, etc.  Se cargan los componentes opcionales que procedan del SO  Se crea uno o más procesos de inicio de sesión  Tras iniciar sesión, se crea un proceso intérprete de comandos (texto o gráfico)

11 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

Procesos Tema 2: Fundamentos  Proceso = programa en ejecución  Si se ejecuta dos o más veces un mismo programa: procesos distintos  Un proceso puede cambiar el programa (execve) y sigue siendo el mismo proceso  S.O. multiprogramado: aquel que permite más de un proceso en ejecución simultáneamente  Emplean mecanismos de protección para aislar procesos  Cada proceso tiene su propio espacio de memoria  Se proporciona mecanismos de comunicación y sincronización  Mecanismos de identificación de procesos (PID)  Un proceso puede crear otros procesos  Relación paterno/filial entre procesos  Procesos padre: atribuciones especiales sobre procesos hijos

13 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

Llamadas al sistema Tema 2: Fundamentos  Llamada al sistema: petición que hace un proceso al sistema operativo para obtener algún tipo de servicio  API (Aplication Programming Interface):  Interfaz que el sistema operativo presenta a los programas  Compuesta por el conjunto de todas las llamadas al sistema soportadas  API’s estandarizadas: POSIX (Portable Operating System Interface)  API’s propietarias: WIN32, WinFX  Formas de implementación:  Mediante rutinas  Mediante interrupciones

Llamadas al sistema Tema 2: Fundamentos Implementación mediante rutinas  Por cada llamada al sistema, una rutina que la implementa  Primera dificultad: ¿en qué direcciones están?  Soluciones: (Para simplificar: un único punto de entrada)  Punto de entrada en dirección fija ¡Los programas dependen de esta dirección!  Punto de entrada en dirección apuntada por una variable ¡Los programas dependen de la dirección de dicha variable!  Programas hacen referencia a punto de entrada mediante una variable conocida por montador de enlaces (Ej: CALL SYS) ¡Si cambia de versión de SO, hay que reenlazar los programas!  Segunda dificultad: ¿paso a modo supervisor?

Llamadas al sistema Tema 2: Fundamentos Implementación mediante interrupciones  Punto de entrada único al que se accede mediante una interrupción  Punto de entrada se coloca en cualquier dirección de memoria  Para efectuar llamada al sistema, se usa instrucción INT n  En el vector n de interrupción: dirección punto de entrada  Al realizar una llamada:  Se pasa a modo supervisor  Hardware determina dirección de punto de entrada  Código del SO se ejecuta en modo supervisor  Al retornar, se restaura modo de ejecución previo a llamada

Llamadas al sistema Tema 2: Fundamentos Implementación mediante interrupciones (cont.)  Ventajas:  Independencia de los programas respecto a ubicación de punto de entrada en memoria  Conmutación implícita a modo supervisor  Posibilidad de llamadas implícitas al sistema

18 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

Usuarios Tema 2: Fundamentos  Usuario = personas autorizadas a usar el sistema  Los sistemas multiprogramados mantienen asociación entre cada proceso y su usuario propietario  Es el usuario quien determina los derechos del proceso a acceder a recursos del sistema  Identificación de usuario: UID (normalmente numérico)  Posibilidad de definir grupos de usuario  Grupos identificados por GID (normalmente numérico)  Derechos del proceso: determinados por [UID, GID]

20 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

Archivos Tema 2: Fundamentos  Archivo = conjunto de información  Organización jerárquica basada en directorios y subdirectorios  Archivos frecuentemente residen en dispositivos  Identificación de dispositivos: dependen de sistema  Letras de unidad: C:, D:, etc.  Archivo especial: /def/fd0, /dev/hda, etc.  En sistemas multiusuario se proporcionan mecanismos de protección del sistema de archivos

22 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

Intérpretes de órdenes Tema 2: Fundamentos  Intérprete de órdenes = programa interactivo que lee e interpreta comandos del usuario  Nombres alternativos: intérpretes de comandos, shells…  Algunos sistemas permiten usar distintos intérpretes de comandos  Ejemplo: UNIX  En otros casos está integrado en sistema operativo  Ejemplo: MS-DOS  Funciones soportadas más frecuentemente:  Ejecución de programas con redirección de entrada y/o salida  Ejecución en paralelo de procesos unidos por una tubería  Ejecución de secuencias de comandos (scripts)  …

24 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

25 GNOME Explorer (Windows XP) 1.7 Interfaces gráficas de usuario Tema 2: Fundamentos  Interfaz gráfica de usuario (GUI) = intérprete de órdenes en modo gráfico  Suelen ofrecer API que permite su uso por parte de programas de usuario Beryl Aero (Windows Vista)

26 Tema 2: Fundamentos Índice: 1.Conceptos básicos 2.Modelos de diseño 3.Ejemplos de organización interna

27 2. Modelos de diseño Tema 2: Fundamentos 1.Modelo monolítico 2.Modelo en estratos 3.Modelo micronúcleo 4.Máquinas virtuales 5.Diseño orientado a objetos

28 2. Modelos de diseño Tema 2: Fundamentos 1.Modelo monolítico 2.Modelo en estratos 3.Modelo micronúcleo 4.Máquinas virtuales 5.Diseño orientado a objetos

Modelo monolítico Tema 2: Fundamentos  Todo el sistema operativo comparte un único espacio de memoria Administración de Memoria Gestor de Disco rutina_auxiliar () { … } planificador () { … } rutina_servicio_interrupcion() { … } Tabla de procesos Administración de archivos Tabla de archivos

Modelo monolítico Tema 2: Fundamentos  Ventajas:  Eficiencia en tiempo de ejecución  Sistemas compactos  Inconvenientes:  Dificultad de depuración  Complejidad y dificultad mantenimiento

Modelo monolítico Tema 2: Fundamentos Estructura de un sistema monolítico Despachador Servicio 1Servicio 2Servicio 3Servicio N Rutina Aux. 1Rutina Aux. 2Rutina Aux. 3 SSI Int.1SSI Int.2 … … …

Modelo monolítico Tema 2: Fundamentos Funcionamiento del despachador 1.¿Llamada explícita al sistema o fallo de protección?  En caso de llamada explícita, comprobar validez de llamada 2.Seleccionar rutina de servicio e invocarla 3.Devolver el control void seleccionar(int ident_servicio) { if (ident_servicio == IDENT1) servicio1(...) else if (ident_servicio == IDENT2) servicio2(...) else if (ident_servicio == IDENT3) servicio3(...) else if (ident_servicio == IDENT4) servicio4(...)... void seleccionar(int ident_servicio) { fun_serv tabla_servicios[] = {servicio1, servicio2, servicio3…}; tabla_servicios[ident_servicio](…); } tabla_servicios servicio1() servicio2() servicio3() …

Modelo monolítico Tema 2: Fundamentos  Ejemplos de sistemas monolíticos:  Linux y la mayoría de Unix, a excepción de Solaris  Las versiones de windows basadas en MS-DOS

34 2. Modelos de diseño Tema 2: Fundamentos 1.Modelo monolítico 2.Modelo en estratos 3.Modelo micronúcleo 4.Máquinas virtuales 5.Diseño orientado a objetos

Modelo en estratos Tema 2: Fundamentos  Idea: colocando una capa de software sobre el hardware conseguimos una máquina ampliada  Podemos construir un sistema colocando sucesivas capas una encima de otra Hardware Capa 0: Planificación Capa 1: Gestión de la memoria Capa 2: Comunicación proceso-consola Capa 3: Gestión de entrada-salida Proceso de usuario

Modelo en estratos Tema 2: Fundamentos  Ventajas:  Gracias a la modularidad, sistema más fácil de depurar y mantener  Inconvenientes:  Al ser las capas cajas negras, se pierde la posibilidad de compartir código y datos entre distintas capas  Ejemplo de sistemas en estratos:  Multics  OS/2

37 2. Modelos de diseño Tema 2: Fundamentos 1.Modelo monolítico 2.Modelo en estratos 3.Modelo micronúcleo 4.Máquinas virtuales 5.Diseño orientado a objetos

Modelo micronúcleo Tema 2: Fundamentos  Parte más compleja de un sistema operativo: el núcleo  Idea: hagamos un núcleo tan simple como sea posible  Saquemos fuera de él toda la funcionalidad posible  Funcionalidad sacada del núcleo: se implementa mediante procesos externos  Núcleo mínimo:  Multiprogramación  Comunicación entre procesos  Atención de interrupciones Hardware Micronúcleo Administrador Archivos Administrador Memoria Gestor de Disco Proceso de Usuario …

Modelo micronúcleo Tema 2: Fundamentos  Ventajas:  Facilidad de depuración  Robustez  Flexibilidad  Fácil adaptación a sistemas distribuidos  Inconvenientes:  Sistemas más lentos  Requieren más memoria

40 2. Modelos de diseño Tema 2: Fundamentos 1.Modelo monolítico 2.Modelo en estratos 3.Modelo micronúcleo 4.Máquinas virtuales 5.Diseño orientado a objetos

Máquinas virtuales Tema 2: Fundamentos  Colocando una capa de software sobre el hardware obtenemos una máquina ampliada con interfaz de más alto nivel  Idea:  ¿Por qué una?  ¿Por qué de más alto nivel? Hardware Monitor de máquinas virtuales Hardware (1)Hardware (2)Hardware (n) Sistema Operativo 1 Sistema Operativo 2 Sistema Operativo n … …

Máquinas virtuales Tema 2: Fundamentos  Monitor de máquinas virtuales…  Reparte recursos (memoria, disco)  Simula dispositivos e interrupciones  En particular: simula procesador Reparte tiempo de procesador entre las máquinas virtuales Simula los cambios de modo de ejecución Hardware Monitor de máquinas virtuales Hardware (1)Hardware (2)Hardware (n) Sistema Operativo 1 Sistema Operativo 2 Sistema Operativo n … … Proceso de Usuario OUT DX, AL IN EAX,DX OUT DX,AL

Máquinas virtuales Tema 2: Fundamentos  Aplicaciones de virtualización  Ejecución simultánea de varios SO en una misma máquina  Explotación de Mainframes: múltiples máquinas adaptadas cada una a las necesidades de usuario (escalabilidad)  Depurado de sistemas operativos  …  Téngase en cuenta…  Estamos dividiendo la potencia de la máquina  Monitor introduce sobrecarga Suma de potencia de máquinas menor que la de la máquina real

Máquinas virtuales Tema 2: Fundamentos Algunos virtualizadores  z/VM (  VMWare (  Virtual PC / Virtual Server ( irtualpc/default.mspx) irtualpc/default.mspx  BOCHS (  QEMU (  Emulador de procesador  Plex86 (  Lightweight Virtual Machine diseñada sólo para ejecutar Linux  Xen (  Paravirtualizador

45 2. Modelos de diseño Tema 2: Fundamentos 1.Modelo monolítico 2.Modelo en estratos 3.Modelo micronúcleo 4.Máquinas virtuales 5.Diseño orientado a objetos

Diseño orientado a objetos Tema 2: Fundamentos  No es un modelo de diseño en sí mismo  Consecuencia aplicación al desarrollo de un SO de los métodos de análisis y diseño orientado a objetos  Un sistema operativo orientado a objetos puede desarrollarse con cualquier organización  Recursos en el sistema: se consideran objetos  Operaciones aplicables: depende de tipo de objetos

47 Tema 2: Fundamentos Índice: 1.Conceptos básicos 2.Modelos de diseño 3.Ejemplos de organización interna

48 3. Ejemplos de organización interna Tema 2: Fundamentos 1.Linux 2.Minix 3.Windows 2000

49 3. Ejemplos de organización interna Tema 2: Fundamentos 1.Linux 2.Minix 3.Windows 2000

Linux Tema 2: Fundamentos  Al igual que demás sistemas Unix, consta de:  Núcleo  Librerías del sistema  Utilidades del sistema Núcleo Bibliotecas del sistema Utilidades del Sistema Procesos de usuario

Linux Tema 2: Fundamentos  Núcleo monolítico  Problema: dificultad de mantenimiento  ¡Muchas personas trabajan en núcleo de Linux!  Solución: módulos cargables  Enlace dinámico  Módulos apilables  El núcleo gestiona dependencias entre módulos  Tiene en cuenta dichas dependencia al cargar/descargar  Esto facilita compartir código entre componentes de manera ordenada A B C D E

Linux Tema 2: Fundamentos  Se suelen cargar como módulos  Gestores de dispositivos  Sistemas de archivos  …  Procesos de usuario pueden cargar/descargar módulos:  insprobe: carga un módulo en el núcleo  rmmod: elimina un módulo del núcleo  modprobe: gestión de módulos Linux Kernel Development, 2ª Edición Robert Love Novel Press Linux Kernel Development, 2ª Edición Robert Love Novel Press

53 3. Ejemplos de organización interna Tema 2: Fundamentos 1.Linux 2.Minix 3.Windows 2000

Minix Tema 2: Fundamentos  Organización micronúcleo pura  Organización de Minix 3:  En modo supervisor:  Todo lo demás en modo usuario Micronúcleo Tarea del reloj Tarea del sistema Tarea de disco Tarea de terminales Tarea de ethernet … Administrador de archivos Administrador de memoria Administrador de red … init proceso 1 de usuario … Operating Systems Design and Implementation, 3ª Edición Andrew S. Tanenbaum, Albert S. Woodhull-Amherst Prentice Hall Operating Systems Design and Implementation, 3ª Edición Andrew S. Tanenbaum, Albert S. Woodhull-Amherst Prentice Hall

55 3. Ejemplos de organización interna Tema 2: Fundamentos 1.Linux 2.Minix 3.Windows 2000

Windows 2000 Tema 2: Fundamentos  Combina modelos micronúcleo y monolítico Procesos de Servicios Aplicaciones de usuario Librerías del sistema (DLL’s) Subsistemas de entorno Hardware Abstraction Layer (HAL) Kernel Gestores de Dispositivos Executive Interfaz Gráfica de Usuario Modo usuario Modo núcleo Inside Windows 2000 David A. Solomon, Mark E. Russinovich Microsoft Press Inside Windows 2000 David A. Solomon, Mark E. Russinovich Microsoft Press

57