So

64
ISC. Claudia Guzmán Barrera

Transcript of So

Page 1: So

ISC. Claudia Guzmán Barrera

Page 2: So

¿Qué es un Sistema Operativo?

Page 3: So

1.1 Definición y Conceptos Un Sistema Operativo es un programa que actúa de interfaz

entre los dispositivos de hardware y los programas usadospor el usuario.

Los Sistemas Operativos son programas para laadministración eficiente de los recursos del computador

Un SO es un programa que tiene encomendadas una seriede funciones diferentes cuyo objetivo es simplificar elmanejo y la utilización de la computadora, haciéndoloseguro y eficiente.

Page 4: So

El SO esta formado conceptualmente por 3 capas principales:

La capa más cercana al hardware se denomina Núcleo (Kernel) y es laque gestiona los recursos del sistema y la que suministra la funcionalidadbásica del sistema operativo.

La capa de servicios o llamadas al sistema ofrece a los programasservicios en forma de una interfaz de programación , es decir, el SOofrece una maquina virtual extendida a los programas, lo que facilita laelaboración de estos, puesto que se apoyan en las funciones que lessuministra el SO.

La capa de interprete de mandatos o Shell suministra una interfaz através de la cual el usuario puede dialogar de forma interactiva con lacomputadora; el Shell recibe, interpreta y si puede ejecuta la acciónsolicitada por el usuario.

1.1 Definición y Conceptos

Page 5: So

1.1 Definición y Conceptos

Usuario

Programas de Aplicación

Sistema Operativo

Hardware de la Computadora

Entrada Salida

Solicitud de Servicio

Respuesta a los Servicios

Procesamiento de Resultados

Instrucciones de Hardware

Sistema de Cómputo

Page 6: So

Componentes Básicos de un Sistema Operativo:

1) Gestor de procesos: Encargado de la creación, planificación ydestrucción de procesos.

2) Gestor de memoria: Componente encargado de saber qué partes dememoria están libres y cuáles ocupadas, así como la asignación yliberación de memoria según la necesidad de los procesos.

3) Gestor de E/S: Facilita el manejo de los periféricos.

4) Gestor de archivos y directorios: Se encarga del manejo de archivos ydirectorios y de la administración del almacenamiento secundario.

5) Comunicación y Sincronización de procesos.

6) Seguridad y Protección. Se encarga de garantizar la protección de losusuarios y de definir lo que puede hacer cada uno de ellos con losrecursos del sistema.

1.1 Definición y Conceptos

Page 7: So

1.2 Funciones y Características El Sistema Operativo:

1) Permite la comunicación entre el Usuario y laComputadora.

Interfaz Gráfica

Línea de Comandos

IconosMenúVentanas

Page 8: So

1.2 Funciones y Características2) Carga en memoria RAM los programas para suejecución.

Administra

Tareas

Archivos

Memoria

Impresión

Compartir

Información

Page 9: So

1.2 Funciones y Características3) Coordina el trabajo entre el hardware y el resto delsoftware.

4) Administra el almacenamiento de la información.

Page 10: So

1.3 Evolución Histórica Primera generacion (1945 – 1955)

Su progreso en la construccion de computadoras digitales hasta la segunda guerra mundial

Bulbos y conexiones En los años 50 comienzan con transicion entre trabajos Primer computadora totalmente electronica, economica, cientifica que

funcionaba con bulbos de vacio

Segunda generacion (1955 – 1965) Aparecen los sistemas operativos en los años 60 Multiprocesadores Se utilizan varias tecnicas

Multiprocesador Tiempo real Tiempo compartido multiprogramacion

Page 11: So

Tercera generacion (1965 – 1980) Gestion de redes NFS Linux liberacion nucleo OS/360 Circuitos integrados y multiprogramacion MS-DOS Spooling proceso mediante el cual la computadora introduce trabajos en el buffer. Lenguajes de alto nivel Lanzamiento oficial de Macintosh

Cuarta generacion (1980 – Presente) Ambiente amigable y grafico Netware version 40 Windows 95 UNIX, S.O portable. Multitarea y multiusuario Windows 98 Windows 2000 Linux Red Hat Windows XP Windows NT 4 Windows Vista Windows 7 Windows Me Windows 8 rlease edition IOS

Page 12: So

1.4 Clasificación

Sistemas Operativos

Núm. De Usuarios

Monousuarios

Multiusuarios

Núm. de tareas

Monotareas

Multitareas

Núm. De procesadores

Uniproceso

Multiproceso

Simétricos

Asimétricos

Forma de ofrecer sus servicios

Red

Distribuidos

Page 13: So

1.5 Estructura: niveles o estratos de diseño.

Estructura monolítica: es la estructura delos primeros sistemas operativos constituidosfundamentalmente por un solo programacompuesto de un conjunto de rutinasentrelazadas de tal forma que cada una puedellamar a cualquier otra. Construcción del programa final a base de

módulos compilados separadamente que seunen a través del ligador.

Buena definición de parámetros de enlaceentre las distintas rutinas existentes.

Carecen de protecciones y privilegios alentrar a rutinas que manejan diferentesaspectos de los recursos de la computadora.

Son eficientes y rápidos en su ejecución ygestión, pero no pueden soportar diferentesambientes de trabajo o tipos deaplicaciones.

Módulo a Módulo d

Módulo b Módulo e

Módulo c Módulo f

Page 14: So

GestiónDe

CPU

Estructura jerárquica: Se dividió el S.O. en pequeñas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con una clara interfaz con el resto de los elementos. 1. THE (Technische Hogeschool, Eindhoven), se utilizó con

fines didácticosMulticapa Multics y UnixAnillos concéntricos o Rings

Capa 5 – UsuarioCapa 4 – ArchivosCapa 3 – E/SCapa 2 – ComunicacionesCapa 1 – MemoriaCapa 0 – Gestión CPUCapa 1 – HardwareSistema Jerárquico THE

GestiónDe

CPU

Gestión de E/S

Gestión de memoria

Gestión de la información

Interprete de

Comandos

Aplicación de

Usuarios

Spool

Organización Jerárquica (Anillos)

Page 15: So

Máquina Virtual: Se trata de un sistema operativo que presenta una interfaz a cada proceso, mostrando una máquina que parece idéntica a la maquina real subyacente. Su objetivo es integrar distintos S.O. dando la sensación de ser varias maquinas diferentes.

Separan la multiprogramación y la maquina extendida.

Su núcleo se denomina monitor virtual y este lleva a cabo la multiprogramación.

Page 16: So

Cliente – Servidor: Su objetivo es minimizar el kerneldesplazando el código de todos sus servicios a las capassuperiores y quitarle lo mas que se pueda al S.O. Para ello, la mayoría de sus funciones se implementan

como procesos de usuario, denominados procesosservidores, de forma que cuando un proceso de usuariollamado proceso cliente, necesita un servicio del S.O. loque hace es enviar un mensaje al proceso servidorcorrespondiente, que realiza el trabajo y devuelve larespuesta.

Page 17: So

Orientada al Objeto: Las funciones del sistema son untipo de objeto, donde la interacción entre ellos depende delas capacidades que cada uno tenga para actuar con el otro. El kernel es el responsable del mantenimiento de las

definiciones de los tipos de objetos soportados y del controlde los privilegios de acceso a los mismos. Cuando unprograma desee realizar una operación sobre un objetodeterminado, deberá ejecutar una llamada al sistema,indicando qué derechos tiene para poder utilizarlo y quéoperación intenta llevar a cabo. Como resultado de dichallamada, el sistema validará la petición y, si puede seraceptada, permitirá la realización de dicha operación.

Page 18: So

1.6 Núcleo. El kernel se ejecuta con las interrupciones

desactivadas y es la parte del S. O. más cercana alhardware, por ello suele estar codificado enensamblador o lenguaje máquina, además de estarresidente en memoria principal. El resto del S. O. sesuele programar en lenguajes de alto nivel.

Componentes del núcleo.

Administrador de procesos;

Controlador de interrupciones;

Manejador de la comunicación entre procesos.

Page 19: So

Administrador de procesos (dispatcher): Seencarga de asignar los procesadores a los diferentesprocesos, por lo tanto debe actuar cuando se debecomprobar si es necesario cambiar el proceso que estáactivo, es decir en las siguientes situaciones:

Cuando el proceso que esta activo se bloquea;

Cuando un proceso se desbloquea pasando a estado listoy debido al algoritmo de planificación este puededesplazar al que esta activo;

Cuando un proceso debe pasar de activo a listo y por lotanto otro pasara de listo a activo.

Page 20: So

Controlador de interrupciones.

Objetivos:

Determinar el origen de la interrupción

Dar servicio a la interrupción

Tipos de interrupciones:

Interrupciones internas: producidas por los propios procesos;

Interrupciones externas: producidas por elementos ajenos a los procesos.

Page 21: So

Funciones básicas del núcleoa) manipulación de interrupciones;

b) inhabilitación y habilitación de interrupciones;

c) creación y destrucción de procesos;

d) cambio de estado de un proceso;

e) despachar un proceso;

f) comunicación entre procesos;

g) manipulación de los PCBs (Bloques de Control de Procesos);

h) soporte para servicios de más alto nivel.

Page 22: So
Page 23: So

2.1 Concepto de proceso. Un proceso es un programa en ejecución.

Un proceso es una secuencia de acciones derivadas de la ejecución de una serie de instrucciones. Esto implica que: un proceso puede requerir la ejecución de uno o varios

programas; y

que un programa puede formar parte de más de un proceso.

Un proceso necesita de ciertos recursos para completar su tarea, incluye: tiempo de CPU,

memoria,

archivos,

y dispositivos de E/S,

Page 24: So

2.2 Estados y transiciones de los procesos Ejecución (Activo). En este estado está el proceso que está siendo

ejecutado por el procesador, es decir, que está en fase de procesamiento. En esta fase el estado del proceso reside en los registros del procesador.

• Bloqueado. Un proceso bloqueado está esperando a que ocurra un evento y no puede seguir ejecutando hasta que suceda el evento. Una situación típica de proceso bloqueado se produce cuando el proceso solicita una operación de E/S. Hasta que no termina esta operación, el proceso queda bloqueado. En esta fase, el estado del proceso reside en el BCP.

• Listo. Un proceso está listo para ejecutar cuando puede entrar en fase de procesamiento. Dado que puede haber varios procesos en este estado, una de las tareas del sistema operativo será seleccionar aquel que debe pasar a ejecución. El módulo del sistema operativo que toma esta decisión se denomina planificador. En esta fase, el estado del proceso reside en el BCP.

Page 25: So
Page 26: So

2.3 Procesos ligeros: Hilos o hebras

Un proceso ligero, o thread, es un programa en ejecución (flujo de ejecución) que comparte la imagen de memoria y otras informaciones con otros procesos ligeros.

Un proceso ligero se define coMo una función cuya ejecución se puede lanzar en paralelo con otras.

Cada proceso ligero tiene informaciones que le son propias y que no comparte con otros procesos ligeros. Las informaciones propias se refieren fundamentalmente al contexto de ejecución, pudiéndose destacar las siguientes: Contador de programa.

Pila.

Registros.

Estado del proceso ligero (ejecutando, listo o bloqueado).

Page 27: So

Todos los procesos ligeros de un mismo proceso comparten la información del mismo.

En concreto, comparten:

Espacio de memoria.

Variables globales.

Archivos abiertos.

Procesos hijos.

Temporizadores.

Señales y semáforos.

Contabilidad.

Page 28: So

2.4 Concurrencia y secuenciabilidad.

La concurrencia es el solapamiento en el tiempo de la ejecución de varias actividades.

Dos procesos, P1 y P2, se ejecutan concurrentemente si la primera instrucción de P1 se ejecuta entre la primera y la última instrucción de P2.

Page 29: So

2.5 Niveles, objetivos y criterios de planificación. La planificación consiste en un conjunto de políticas y

mecanismos incorporados al S. O. y por los que se rige el orden en que se completa el trabajo que hay que realizar. Su objetivo primordial es optimizar el rendimiento del sistema.

La planificación del procesador es la asignación de los procesadores físicos a los procesos. La parte del S. O. encargada de tomar esta decisión se denomina planificador y el algoritmo que utiliza se llama algoritmo de planificación o disciplina.

Page 30: So

Niveles de planificación Planificación de alto nivel:— También se denomina Planificación de trabajos.— Determina a qué trabajos se les va a permitir competir activamente por los recursos del sistema, lo cual se denomina Planificación de admisión.

Planificación de nivel intermedio:— Determina a qué procesos se les puede permitir competir por la cpu.— Responde a fluctuaciones a corto plazo en la carga del sistema y efectúa “suspensiones” y “activaciones” (“reanudaciones”) de procesos.— Debe ayudar a alcanzar ciertas metas en el rendimiento total del sistema.

Planificación de bajo nivel:— Determina a qué proceso listo se le asigna la cpu cuando esta queda disponible y asigna la cpu al mismo, es decir que “despacha” la cpu al proceso.— La efectúa el Despachador del Sistema Operativo, el que opera muchas veces por segundo y reside siempre en el almacenamiento primario.

Page 31: So
Page 32: So

Objetivos: Ser justo; Todos los procesos son tratados de igual manera, Ningún proceso es

postergado indefinidamente. Maximizar la capacidad de ejecución; Maximizar el número de procesos

servidos por unidad de tiempo. Maximizar el número de usuarios interactivos recibiendo unos tiempos

de respuesta aceptables; En un máximo de unos segundos. Equilibrar el uso de recursos; Favorecer a los procesos que utilizarán

recursos infrautilizados. Lograr un equilibrio entre respuesta y utilización; La mejor manera de

garantizar buenos tiempos de respuesta es disponer de los recursos suficientes cuando se necesitan, pero la utilización total de recursos podrá ser pobre.

Evitar la postergación indefinida; Se utiliza la estrategia del “envejecimiento” , Mientras un proceso espera por un recurso su prioridad debe aumentar, así la prioridad llegará a ser tan alta que el proceso recibirá el recurso esperado.

Asegurar las prioridades; Los mecanismos de planificación deben favorecer a los procesos con prioridades más altas.

Dar preferencia a los procesos que mantienen recursos no compartidos.

Page 33: So

2.6 Técnicas de administración del planificador. Cíclica o Round-robin: El algoritmo cíclico está

diseñado para hacer un reparto equitativo del tiempo del procesador, por lo que está especialmente destinado a los sistemas de tiempo compartido.

Page 34: So
Page 35: So

3.1 Política y filosofía. El sistema operativo debe encargarse de realizar un

reparto transparente, eficiente y seguro de los distintos recursos de la máquina entre los diversos procesos, de forma que cada uno de ellos crea que «tiene una máquina para él solo».

Page 36: So

Objetivos deseables del sistema de gestión de memoria: Ofrecer a cada proceso un espacio lógico propio.

Proporcionar protección entre los procesos.

Permitir que los procesos compartan memoria.

Dar soporte a las distintas regiones del proceso.

Maximizar el rendimiento del sistema.

Proporcionar a los procesos mapas de memoria muy grandes.

Page 37: So

Política de asignación de espacio Esta política decide cuál de las zonas libres se debería usar,

intentando conjugar dos aspectos: un buen aprovechamiento de la memoria y un algoritmo de decisión eficiente. El mejor ajuste (best-fit). Se elige la zona libre más pequeña donde quepa

el mapa del proceso. A priori, puede parecer la mejor solución. Sin embargo, esto no es así. Por un lado, se generan nuevos espacios libres muy pequeños. Por otro lado, la selección del mejor hueco exige comprobar cada uno de ellos o mantenerlos ordenados por tamaño. Ambas soluciones conducen a un algoritmo ineficiente,

El peor ajuste (worst-fit). Se elige el hueco más grande, Con ello se pretende que no se generen nuevos huecos pequeños. Sin embargo, sigue siendo necesario recorrer toda la lista de huecos o mantenerla ordenada por tamaño.

El primero que ajuste (first-fit). Aunque pueda parecer sorprendente a priori, ésta suele ser la mejor política. Es muy eficiente ya que basta con encontrar una zona libre de tamaño suficiente y proporciona un aprovechamiento de la memoria aceptable.

Una estrategia de asignación interesante es el sistema buddy,. Está basado en el uso de listas de huecos cuyo tamaño son potencias de dos

Page 38: So

3.2 Memoria real. La memoria en un sistema está organizada como una

jerarquía de niveles de almacenamiento, entre los que se mueve la información dependiendo de la necesidad de la misma en un determinado instante.

Page 39: So

3.3 Organización de memoria virtual La técnica de memoria virtual se ocupa de la transferencia de

información entre la memoria principal y la secundaria, La memoria secundaria está normalmente soportada en un disco (o partición).

La memoria virtual se implementa sobre un esquema de paginación, a este dispositivo se le denomina dispositivo de paginación .

El buen rendimiento del sistema de memoria virtual está basado en que los procesos presentan la propiedad de proximidad de referencias. Esta propiedad permite que un proceso genere muy pocos fallos aunque tenga en memoria principal solo una parte de su imagen de memoria (conjunto residente).

El objetivo del sistema de memoria virtual es intentar que la información que está usando un proceso en un determinado momento (conjunto de trabajo) esté residente en memoria principal. O sea, que el conjunto residente del proceso contenga a su conjunto de trabajo.

Page 40: So

Beneficios del uso de memoria virtual

Se produce un aumento del grado de multiprogramación al no ser necesario que todo el mapa de memoria de un proceso este en memoria principal para poder ejecutarlo. Este aumento implica una mejora en el rendimiento del sistema. Sin embargo, si el grado de multiprogramación se hace demasiado alto, el número de fallos de página se dispara y el rendimiento del sistema baja drásticamente. A esta situación se le denomina hiperpaginación.

Se pueden ejecutar programas más grandes que la memoria principal disponible.

Page 41: So

3.4 Administración de memoria virtual

Page 42: So
Page 43: So

4.1 Dispositivos y manejadores de dispositivos: device drivers.

Page 44: So

4.2 Mecanismos y funciones de los manejadores de dispositivos: device drivers.

Page 45: So

4.3 Estructuras de datos para manejo de dispositivos.

Page 46: So

4.4 Operaciones de Entrada /salida

Page 47: So
Page 48: So

5.1 Concepto

Page 49: So

5.2 Noción de archivo real y virtual.

Page 50: So

5.3 Componentes de un sistema de archivos.

Page 51: So

5.4 Organización lógica y física.

Page 52: So

5.5 Mecanismos de acceso a los archivos.

Page 53: So

5.6 Manejo de espacio en memoria secundaria.

Page 54: So

5.7 Modelo jerárquico.

Page 55: So

5.8 Mecanismos de recuperación en caso de falla.

Page 56: So
Page 57: So

6.1 Concepto y objetivos de protección.

Page 58: So

6.2 Funciones del sistema de protección.

Page 59: So

6.3 Implantación de matrices de acceso.

Page 60: So

6.4 Protección basada en el lenguaje.

Page 61: So

6.5 Concepto de seguridad.

Page 62: So

6.6 Clasificaciones de la seguridad.

Page 63: So

6.7 Validación y amenazas al sistema.

Page 64: So

6.8 Cifrado.