Fundamentos de los Sistemas Operativos. Tema 1. Conceptos generales Estructura del sistema operativo ULPGC - José Miguel Santos Espino

Documentos relacionados
Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos.

Estructura del Sistema Operativo. Módulo 2. Estructuras de Sistemas Operativos

Introducción a los Sistemas Operativos

Unidad 1: Conceptos generales de Sistemas Operativos.

Estructura del Sistema Operativo. Módulo 2. Estructuras de Sistemas Operativos

TEMA 2: Sistemas Operativos

Fundamentos de Sistemas Operativos

Sistemas Operativos. Curso 2014 Estructura de los sistemas operativos

1. INTRODUCCIÓN 1.1. Qué es un sistema operativo? El sistema operativo como máquina extendida El sistema operativo como gestor de

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

2.- Estructuras de Sistemas Operativos

FUNDAMENTOS DE INFORMÁTICA. Principios Básicos de Sistemas Operativos. Definición de Sistema Operativo

1.4.1 Inicio de la computadora por primera vez Hay problemas Causas, síntomas y soluciones a posibles averías...

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

Threads, SMP y Microkernels. Proceso

Sistema Operativo. Introducción a los Sistemas Operativos. El Sistema Operatico como Interfaz Usuario/Computador. Objetivos del Sistema Operativo

Módulo 2. Estructura del Sistema Operativo. Servicios del Sistema Operativo. Objectivos. Servicios del Sistema Operativo (Cont)

FUNCIONAMIENTO DEL ORDENADOR

Tema 1: Arquitectura de ordenadores, hardware y software

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña

Herramientas Informáticas I Software: Sistemas Operativos

Introducción a los sistemas operativos

Definición de Sistema Operativo

Introducción. Sistemas Operativos. Pedro Chávez Lugo 23 de marzo de 2010

Conceptos Básicos de Software. Clase III

Mac OS X. Apple Inc. Historia

Taxonomía de los sistemas operativos. Programación de Sistemas. Características en Win3.1 (1/3) Características en Win3.1 (3/3)

Introducción a los Sistemas Operativos

Máquinas Virtuales en arquitecturas de microkernel

Tema 2. Arquitecturas de Sistemas Operativos

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)

Fundamentos de software. Introducción a la Informática

SISTEMAS OPERATIVOS Arquitectura de computadores

SISTEMAS OPERATIVOS. Informática Básica

Analista Universitario en Sistemas. Sistemas Operativos. Instituto Politécnico Superior INTRODUCCIÓN

Tema 2 Introducción a la Programación en C.

Nombre de la asignatura : Sistemas de Computación Código : Nivel (semestre de la carrera) : 7 : Ingeniería Civil Informática Nº de créditos : 4

Interfaces y Manejadores de Dispositivos

Sistemas Operativos INTRODUCCIÓN A LAS TECNOLOGÍAS INFORMÁTICAS

UNIVERSIDAD DEL CARIBE UNICARIBE. Escuela de Informática. Programa de Asignatura

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

LABORATORIO 2. La biblioteca a nivel de usuario semso (semáforos Sistemas Operativos) brinda las siguientes primitivas:

Curso: 10983A Upgrading Your Skills To Windows Server 2016

INTRODUCCIÓN...11 CAPÍTULO 1. ELEMENTOS, ESTRUCTURA Y FUNCIONES DE UN SISTEMA OPERATIVO...13

El tema de esta presentación es los conceptos básicos relacionados con Sistemas Operativos.

VOCABULARIO DEL HARDWARE. Docente Yeni Ávila

Sistemas Operativos. Curso 2016 Sistema de Archivos

Introducción a la Operación de Computadoras Personales

SENA CEET, Distrito Capital ADSI Instructor: Ing. Espec. Javier V.aquiro

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Sistemas Distribuidos. Soporte de Sistemas Operativos

Introducción a los Sistemas Operativos

COMPUTACIÓN EN NUBE. Nuevas tecnologías para antiguas ideas.


Tema: Manejo del Puerto Serie con LabView

SISTEMA CABILDO MANUAL DE INSTALACIÓN CLIENTE ERP CABILDO LA SOLUCIÓN TECNOLÓGICA MÁS COMPLETA E INTEGRAL PARA GOBIERNOS LOCALES

Sistemas operativos: una visión aplicada. Capítulo 11 Estudio de casos: Linux

Sistemas Operativos. Curso 2013 Virtualización

Objetos de aprendizaje: Computadora

4.1 Dispositivos y manejadores de dispositivos: device drivers

Administración de Oracle Enterprise Manager Ops Center 12c Ed 2

Soluciones de administración de clientes e impresión móvil

2. Sistema Operativo Windows

JAVA 7 Los fundamentos del lenguaje Java

El Sistema Operativo Linux

Introducción a los sistemas operativos

ESTUDIO DE CASOS: LINUX

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Sistema Operativo. Material (parcialmente) tomado de: Servidores de Información it.uc3m.es

Tema 2: Implementación del núcleo de un Sistema Operativo

SISTEMAS OPERATIVOS. 1Responda brevemente a estas preguntas: Convocatoria extraordinaria, 13 de septiembre de 2006

Capítulo 5. Sistemas operativos. Autor: Santiago Felici Fundamentos de Telemática (Ingeniería Telemática)

Tema I. Sistemas operativos

TEMA 1: Concepto de ordenador

Monoalgorítmez: modelo funcional

HP - UX. Qué es HP UX?

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Sistema Operativo MAC. Francisco Jesús Delgado Almirón Diseño de Sistemas Operativos 5º Ingeniería Informática

Tema 1: Introducción al S.O.

SISTEMAS OPERATIVOS Estructura del SO. Amilcar Meneses Viveros

Matías Zabaljáuregui

Programa Administración Linux

Prof. Ing. Miguel Angel Aguilar Ulloa

Tema 1 Fundamentos de Computación

Sistemas. Tecnologías de la Información y la Comunicación 1º bachillerato

MCTS Exchange Server 2010 Administración. Fabricante: Microsoft Grupo: Servidores Subgrupo: Microsoft Exchange Server 2010

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria.

Módulo: ENTORNOS DE DESARROLLO C.F.G.S. : DESARROLLO DE APLICACIONES WEB. Marca el profesor que tengas asignado: Fran [ ] José Luis [ ]

PVFS (Parallel Virtual File System)

Unidad 1: Conceptos generales de Sistemas Operativos.

Arquitectura del sistema operativo GNU/Linux. Luis Eduardo Sepúlveda R.

Curso de verano. Biología Computacional: Análisis masivo de datos ómicos

Conocer las herramientas de seguridad es un punto vital para mantener nuestro sistema seguro.

Módulo Operador. Introducción a Linux. Entornos gráficos. Instalación. Uso de consola. Manejo de archivos. Estructura Unix y los Sistemas de Archivos.

Introducción a Windows

Windows NT. Desdoble del sistema operativo Windows: Sucesor de Windows NT 3.51 Hereda el interfaz de usuario (GUI) de Win95 Versiones:

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

Evolución de los Sistemas Operativos

Transcripción:

Fundamentos de los Sistemas Operativos Tema 1. Conceptos generales Estructura del sistema operativo 2015 ULPGC - José Miguel Santos Espino

Contenido Componentes del S.O. Programas del sistema El núcleo Llamadas al sistema Arquitecturas para los S.O. Ejemplos: sistemas monolíticos, por capas Micronúcleos Módulos cargables 2015 ULPGC - José Miguel Santos 2

Subsistemas típicos de un SO Procesos e hilos Entrada/salida Memoria y cachés de disco Archivos Red y mensajería Usuarios y seguridad Monitorización y contabilidad 2015 ULPGC - José Miguel Santos 3

Programas del sistema Un SO es una plataforma de software que suele incluir un conjunto de utilidades básicas, para: Darnos un entorno de trabajo (escritorio, shell ) Gestionar los recursos (formatear discos, configurar la red ) Trabajar con archivos (ls, cp, mkdir ) Editar documentos (vi, notepad, gedit ) Desarrollar programas (compilador, depurador ) Son lo que los usuarios perciben como «sistema operativo» 2015 ULPGC - José Miguel Santos 4

Programas del sistema Otros programas del sistema son servicios que se ejecutan en segundo plano (servicios, subsistemas, demonios): Sistema de impresión Copias de seguridad Registro de actividad 2015 ULPGC - José Miguel Santos 5

El núcleo (kernel) Se suele llamar núcleo al componente del SO que reside en memoria de forma permanente y atiende las llamadas al sistema y demás eventos. El resto de utilidades del SO (CLI, GUI, programas del sistema ) se apoyan en los servicios del núcleo. En la parte teórica de la asignatura trataremos casi exclusivamente sobre el núcleo, no abordaremos los otros componentes. 2015 ULPGC - José Miguel Santos 6

Implementación de las llamadas al sistema En el nivel del procesador: la llamada al sistema ocurre mediante una instrucción especial del procesador (syscall, int, trap ) esa instrucción cambia a modo privilegiado En el ámbito del programador: La llamada es una subrutina que escribimos en el código fuente. El compilador la acabará sustituyendo por una invocación a la instrucción especial, con los argumentos que sean necesarios. 2015 ULPGC - José Miguel Santos 7

Ejemplos de llamadas al sistema Windows: handle = OpenFile("mifichero",ofstruct,OF_READ); UNIX: fd = open("mifichero",o_rdonly); MS-DOS: mov ah,3dh mov al,0 mov dx,stringmifichero int 21h 2015 ULPGC - José Miguel Santos 8

Implementación de las llamadas al sistema Cómo se pasan los argumentos a la llamada? Mediante registros de CPU (lo más típico) Escribiéndolos en una tabla en memoria principal Colocándolos en la pila 2015 ULPGC - José Miguel Santos 9

Relación entre el proceso, la API de llamadas al sistema y el núcleo (tomado de Silberschatz, Galvin & Gagne, 2013) 2015 ULPGC - José Miguel Santos 10

Ejemplos de llamadas al sistema (UNIX) Procesos: crear proceso (fork), finalizar proceso (exit) Memoria: pedir más memoria (sbrk), liberar memoria... Archivos: open, close, creat, read, write, mkdir; bloquear fichero (lockf) Redes: crear conexión (socket), cerrar conexión... Protección de ficheros: cambiar permisos (chmod), cambiar propietario (chown) 2015 ULPGC - José Miguel Santos 11

Ejemplos en Windows y UNIX (Silberschatz, Galvin & Gagne, 2013) 12

Ejemplo con la biblioteca estándar La biblioteca estándar de C no pertenece al SO y se ejecuta en modo usuario. P.ej. printf() utiliza la llamada al sistema write() para poder escribir en la consola. 2015 ULPGC - José Miguel Santos 13

Arranque típico de un SO 1. Cuando el equipo se enciende, la CPU inicia su ejecución en un punto fijo de la memoria 2. Hay una ROM con una pequeña rutina de arranque 3. La rutina localiza en qué dispositivo se encuentra el cargador del SO (boot loader) y lo carga en memoria Nota: La ROM del equipo tiene código para leer y escribir sobre los dispositivos de E/S 4. El cargador instala el núcleo y se continúa el proceso de carga de módulos, servicios, etc. hasta que el SO queda totalmente operativo. 2015 ULPGC - José Miguel Santos 14

ARQUITECTURAS PARA LOS S.O. 2015 ULPGC - José Miguel Santos 15

Arquitectura del SO qué estructura interna tiene un SO? Algunas estructuras: Monolítico todo en un mazacote de código En capas niveles de abstracción creciente Micronúcleos un pequeño SO sobre el que se añaden módulos 2015 ULPGC - José Miguel Santos 16

Sistema monolítico sencillo (MS-DOS) Estructura ligeramente modular programa de aplicación programa del sistema residente controladores de dispositivos de MS-DOS controladores de dispositivos en ROM BIOS 2015 ULPGC - José Miguel Santos 17

núcleo Sistema monolítico complejo (UNIX clásico) Separación en capas más nítida Procesos de usuario shells y órdenes compiladores e intérpretes bibliotecas del sistema API de llamadas al sistema manejo de terminales por señales sistema de E/S de caracteres drivers de terminales sistema de archivos E/S por intercambio de bloques drivers de disco y cinta planificación de CPU reemplazo de páginas paginación por demanda memoria virtual Interfaz del núcleo con el hardware controladores de terminales terminales controladores de dispositivos discos y cintas controladores de memoria memoria física 2015 ULPGC - José Miguel Santos 18

Diseño por capas El SO se construye como una jerarquía de niveles, cada uno de los cuales aprovecha los servicios del nivel inferior. programa capa 2 capa 1 capa 0 2015 ULPGC - José Miguel Santos 19

Sistema por capas puro (THE) Sistema experimental de los años 60 Seis niveles: L5: aplicaciones de usuario L4: buffering L3: consola del operador L2: gestión de memoria paginada L1: planificación de procesos L0: hardware 2015 ULPGC - José Miguel Santos 20

Sistema por capas (Windows, OS/2) aplicación aplicación aplicación aplicación interfaz de programación de aplicaciones (API) extensión API subsistema subsistema subsistema núcleo del sistema gestión de memoria planificación de tareas gestión de dispositivos controlador de dispositivo controlador de dispositivo controlador de dispositivo controlador de dispositivo 2015 ULPGC - José Miguel Santos 21

Separar mecanismos y políticas Políticas estrategias para administrar un recurso SJF, FIFO, tiempo compartido, LRU Mecanismos estructuras y objetos que sirven para implementar una política Colas de espera, bitmaps, despachador de procesos, temporizador, etc. Deseable que el código de los mecanismos y el de las políticas estén separados. Así se pueden reutilizar los mecanismos para otras políticas. 2015 ULPGC - José Miguel Santos 22

Micronúcleos Dejar en el núcleo lo mínimo imprescindible Multitarea básica, gestión de interrupciones, comunicación entre procesos, E/S, etc. El resto de servicios se implementan como módulos en espacio de usuario Mecanismos en el micronúcleo, políticas fuera Los módulos se comunican con mensajes Primer micronúcleo: Mach (1980) 2015 ULPGC - José Miguel Santos 23

Micronúcleo: ejemplo Mach Application Program File System Device Driver user mode messages messages Interprocess Communication memory managment CPU scheduling kernel mode microkernel hardware 2015 ULPGC - José Miguel Santos 24

Micronúcleos: ventajas Ventajas Se pueden construir servicios nuevos del SO sin tocar el núcleo Se pueden implementar múltiples versiones para un mismo servicio (ej. varios sistemas de ficheros) El SO es más fácil de portar a otras arquitecturas (sólo hay que tocar el micronúcleo) Más seguridad y fiabilidad (menos código en modo privilegiado) Inconvenientes La comunicación entre módulos penaliza el rendimiento 2015 ULPGC - José Miguel Santos 25

Módulos cargables Linux, Solaris Módulos de código que se pueden incorporar al núcleo en tiempo de ejecución Cada módulo tiene una interfaz conocida Los módulos se hacen llamadas entre ellos 2015 ULPGC - José Miguel Santos 26

Módulos cargables (Solaris) 2015 ULPGC - José Miguel Santos 27

Implementación del SO El SO presenta características especiales Pieza crítica: todas las aplicaciones dependen de él Es mucho más complicado de depurar y de actualizar Lenguaje de programación En el pasado, en lenguaje ensamblador (por eficiencia) Ahora en lenguajes de alto nivel, sobre todo C y C++ Desarrollo modular Posibilidad de desarrollar módulos cargables por separado y dinámicamente Disponibilidad del código fuente Sistema propietario sólo tenemos los binarios ya compilados (Windows, Mac OS X, OS/360 ) Software libre podemos tener el fuente y compilarlo en nuestro equipo (Linux, FreeBSD ) 2015 ULPGC - José Miguel Santos 28

FIN del Tema 1 2015 ULPGC José Miguel Santos Espino