Your SlideShare is downloading. ×
So
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

So

525
views

Published on

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
525
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ISC. Claudia Guzmán Barrera
  • 2. ¿Qué es un Sistema Operativo?
  • 3. 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 usados por el usuario. Los Sistemas Operativos son programas para la administración eficiente de los recursos del computador Un SO es un programa que tiene encomendadas una serie de funciones diferentes cuyo objetivo es simplificar el manejo y la utilización de la computadora, haciéndolo seguro y eficiente.
  • 4. 1.1 Definición y Conceptos El SO esta formado conceptualmente por 3 capas principales:  La capa más cercana al hardware se denomina Núcleo (Kernel) y es la que gestiona los recursos del sistema y la que suministra la funcionalidad básica del sistema operativo.  La capa de servicios o llamadas al sistema ofrece a los programas servicios en forma de una interfaz de programación , es decir, el SO ofrece una maquina virtual extendida a los programas, lo que facilita la elaboración de estos, puesto que se apoyan en las funciones que les suministra el SO.  La capa de interprete de mandatos o Shell suministra una interfaz a través de la cual el usuario puede dialogar de forma interactiva con la computadora; el Shell recibe, interpreta y si puede ejecuta la acción solicitada por el usuario.
  • 5. 1.1 Definición y Conceptos Usuario Entrada Salida Programas de Solicitud de Aplicación Respuesta a Servicio los Servicios Sistema Operativo Instrucciones de Procesamiento de Hardware Resultados Hardware de la Computadora Sistema de Cómputo
  • 6. 1.1 Definición y Conceptos Componentes Básicos de un Sistema Operativo: 1) Gestor de procesos: Encargado de la creación, planificación y destrucción de procesos. 2) Gestor de memoria: Componente encargado de saber qué partes de memoria están libres y cuáles ocupadas, así como la asignación y liberació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 y directorios 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 los usuarios y de definir lo que puede hacer cada uno de ellos con los recursos del sistema.
  • 7. 1.2 Funciones y Características El Sistema Operativo: 1) Permite la comunicación entre el Usuario y la Computadora.  Interfaz Gráfica Iconos Menú Ventanas  Línea de Comandos
  • 8. 1.2 Funciones y Características 2) Carga en memoria RAM los programas para su ejecución. Administra Compartir Tareas Información Archivos Memoria Impresión
  • 9. 1.2 Funciones y Características 3) Coordina el trabajo entre el hardware y el resto del software. 4) Administra el almacenamiento de la información.
  • 10. 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
  • 11.  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
  • 12. 1.4 Clasificación Monousuarios Núm. De Usuarios Multiusuarios Monotareas Núm. de tareas Multitareas Sistemas Operativos Uniproceso Núm. De Simétricos procesadores Multiproceso Asimétricos Red Forma de ofrecer sus servicios Distribuidos
  • 13. 1.5 Estructura: niveles o estratos de diseño.  Estructura monolítica: es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa Módulo a Módulo d compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra.  Construcción del programa final a base de Módulo b Módulo e módulos compilados separadamente que se unen a través del ligador.  Buena definición de parámetros de enlace Módulo c Módulo f entre las distintas rutinas existentes.  Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora. Son eficientes y rápidos en su ejecución y gestión, pero no pueden soportar diferentes ambientes de trabajo o tipos de aplicaciones.
  • 14.  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ácticos Multicapa  Multics y Unix Interprete de Anillos concéntricos o Rings Comandos Aplicación de Capa 5 – Usuario Usuarios Gestión de la información Capa 4 – Archivos Gestión de memoria Capa 3 – E/S Spool Gestión de E/S Capa 2 – Comunicaciones Capa 1 – Memoria Gestión Gestión Capa 0 – Gestión CPU De De Capa 1 – Hardware CPU CPU Sistema Jerárquico THE Organización Jerárquica (Anillos)
  • 15.  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.
  • 16.  Cliente – Servidor: Su objetivo es minimizar el kernel desplazando el código de todos sus servicios a las capas superiores 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 procesos servidores, de forma que cuando un proceso de usuario llamado proceso cliente, necesita un servicio del S.O. lo que hace es enviar un mensaje al proceso servidor correspondiente, que realiza el trabajo y devuelve la respuesta.
  • 17.  Orientada al Objeto: Las funciones del sistema son un tipo de objeto, donde la interacción entre ellos depende de las 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 control de los privilegios de acceso a los mismos. Cuando un programa desee realizar una operación sobre un objeto determinado, deberá ejecutar una llamada al sistema, indicando qué derechos tiene para poder utilizarlo y qué operación intenta llevar a cabo. Como resultado de dicha llamada, el sistema validará la petición y, si puede ser aceptada, permitirá la realización de dicha operación.
  • 18. 1.6 Núcleo. El kernel se ejecuta con las interrupciones desactivadas y es la parte del S. O. más cercana al hardware, por ello suele estar codificado en ensamblador o lenguaje máquina, además de estar residente en memoria principal. El resto del S. O. se suele programar en lenguajes de alto nivel.Componentes del núcleo.  Administrador de procesos;  Controlador de interrupciones;  Manejador de la comunicación entre procesos.
  • 19.  Administrador de procesos (dispatcher): Se encarga de asignar los procesadores a los diferentes procesos, por lo tanto debe actuar cuando se debe comprobar 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 listo y debido al algoritmo de planificación este puede desplazar al que esta activo;  Cuando un proceso debe pasar de activo a listo y por lo tanto otro pasara de listo a activo.
  • 20.  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.
  • 21. 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 deProcesos);h) soporte para servicios de más alto nivel.
  • 22. 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,
  • 23. 2.2 Estados y transiciones de losprocesos 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.
  • 24. 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).
  • 25. Todos los procesos ligeros de un mismo procesocomparten la información del mismo.En concreto, comparten:  Espacio de memoria.  Variables globales.  Archivos abiertos.  Procesos hijos.  Temporizadores.  Señales y semáforos.  Contabilidad.
  • 26. 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.
  • 27. 2.5 Niveles, objetivos y criterios deplanificació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.
  • 28. 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 losrecursos 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 disponibley 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 vecespor segundo y reside siempre en el almacenamiento primario.
  • 29. 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.
  • 30. 2.6 Técnicas de administración delplanificador. 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.
  • 31. 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».
  • 32.  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.
  • 33. 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
  • 34. 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.
  • 35. 3.3 Organización de memoriavirtual 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.
  • 36. Beneficios del uso de memoriavirtual 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.
  • 37. 3.4 Administración de memoriavirtual
  • 38. 4.1 Dispositivos y manejadores dedispositivos: device drivers.
  • 39. 4.2 Mecanismos y funciones de losmanejadores de dispositivos:device drivers.
  • 40. 4.3 Estructuras de datos paramanejo de dispositivos.
  • 41. 4.4 Operaciones de Entrada /salida
  • 42. 5.1 Concepto
  • 43. 5.2 Noción de archivo real y virtual.
  • 44. 5.3 Componentes de un sistema dearchivos.
  • 45. 5.4 Organización lógica y física.
  • 46. 5.5 Mecanismos de acceso a losarchivos.
  • 47. 5.6 Manejo de espacio en memoriasecundaria.
  • 48. 5.7 Modelo jerárquico.
  • 49. 5.8 Mecanismos de recuperaciónen caso de falla.
  • 50. 6.1 Concepto y objetivos deprotección.
  • 51. 6.2 Funciones del sistema deprotección.
  • 52. 6.3 Implantación de matrices deacceso.
  • 53. 6.4 Protección basada en ellenguaje.
  • 54. 6.5 Concepto de seguridad.
  • 55. 6.6 Clasificaciones de la seguridad.
  • 56. 6.7 Validación y amenazas alsistema.
  • 57. 6.8 Cifrado.