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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

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

  • Be the first to like this

No Downloads
Views
Total Views
177
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
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. Sistemas Operativos
  • 2. Funcionamiento de los ordenadores y S. O.
    • Ejecución de un solo programa a la vez.
    • Batch: conjunto de programas que se ejecutan en grupo.
    • Multiprogramación: varios programas se ejecutan a la vez y el S. O. Asigna los recursos.
    • Entrada remota de trabajos
    • Tratamiento de transacciones: permite la ejecución múltiple de un mismo programas (multithreading)
    • Multiacceso: varios usuarios actuando de forma concurrente.
    • Tiempo real: los ordenadores pueden interactuar con otros equipos.
  • 3. Definición de S. O.
    • Es un programa o conjunto de programas.
    • Estos programas trabajan juntos para lograr ciertos objetivos.
    • Se encarga de gestionar ciertos recursos:
      • Entrada/salida
      • Tratamiento de la información
      • Almacenamiento masivo
    • Actúa de intermediario entre el hardware y los programas de aplicación.
  • 4. Objetivos de los S. O.
    • Hacer posible el uso eficiente de los recursos del sistema:
      • Actúa coordinando las diferentes velocidades de funcionamiento de los dispositivos. P. E. Mas velocidad de procesadores, mas lentitud de periféricos.
    • Simplificar la operación de trabajo con el hardware:
      • Generan una máquina virtual: ordenador simplificado en el que el S. O. Carga con el trabajo de acercamiento al hardware.
  • 5. Funciones de los S. O.
    • Asignación de tiempo de CPU:
      • Planificar las diversas actividades.
    • Control de recursos:
      • Asignar recursos de forma racional. P. E. División de la memoria del ordenador entre los programas, controlar colas de e/s.
    • Control de entrada/salida:
      • Gestionar los datos desde y hacia los periféricos.
    • Control de los errores y protección:
      • Informar de las situaciones anómalas
    • Interfaz con el usuario:
      • Facilita el uso.
    • Facilidades contables:
      • Cálculo de costes de uso de CPU.
  • 6. Tipos de S. O.
    • Sistema operativos por servicios
  • 7. Componentes del sistema de cómputo
    • Hardware - proveé los componentes básicos de cómputo (CPU, memoria, dispositivos de E/S).
    • Sistema Operativo - controla y coordina el uso del hardware entre los varios programas de aplicación para los diferentes usuarios.
    • Programas de Aplicación - define las formas en que los recursos del sistema son utilizados para resolver los problemas de cómputo de los usuarios (compiladores, bases de datos, juegos de video, programas de negocios).
    • Usuarios (gente, maquinas, otras computadoras).
  • 8. Componentes del Sistema Operativo
    • Manejador de recursos - administra y aloja los recursos.
    • Programa de control - controla la ejecución de los programas de usuarios y las operaciones de los dispositivos de entrada/salida.
    • Kernel - el programa que corre en todo momento (todo lo demas es programa de aplicación).
  • 9. Por que necesitamos al Sistema Operativo
    • Usuario: prove interfaces de usuario, interprete de comandos, estructura de directorios, programas de utilerias (compiladores, editores, filtros).
    • Ambiente de programacion - prove un ambiente de alto nivel para manejo E/S, manejo de archivos, manejo de procesos.
    • Eficiencia - remplaza al operador en la calendarizacion de jobs, almacenamiento archivos de E/S, manejo de concurrencia.
  • 10. Breve Historia de los Sistemas Operativos
    • 1940. Primeras Computadoras
    • 1950. Sistemas en Batch
    • 1960. Multiprogramacion y Timesharing.
    • 1970. Minicomputadoras y Microprocesadores.
    • Finales de 70’s y 80’s. Computadoras personales, Redes, Sistemas Distribuidos y Sistemas Paralelos, Sistemas de Tiempo Real.
    • 1990. WWW, Sistemas de Computo Mobil, PC’s.
  • 11. Primeros sistemas - principios de los 1940s
    • Estructura
      • Grandes maquinas ejecutándose desde una consola
      • Computadora dedicada a un usuario/programador a la vez.
      • Programador / usuario como operador
      • Tarjetas perforadas o cintas programadas
      • Programación y depuración mediante switches y focos de luz.
    • Primer Software
      • Ensambladores, cargadores, linkers , Librerías de subrutinas comunes
      • Compiladores
      • Drivers de dispositivos
    • Uso ineficiente de recursos
      • Baja utilización del CPU
      • Mucho tiempo en inicialización del sistema (setup time)
      • Programación y depuración es lenta y tediosa.
  • 12. 1950`s. Sistemas Batch
    • Cuenta con un operador distinto al usuario.
    • Incluye un lector de tarjetas. El usuario/programador somete un conjunto de tarjetas perforadas que contienen un job a ejecutarse.
    • Reduce el tiempo de inicialización ejecutando en batch jobs similares.
    • Jobs de varios usuarios son ejecutados en secuencia por un monitor residente. Primer sistema operativo rudimentario.
    • Monitor residente
      • control inicial en el monitor
      • transfiere el control a el primer job
      • cuando el job termina se transfiere el control al monitor
  • 13. 1960’s. Multiprogramación
    • Sistemas multiprogramados - varios jobs se conservan en memoria al mismo tiempo, y el cpu se comparte entre ellos
    • Rutinas de E/S provista por el sistema ejecutadas simultaneamente con procesamiento del CPU.
    • Administración de memoria - el sistema debe reservar memoria para varios jobs.
    • Administración del CPU - el sistema debe elegir entre varios jobs listos para ejecución.
    • Administración de dispositivos.
  • 14. 1960’s. Sistemas de Tiempo Compartido
    • El CPU se comparte entre varios jobs que se encuentran residentes en memoria y en disco ( el CPU se asigna a un job solo si este esta en memoria).
    • Un job es enviado dentro y fuera del la memoria hacia el disco.
    • Existe comunicación en-linea entre el usuario y el sistema; cuando el sistema operativo finaliza la ejecución de un comando, busca el siguiente “estatuto de control” no de una tarjeta perforada, sino del teclado del operador.
    • Existe un sistema de archivos en-linea el cual esta disponible para los datos y código de los usuarios
  • 15. 1970-1980. Mini-computadoras y Microprocesadores
    • Computadoras de menor tamaño.
    • Desarrollo de sistemas operativos (UNIX, DOS, CP/M).
    • Mejora en las interfaces de usuario.
    • Introduccion de Microprocesadores.
    • Desarrollo de lenguajes de programacion.
  • 16. 1980. Sistemas de cómputo personales
    • Computadoras Personales- sistemas de cómputo dedicados a un solo usuario.
    • Dispositivos de E/S- teclados, raton, pantalla, impresoras..
    • Conveniente al usuario y de respuesta rápida.
    • Puede adaptarse a la tecnología para soportar otros sistemas operativos.
  • 17. 1980’s. Sistemas Distribuidos
    • Sistemas Distribuidos - distribuyen el cómputo entre varios procesadores geográficamente dispersos.
    • Sistemas debilmente acoplados - cada procesador tiene su propia memoria local y el procesador se comunica con los demas procesadores mediante lineas de comunicación, buses de alta velocidad y lineas telefónicas.
    • Ventajas:
      • Compartición de recursos
      • Incremento en la velocidad de cómputo
      • compartición de carga
      • Confiabilidad
      • Comunicacion
  • 18. 1980’s. Redes
    • Estaciones de Trabajo: (Sun, Vax, Silicon Graphics).
    • Redes de Area Local (Ethernet, Token Ring, FDDI, ATM), Redes de larga distancia (Arpanet).
    • Redes organizadas como clientes-servidores.
    • Servicios de S.O. Protocolos de comunicación, encripcion de datos, seguridad, consistencia en datos distribuidos.
  • 19. 1980-1990`s. Sistemas Paralelos
    • Sistemas paralelos - sistemas de múltiples procesadores con mas de 1 procesador con comunicación entre ellos.
    • Sistema fuertemente acoplado - los procesadores comparten memoria y reloj; la comunicación usualmente se realiza mediante memoria compartida.
    • Ventajas:
      • Incremento de velocidad
      • Económica
      • Incremento en la confiabilidad
  • 20. 1990`s-2000.
    • Computo Paralelo.
    • PC’s poderosas (1.5 GigaHertz) , Computadoras Multimedia.
    • Redes de Comunicación de distancia mundial, con envio de imágenes, grandes cantidades de datos, audio y video.
    • World Wide Web.
    • Notebooks utilizando tecnologias de comunicación inalambrica: Computo Mobil.
    • Robotica.
  • 21. 1990-2000`s-Sistemas de Tiempo Real
    • A menudo utilizados como dispositivo de control en aplicaciones dedicadas, como control de experimentos científicos, sistemas de procesamiento de imagenes médicas, sistemas de control industrial, etc...
    • Exige complimiento de restricciones de tiempos.
    • Sistemas de tiempo real criticos.
      • Cumplimiento forzoso de plazos de respuesta.
      • Predecibilidad y analisis de cumplimineto de plazos de respuesta
    • Sistemas de tiempo real acríticos.
      • Exigencia “suave” de plazos de respuesta.
      • Atención lo mas rapido posible a eventos, en promedio.
  • 22. Estructura de un S. O.
    • Núcleo
    • Gestión de la memoria
    • Control de entrada/salida
    • Gestión de dispositivos de almacenamiento masivo
    • Asignación de recursos y planificación
    • Protección
    • Interfaz de usuario
  • 23. Núcleo
    • Descansa directamente sobre el hardware y proporciona una serie de servicios a las capas superiores del sistema.
    • Las tareas principales son:
      • Manejo de interrupciones
      • Asignación de trabajo al procesador
      • Proporcionar una vía de comunicación entre los diferentes programas
  • 24. Núcleo
    • Manejo de interrupciones:
      • Cuando el hardware detecta una interrupción, el control se transfiere a este módulo,
      • el cual analiza el carácter de la interrupción y toma las acciones apropiadas:
        • Transferir el control a otro módulo del S. O.
        • Iniciar otro programa
        • Continuar la ejecución del programa interrumpido
  • 25. Núcleo
    • Asignación de trabajo al procesador y comunicación entre programas
      • El núcleo transfiere el control al programa que el planificador ha determinado para que sea el próximo en ejecutarse.
      • La comunicación entre programas se logra manteniendo una cola de mensajes en espera para cada uno de los programas activos.
      • El núcleo recibe los mensajes y los va almacenando en la cola apropiada al destino en cuestión, para distribuirlos cuando el programa destino se active.
  • 26. Núcleo
  • 27. Gestión de la memoria
    • La memoria principal de la mayoría de los ordenadores es mucho mas pequeña de lo que sería necesario para manejar todos los programas y datos.
    • El módulo de gestión de memoria es el encargado de asignar ciertas porciones de la memoria principal a los diferentes programas, mientras el resto de programas y datos se mantienen en los dispositivos de almacenamiento masivo.
    • La forma mas común de gestión de memoria es crear una memoria virtual utilizando los dispositivos de almacenamiento masivo.
  • 28. Gestión de la memoria
  • 29. División de la memoria entre las tareas
    • Por páginas: bloques de bytes de igual tamaño para todos los procesos y tareas.
    • Por segmentos: bloques de bytes con distinto tamaño según el proceso.
    • Por segmentos paginados: Los segmentos de tamaño distinto se dividen a su vez en páginas de distinto tamaño.
  • 30. Control de la entrada/salida
    • Los problemas derivados de las diferentes velocidades de funcionamiento de los dispositivos son tratados por este módulo presentándolo como una cuestión independiente del dispositivo.
    • P.e. En las salidas es frecuente la utilización de spoolers, los datos se almacenan temporalmente en una cola situada en un dispositivo de almacenamiento masivo hasta que el periférico requerido quede libre.
  • 31. Gestión de los dispositivos de almacenamiento masivo
    • Los datos y programas de un dispositivo de almacenamiento masivo se mantienen en ficheros.
    • Supervisa la creación, actualización y eliminación de estos ficheros.
    • Mantiene un directorio con todos los ficheros que existen en el sistema en cada momento.
    • Cada fichero está dotado de un conjunto de privilegios de acceso, que indican la extensión con la que pueden compartir la información contenida en el fichero. El S. O. Vigila que estos privilegios no sean violados.
  • 32. Sistema de archivos
    • Todas las aplicaciones computarizadas necesitan almacenar y recuperar la información Superando las limitaciones del almacenamiento real.
    • Trascendiendo a la duración de los procesos que las utilizan o generan.
    • Independizando a la información de los procesos permitiendo el acceso a la misma a través de varios procesos.
    • Las condiciones esenciales para el almacenamiento de la información a largo plazo son:
      • Debe ser posible almacenar una cantidad muy grande de información.
      • La información debe sobrevivir a la conclusión del proceso que la utiliza.
      • Debe ser posible que varios procesos tengan acceso concurrente a la información.
  • 33.
    • La solución es el almacenamiento de la información en discos y otros medios externos en unidades llamadas archivos:
      • Los archivos deben ser persistentes , es decir que no deben verse afectados por la creación o terminación de un proceso.
      • Los archivos son una colección de datos con nombre.
      • Pueden ser manipulados como una unidad por operaciones como: open, close, create, destroy, copy, rename, list.
      • Los elementos de datos individuales dentro del archivo pueden ser manipulados por operaciones como: read, write, update, insert, delete.
    • El “Sistema de Archivos” es la parte del sistema de administración del almacenamiento responsable, principalmente, de la administración de los archivos del almacenamiento secundario.
    • Es la parte del S. O. responsable de permitir “compartir controladamente” la información de los archivos.
    Sistema de archivos
  • 34. Sistema de archivos
    • Los usuarios deben poder crear, modificar y borrar archivos.
    • Se deben poder compartir los archivos de una manera cuidadosamente controlada
    • El mecanismo encargado de compartir los archivos debe proporcionar varios tipos de acceso controlado:
      • Ej.: “Acceso de Lectura” , “Acceso de Escritura” , “Acceso de Ejecución” , varias combinaciones de estos, etc.
    • Se debe poder estructurar los archivos de la manera más apropiada a cada aplicación. Los usuarios deben poder ordenar la transferencia de información entre archivos.
    • Se deben proporcionar posibilidades de “respaldo” y “recuperación” para prevenirse contra:
      • La pérdida accidental de información.
      • La destrucción maliciosa de información.
  • 35.
    • Se debe poder referenciar a los archivos mediante “Nombres Simbólicos” , brindando “Independencia de Dispositivos” . En ambientes sensibles, el sistema de archivos debe proporcionar posibilidades de “Cifrado” y “Descifrado”.
    • El sistema de archivos debe brindar una interfase favorable al usuario:
    • Debe suministrar una “visión lógica” de los datos y de las funciones que serán ejecutadas, en vez de una “visión física”.
    • El usuario no debe tener que preocuparse por:
      • Los dispositivos particulares.
      • Dónde serán almacenados los datos.
      • El formato de los datos en los dispositivos.
      • Los medios físicos de la transferencia de datos hacia y desde los dispositivos
    Sistema de archivos
  • 36. Sistema de archivos
    • Un “Archivo” es un conjunto de registros relacionados
    • El “Sistema de Archivos” es un componente importante de un S. O. y suele contener:
      • “ Métodos de acceso” relacionados con la manera de acceder a los datos almacenados en archivos.
      • “ Administración de archivos” referida a la provisión de mecanismos para que los archivos sean almacenados, referenciados, compartidos y asegurados.
      • “ Administración del almacenamiento auxiliar” para la asignación de espacio a los archivos en los dispositivos de almacenamiento secundario.
      • “ Integridad del archivo” para garantizar la integridad de la información del archivo.
  • 37.
    • El sistema de archivos está relacionado especialmente con la administración del espacio de almacenamiento secundario, fundamentalmente con el almacenamiento de disco. Una forma de organización de un sistema de archivos puede ser la siguiente:
      • Se utiliza una “raíz ” para indicar en qué parte del disco comienza el “directorio raíz ” .
      • El “directorio raíz ” apunta a los “directorios de usuarios”.
      • Un “directorio de usuario” contiene una entrada para cada uno de los archivos del usuario.
      • Cada entrada de archivo apunta al lugar del disco donde está almacenado el archivo referenciado.
    • Los nombres de archivos solo necesitan ser únicos dentro de un directorio de usuario dado. El nombre del sistema para un archivo dado debe ser único para el sistema de archivos.
    • En sistemas de archivo “jerárquicos” el nombre del sistema para un archivo suele estar formado como el “nombre de la trayectoria” del directorio raíz al archivo.
    Sistema de archivos
  • 38. Sistema de archivos
  • 39. Asignación de recursos y planificación
    • La mayor parte del tiempo en que un ordenador está funcionando, la demanda de recursos es mayor que los realmente existentes. Este problema se resuelve aplicando una política de asignación de recursos.
    • El mecanismo sería sencillo si se pudiese utilizar una política del tipo: “atender primero al que antes lo solicite”, sin embargo esto puede llevar a situaciones de deadlock (sistema colgado o caido) cuando dos programas solicitan insistentemente recursos asignados a otro.
    • El planificador cuenta con una política que varia de un S. O. a otro. Una política muy común consiste en el time slicing (asignación de intervalos cortos de tiempo a los programas)
  • 40. Protección
    • Actúa contra dos sucesos:
      • Errores
      • Abuso deliberado de los recursos del sistema
  • 41. Interfaz de usuario
    • Interfaz de comandos
    • Interfaz gráfica