El núcleo del sistema operativo

Slides:



Advertisements
Presentaciones similares
Sistema operativo Componentes de un sistema operativo
Advertisements

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.
Modelo de procesos de dos estados
SISTEMAS OPERATIVOS UNIDAD 1..
JULIO BERNA. Los procesos de usuario emiten peticiones de entrada/salida al sistema operativo. Las peticiones se procesan de forma estructurada en las.
Multiprogramación Procesos Cecilia Hernández
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Hilos - Lightweight process - Procesos ligeros
Estructura del sistema operativo
Concepto de proceso Sebastián Sánchez Prieto. Procesos 2  S2P, OGP & IGT Definición de proceso Un proceso es un programa en ejecución Componentes:
Introducción al tiempo real en sistemas empotrados
Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Sistemas Distribuidos
El núcleo del sistema operativo
Programación de Clientes Especialidad en Base de Datos.
Elementos y tipos de sistemas operativos
ELEMENTO DE COMPETENCIA 3
Estructura del sistema operativo
Es el software que controla el conjunto de operaciones de una computadora. Proporciona el mecanismo por el cual un usuario puede solicitar la ejecución.
Sistemas operativos Linux
Repaso.
SISTEMAS OPERATIVOS Sistema de Archivos.
Descripcion y control de procesos
Introducción a los Sistemas Operativos
Procesos Concurrentes
U.T. 11: Introducción A Las Bases De Datos
Concepto de proceso Rina Arauz.
Planificación de uso del procesador
Estructura del sistema operativo
Novell Netware Autores: Cerrina Maria Josefina, Coto Marcelo,
SISTEMAS OPERATIVOS CONCEPTOS ARQUITECTONCOS DE LA COMPUTADORA
El núcleo del sistema operativo
PROCESOS COMENZAR.
DISPOSITIVOS DE E/S IU Colegio Mayor del Cauca Sistemas operativos Popayán, mayo de 2015.
Funciones de un Sistema Operativo (S.O.) Elementos de un S.O.
– GESTIÓN DE PROCESOS Sistemas Operativos. AGENDA Concepto de Proceso Planificación de Procesos Operaciones entre Procesos Comunicación interprocesos.
ESTRUCTURA DE S.OPERATIVO
ESTRUCTURA DE SISTEMAS OPERATIVOS
ESTRUCTURA DEL SISTEMA OPERATIVO INTEGRANTES: *CARBAJAL GONZALES, ESMERALDA *GONZALES CABRERA, MIRIAM *OTRIZ SARAVIA, KAREN.
ESTRUCTURA DE SISTEMAS OPERATIVOS  ESTRUCTURA MONOLÍTICA  ESTRUCTURA JERÁRQUICA  ESTRUCTURA MAQUINA VIRTUAL  ESTRUCTURA CLIENTE-SERVIDOR  ESTRUCTURA.
ESTRUCTURAS DE LOS SISTEMAS OPERATIVOS INTEGRANTES: -SIAS ALVAREZ -GUTIÉRREZ ROBLES -GELDRES HUAYCOCHEA.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS.
Tema: Componentes lógicos de un ordenador. Mediante el sistema de numeración binario, es decir, usando los dígitos 0 y 1. Lo único que transmite,
Introducción a los Sistemas Operativos
1 Sistemas Operativos Llamadas al Sistema. El interfaz proporcionado por el SO, para poder invocar los servicios del mismo, genera rutinas basadas en.
Estructura de Sistemas Operativos CAMPOS CHACALTANA, ANTHONY.
Estructura de los sistemas Operativos 1. Componentes de un sistema operativo  Administración de procesos  Administración de memoria  Subsistema de Entrada/Salida.
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
SOA UMG Estructura del Sistema Operativo. Componentes de un Sistema Operativo Administración de procesos Administración de memoria Subsistema de Entrada/Salida.
Control De Interrupción En El Sistema Operativo Alumno: Juan Gómez v Ángel Dávila v-xxxxxxxx Profesor República Bolivariana de Venezuela Ministerio.
GC-F-004 V.01 CENTRO DE INDUSTRIA Y LA CONSTRUCCIÓN REGIONAL TOLIMA.
Núcleo Lic. Gonzalo Pastor.
Procesos Lic. Gonzalo Pastor.
Estructura de los sistemas operativos
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS CHACALIAZA BOZA MARGARET AMARLLY.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS POR: NAPA MAGALLANES KEIDY ELIANA. UNIVERSIDAD PRIVADA SAN JUAN BAUSTISTA FILIAL CHINCHA FACULTAD DE INGENIERÍAS.
UNIVERSIDAD PRIVADA SAN JUAN BAUTISTA FILIAL CHINCHA ESCUELA PROFESIONAL DE INGENIERÍA DE COMPUTACIÓN Y SISTEMAS Por: Nestares Torres Luis Jesús Enrique.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS CHACALIAZA BOZA MARGARET AMARLLY.
Estructura de Sistemas Operativos
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS Magallanes Napa, Anthony Yair.
SISTEMAS OPERATIVOS En el mundo de la informática se denomina sistema operativo al programa, o conjunto de ellos, que gestiona los recursos físicos de.
Estructura de los Sistemas Operativos
Ha llegado el momento de dar una mirada al interior de los Sistemas Operativos. En las siguientes secciones examinaremos cuatro estructuras distintas.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS - MENDOZA MOLINA ARIANA
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS. Estos sistemas no tienen una estructura definida, sino que son escritos como una colección de procedimientos donde.
Conjunto de programas contenidos en un núcleo o kernel que efectúan la gestión de los procesos básicos de un Sistema informático, y permite la normal.
Hilos de Procesamiento. Hilos Concepto Beneficios Hilos a nivel kérnel y a nivel usuario Modelos multihilos Hilos de Solaris 2 Hilos de Java.
Transcripción de la presentación:

El núcleo del sistema operativo Rina Arauz

Introducción Objetivo: presentar la estructura interna y funciones del núcleo de un sistema operativo Corresponde al primer nivel jerárquico Suele permanecer en el almacenamiento primario porque su código se ejecuta muy frecuentemente Otros niveles Núcleo HW

Es la parte más dependiente del HW de todo el sistema operativo Funciones básicas del Núcleo de un S.O: Manejo de interrupciones. Se transforman generalmente en mensajes para los siguientes niveles Conmutación del procesador entre hilos o procesos (soporte al diagrama de estados) Mecanismos básicos de comunicación entre hilos y procesos Carga inicial y activación de la configuración del sistema Todo ello proporcionar el entorno adecuado para la existencia de procesos.

Mecanismo de interrupciones El hardware salva el contador de programa Se carga un nuevo contador de programa Se salvan los registros Se cambia el valor del puntero de pila Se conmuta el proceso que estaba bloqueado al estado de listo El planificador elige el siguiente proceso Se cede el control a un programa ensamblador que arranca proceso elegido

Niveles de interrupción Mecanismo empleado para determinar en qué orden se atienden las interrupciones Puede ser proporcionado por el hardware o por el software Típicamente existen 32 niveles de nivel de prioridad de interrupción (NPI) En UNIX se les suele conocer como Interrupt Priority Level o IPL En W2K se les conoce como Interrupt Request Level o IRQL

Diagrama de manejo de interrupciones Interrupción ¿Nuevo NPI > actual NPI? No Guardar interrupción Sí Crear un nuevo contexto Guardar el CP y lo flags NPI = nuevo NPI Llamada al manejador Bloquear Manejador de interrupción Sí ¿Hay int. pendientes? Desbloquear No Retornar

Niveles de interrupción en W2K 31 Alta Fallo de alimentación IPI Reloj Perfiles Interrupciones HW Dispositivo n ... Dispositivo 1 DPC/Dispatch Interrupciones SW APC Nivel de ejecución ordinario Base

Diagrama de estados (básico) Ejecución Desalojar Dormir Despachar Espera Listo Despertar

Estados básicos de un proceso: Listo: El único recurso que necesita el proceso para continuar es el procesador. Ejecución: El proceso dispone del procesador. Espera: El proceso espera por un recurso. Soporte al diagrama de estados: Conjunto de rutinas que permiten pasar por distintos estados a cada uno de los procesos.

Comunicación entre procesos Para comunicación intramáquina se emplea memoria compartida con primitivas de sincronización (P y V) Para una comunicación más general se utilizan los mensajes: Síncronos o bloqueantes (i. e. L4) Asíncronos o no bloqueantes (i. e. Mach) Las interrupciones HW se transforman en mensajes a los niveles superiores

Ejemplo: Linux Proporciona: Facilidades básicas Gestión de memoria Manejo de interrupciones Manejo del reloj y temporizador Manejo del estado de los procesos Planificación de procesos Manejo de señales Gestión de memoria Memoria virtual Protección Memoria compartida Carga dinámica Proyección de archivos en memoria

Linux: continuación Sistema de archivos Archivos, directorios Bloqueo de archivos Mecanismos de journaling VFS Manejadores de dispositivo (drivers) Modo carácter Modo bloque Comunicación entre procesos Señales Tuberías Colas de mensajes Semáforos Memoria compartida Sockets (TCP/IP) Subsistema de red Pilas de protocolos (IPv4, IPv6, IPX, etc.)

Llamadas al sistema Son el mecanismo controlado de acceso por parte de los procesos a los recursos del S.O. Método: a través de una instrucción máquina específica Al ejecutarse esta instrucción toma el control el S.O.(MP) Modo usuario Modo núcleo switch N { case 0: case 1: … case N: } ... syscall N

Procedimientos o funciones que ofrece el sistema a un proceso de usuario para acceder a determinados servicios propios del SSOO, es decir, servicios que se deben ejecutar en modo kernel o supervisor.

Llamadas al sistema Tanto su número como su tipo depende del sistema operativo Amoeba: sólo una llamada al sistema (RPC) WNT: ni se sabe (su interfaz no es pública) Tipos de llamada Comunicación y sincronización de procesos Ejecución de programas Manejo de operaciones de E/S Manipulación del sistema de archivos Detección y control de errores en tiempo de ejecución Comunicaciones en red Funciones de tiempo Manipulación de la interfaz gráfica

Ejemplo de llamadas Manipulación de archivos Archivo Archivo Interfaz de usuario Interfaz del sistema

Operaciones (archivos) int open (const char *pathname, int flags, mode_t mode); int close (int fd) int creat (const char *pathname, mode_t mode) int unlink (const char *pathname); ssize_t read (int fd, void *buf, size_t count); ssize_t write (int fd, const void *buf, size_t count); off_t lseek (int fildes, off_t offset, int whence); int rename (const char *oldpath, const char *newpath);

Ejemplo: open() Buscar el archivo en el directorio Comprobar que el proceso que hace la llamada tiene los privilegios necesarios Comprobar si la operación es coherente Identificar el dispositivo y obtener la dirección física Conseguir espacio si fuera necesario Crear el descriptor de archivo Devolver un código al programa que lo ha llamado En caso de que se produzca un error, el código de retorno de open() es –1 y errno contiene el número de error

Operaciones (procesos y tiempo) pid_t fork (void); int execve (const char *file, char *const argv[ ], char *const envp[ ]); void exit (int status); pid_t getpid (void); pid_t wait (int *status); int nanosleep (const struct timespec *req, struct timespec *rem); int gettimeofday (struct timeval *tv, struct timezone *tz); int getitimer (int which, struct itimerval *value); int setitimer (int which, const struct itimerval *value, struct itimerval *ovalue);