Introducción a los Sistemas Operativos

Page 1

Introducción Conceptos Generales de los sistemas operativos

Ing. Luis Eduardo Sepúlveda Rodríguez. M.Sc 2015


Contenido

| Introducción / Contenido |

●  Sistema Informático ●  Sistema Operativo ●  Funcionamiento de un Sistema Informático ●  Gestión de procesos ●  Gestión de memoria ●  Gestión de almacenamiento ●  Protección y Seguridad ●  Entornos informáticos ●  Sistemas Operativos Open-­‐Source / Software Libre Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.2


Objetivos | Introducción / Objetivos |

●  Describir la organización básica de un Sistema informático ●  Brindar un visión general de los principales componentes de un sistema operativo ●  Dar una visión general de diversos tipos de entornos informáticos ●  Explorar algunos sistemas operativos Open-­‐Source / Software Libre

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.3


Sistema Informático


DeMinición de un sistema informático | Introducción / Sistema Informático / DeMinición |

Un sistema informático es un sistema que permite almacenar y procesar información; es el conjunto de partes interrelacionadas: hardware, software y usuarios. (Silberschatz et all , 2009)

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.5


Componentes de un sistema informático | Introducción / Sistema Informático / Componentes |

Un sistema informático puede dividirse conceptualmente en cuatro componentes como son: ●  Hardware: Proporciona los recursos básicos de computación (CPU, memoria, dispositivos de E/S). ●  Sistema Operativo: Controla y coordina el uso del hardware entre las distintas aplicaciones de los distintos usuarios. ●  Aplicaciones: Consumen los recursos para resolver los problemas de computación de los usuarios. ●  Usuarios: Personas, máquinas u otros computadores.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.6


Estructura de un sistema informático | Introducción / Sistema Informático / Estructura |

Usuario 1

Compiladores

Usuario 3

Usuario 2

Editores de texto …. Bases de datos

Usuario n

Programas de sistemas y aplicación

Sistema Operativo Hardware

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.7


Función de un sistema informático | Introducción / Sistema Informático / Función de un sistema informático |

●  El computador es una máquina destinada a procesar datos

●  El procesamiento involucra varios Mlujos de información como son: datos de entrada, instrucciones de máquina y resultados.

●  Inicialmente se parte del Mlujo de datos que han de ser procesados, este Mlujo de datos es tratado mediante un Mlujo de instrucciones de máquina generado por la ejecución de un programa, y produce el Mlujo de datos resultado.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.8


Función de un sistema informático | Introducción / Sistema Informático / Función de un sistema informático |

Datos de entrada

Procesador ( Instrucciones de máquina)

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

Resultados

1.9


Programas en un sistema Informático | Introducción / Sistema Informático / Programas en un sistema informático |

●  Los programas de un computador puede dividirse a de forma general en dos tipos: •  Programas de sistema, que controlan la operación de la computadora misma. •  Programas de aplicación, que realizan las tareas reales que el usuario desea. ●  El programa de sistema más importante y fundamental es el Sistema Operativo, que controla todos los recursos de la computadora y establece la base sobre la que pueden escribirse los programas de aplicación.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.10


Programas en un sistema Informático | Introducción / Sistema Informático / Programas en un sistema informático |

Sistemas Procesadores Navegadores Web Bancarios de texto

Compiladores Editores

Intérprete de ordenes

Programas de Aplicación

… Programas de Sistema

Sistema Operativo

Usuario Lenguaje de máquina Micro-­‐programación

Hardware

Dispositivos Mísicos Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.11


Complejidad en un sistema informático | Introducción / Sistema Informático / Complejidad en un sistema informático |

●  Un sistema informático moderno consiste en uno o más procesadores, memoria principal (también conocida como RAM, memoria de acceso aleatorio), discos para almacenar información, impresoras, interfaces de red y otros dispositivos de entrada/salida (E/S). ●  Desde todo punto de vista, se trata de un sistema complejo.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.12


Complejidad en un sistema informático | Introducción / Sistema Informático / Complejidad en un sistema informático |

●  Escribir programas que permitan interactuar directamente con todos los componentes hardware y los usen correctamente, es una tarea en extremo diMícil. ●  Si todos los programadores tuvieran que ocuparse de cómo trabajan las unidades de disco por ejemplo, y de las docenas de cosas que pueden fallar al leer un bloque de disco, es poco probable que pudieran escribirse muchos programas.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.13


Complejidad en un sistema informático | Introducción / Sistema Informático / Complejidad en un sistema informático |

●  Por la problemática anterior, debía encontrarse alguna forma de proteger a los programadores de la complejidad que representa gestionar directamente al hardware.

●  La solución consiste en poner una capa de programas encima del hardware, la cual debe encargue de administrar todas las partes del sistema informático y presentar al usuario una interfaz o máquina virtual que sea más fácil de entender y programar.

●  Esta capa de programas es el Sistema Operativo (SO).

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.14


Sistema Operativo


¿Qué es un Sistema Operativo? | Introducción / Sistema Operativo / DeMinición |

●  DeMinición según la RAE (2015) : Sistema Operativo: Programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones. Dependiendo del punto de vista de los usuarios, existen varias formas de percibir al Sistema Operativo •  Interfaz de usuario •  Máquina extendida o máquina virtual •  Administrador de recursos

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.16


¿Qué es un Sistema Operativo? | Introducción / Sistema Operativo / DeMinición |

●  No existe una deMinición universalmente aceptada ●  Un Sistema Operativo es un administrador de recursos •  Gestiona todos los recursos •  Resuelve los convictos entre las solicitudes de los usuarios para garantizar el uso eMiciente y equilibrado de los recursos ●  Un sistema Operativos es un programa de control •  Controla la ejecución de programas para prevenir errores y el uso indebido del sistema informático.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.17


¿Qué es un Sistema Operativo? | Introducción / Sistema Operativo / ¿Qué es un Sistema Operativo?|

●  DeMiniciones: •  “Un sistema operativo (SO) explota los recursos de hardware de uno o más procesadores para ofrecer un conjunto de servicios a los usuarios del sistema. El sistema operativo también gestiona la memoria secundaria y los dispositivos de entrada/salida (E/S) en nombre de los usuarios” (Stallings, 2009). •  Es un programa cuyo objetivo principal es controlar el uso adecuado de los recursos computacionales. •  Es el conjunto de programas implementados en Software o Firmware que hacen posibles que controle al Hardware.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.18


¿Qué hace un Sistema Operativo? | Introducción / Sistema Operativo / ¿Qué es un Sistema Operativo?|

●  Facilitar el uso de la computadora al usuario (Interfaz).

●  Facilitar la construcción de aplicaciones al programador (Máquina virtual extendida).

●  Ejecutar programas eMicientemente (Gestor de recursos).

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.19


¿Qué hace un Sistema Operativo? | Introducción / Sistema Operativo / ¿Qué es un Sistema Operativo?|

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.20


¿Qué hace un Sistema Operativo? | Introducción / Sistema Operativo / ¿Qué es un Sistema Operativo?|

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.21


Funcionamiento de un Sistema Informático


Arquitectura RISC vs CISC | Introducción / Funcionamiento de un sistema informático/ RISC vs CISC |

●  CISC (ComplexInstruction Set Computer) Computadoras con un conjunto de instrucciones complejo. ●  RISC (ReducedInstruction Set Computer) Computadoras con un conjunto de instrucciones reducido

RISC

CISC

Instrucciones de máquina

Instrucciones de máquina

Ejecución de instrucción

Conversión de micro-­‐código Micro-­‐instrucción Ejecución de micro-­‐instrucción

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.23


Proceso de arranque del computador | Introducción / Funcionamiento de un sistema informático/ Proceso de arranque |

●  El programa de arranque se carga al encender o reiniciar el sistema ●  Este programa se encuentra almacenado típicamente almacenado en la ROM (Read Only Memory) o EPROM (Erasable Programmable Read-­‐Only Memory), generalmente conocido como Mirmware y realiza las siguientes acciones: •  Inicia todos los aspectos relevantes del sistema •  Localiza el dispositivo de almacenamiento que contiene el núcleo del sistema •  Carga el núcleo del sistema operativo en memoria y comienza su ejecución

Proceso de inicio BIOS MBR GRUB Kernel Init Runlevel

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.24


Funcionamiento del computador | Introducción / Funcionamiento de un sistema informático/ Funcionamiento del computador |

●  Uno o más CPUs y controladores de dispositivos se conectan a través del bus común que proporciona acceso a la memoria compartida. ●  La ejecución concurrente de las CPUs y los dispositivos compiten por ciclos de memoria (debido a su naturaleza compartida).

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.25


Funcionamiento del computador | Introducción / Funcionamiento de un sistema informático/ Funcionamiento del computador |

●  Los dispositivos de Entrada/Salida (E/S) y la CPU pueden ejecutarse concurrentemente ●  Cada controlador de dispositivo esta a cargo de un tipo de dispositivo concreto ●  Cada controlador de dispositivo tiene una memoria intermedia local (buffer) ●  La CPU mueve datos desde y hacia la memoria principal y hacia o desde las memorias intermedias locales (buffer). ●  La E/S es desde el dispositivo hasta la memoria intermedia local del controlador ●  Los controladores de dispositivos informan a la CPU que ha terminado su operación, causando una interrupción.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.26


Interrupciones | Introducción / Funcionamiento de un sistema informático/ Interrupciones |

●  Interrumpir transMiere el control a la rutina de servicio de interrupción general, a través del vector de interrupción, que contiene las direcciones de todos los rutinas de servicio. ●  La arquitectura de interrupción debe guardar la dirección de interrumpida ●  Una trampa (trap) o excepción (exception) es una interrupción generada por software y causada ya sea por un error o una petición del usuario. ●  Un sistema operativo funciona por interrupciones ●  El sistema operativo conserva el estado de los registros de almacenamiento y el contador de programa. ●  Determina qué tipo de interrupciones se han producido. ●  Segmentos separados de código determinan qué medidas se deben adoptar para cada tipo de interrupción.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.27


Interrupciones en una línea de tiempo | Introducción / Funcionamiento de un sistema informático/ Interrupciones |

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.28


Estructura de la Entrada/Salida | Introducción / Funcionamiento de un sistema informático/ Entrada-­‐Salida |

●  Después de que arranca una operación de E/S, el control vuelve al programa de usuario sólo al Minal de dicha operación. •  La instrucción espera ociosa por la CPU hasta la siguiente interrupción •  Ciclo de espera (competencia por acceso a memoria) •  Sólo una operación de E/S puede realizarse a la vez, no hay procesamiento de E/S simultáneo.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.29


Unidades de almacenamiento de información | Introducción / Funcionamiento de un sistema informático/ Unidades de almacenamiento de información |

●  BIT •  Bit es el acrónimo de Binary Digit (Dígito binario). •  Un bit es un dígito del sistema de numeración binario. •  Puede representar uno de esos dos valores, 0 ó 1. •  El bit es considerado la mínima unidad para la representación de la información. ●  BYTE •  Octeto. •  Conjunto de ocho bits. •  Es considerado la unidad fundamental para la representación de la información

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.30


Unidades de almacenamiento de información | Introducción / Funcionamiento de un sistema informático/ Unidades de almacenamiento de información |

Unidad

Abreviatura

Valor relativo

1 bit

b

1 | 0

1 Byte

B

8 bits

1 KiloByte

KB

1024 Bytes

1 MegaByte

MB

1024 KB

1 GigaByte

GB

1024 MB

1 TeraByte

TB

1024 GB

1 PetaByte

PB

1024 TB

1 ExaByte

EB

1024 PB

1 ZettaByte

ZB

1024 EB

1 YottaByte

YB

1024 ZB

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.31


Estructuras de almacenamiento | Introducción / Funcionamiento de un sistema informático/ Estructuras de almacenamiento |

●  Memoria principal -­‐ RAM (Random Access Memory) medio de almacenamiento que la CPU puede acceder directamente •  El acceso es aleatorio y de naturaleza volátil (no persistente)

●  Almacenamiento secundario -­‐ Es considerada la extensión de al memoria principal que proporciona gran capacidad de almacenamiento no volátil. •  Discos duros -­‐ Platos de metal o vidrio cubiertos con material de grabación magnética •  La superMicie del disco se divide de forma lógica en las pistas, que se subdividen en sectores •  El controlador de disco determina la interacción lógica entre el dispositivo y la computadora •  Unidades de estado sólido (Solid-­‐State Drive SSD) -­‐ más rápido que los discos duros rotativos y cada vez más populares y económicos

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.32


Estructuras de almacenamiento | Introducción / Funcionamiento de un sistema informático/ Estructuras de almacenamiento |

Los sistemas de almacenamiento están organizados en diversas jerarquía como son: ●  Velocidad ●  Costo ●  Volatilidad ●  Almacenamiento en caché •  copia información en el sistema de almacenamiento más rápido. •  La memoria principal puede ser visto como una memoria caché para el almacenamiento secundario.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.33


Jerarquía de almacenamiento | Introducción / Funcionamiento de un sistema informático/ Jerarquía de almacenamiento |

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.34


Memoria cache | Introducción / Funcionamiento de un sistema informático/ Memoria cache |

●  Principio importante, implementado en muchos de los niveles de una computadora (hardware, sistemas operativo y software) ●  Por lo general, la información es copiada desde el almacenamiento lento hacia el rápido temporalmente. ●  Se veriMica primero en el almacenamiento rápido (caché) para determinar si la información esta allí •  Si es así, la información es usada directamente desde la caché. •  Si no, los datos son copiados primero en la caché y posteriormente usados.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.35


Acceso Directo a Memoria (DMA) | Introducción / Funcionamiento de un sistema informático/ Acceso Directo a Memoria-­‐ DMA |

●  Se utiliza para que los dispositivos de E/S de alta velocidad capaces de transmitir la información a la memoria lo hagan a mayor velocidad posible. ●  El controlador de dispositivo transMiere bloques de datos directamente a la memoria principal sin la intervención de la CPU. ●  Solamente se genera una interrupción por bloque en lugar de una interrupción por byte.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.36


Multi-­‐procesador | Introducción / Funcionamiento de un sistema informático/ Multi-­‐procesador |

●  La mayoría de los sistemas utilizan un único procesador de propósito general ●  Los sistemas de multiprocesador están creciendo en uso e importancia •  También conocidos como sistemas paralelos o sistemas fuertemente acoplados •  Ventajas: •  Economía de escala •  Mayor Miabilidad (tolerancia a fallos ) •  Tipos: •  Multi-­‐procesamiento asimétrico: a cada procesador se el asigna una tarea •  Multi-­‐procesamiento simétrico: a cada procesador se le asignan todas las tareas

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.37


Multi-­‐procesamiento Simétrico | Introducción / Funcionamiento de un sistema informático/ Multi-­‐procesamiento Simétrico |

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.38


Procesador Doble Núcleo | Introducción / Funcionamiento de un sistema informático/ Procesador Doble Núcleo |

●  Múltiple chip y múltiple núcleo ●  Sistemas que contiene todos los chips •  El chasis contiene múltiples sistemas separados

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.39


Sistemas en Cluster | Introducción / Funcionamiento de un sistema informático/ Sistemas en Cluster |

●  Similares a los sistemas multiprocesador, con la diferencia que son sistemas completos independientes que trabajan juntos •  Por lo general el intercambio de almacenamiento se realiza a través de una red tipo SAN ( Storage Area Network). •  Proporciona un servicio de alta disponibilidad con tolerancia a fallas •  Algunos clúster son para computación de alto desempeño (HPC -­‐ High Performance Computing) •  Las Aplicaciones necesitan ser escritos especialmente para utilizar paralelismo

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.40


Multi-­‐programación | Introducción / Funcionamiento de un sistema informático/ Multi-­‐programación |

Multi-­‐programación (sistema por lotes) utilizados para mayor eMiciencia ●  Un sólo usuario no puede mantener a la CPU y los dispositivos de E/S ocupados en todo momento ●  La multiprogramación organiza los trabajos (código y datos) para que la CPU siempre tenga uno para ejecutar ●  Un subconjunto del total de trabajos en el sistema permanece en la memoria ●  Un proceso es seleccionado y ejecutado a través del planiMicador de procesos ●  Cuando se tiene que esperar (por ejemplo esperando E/S), el SO cambia a otro proceso.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.41


Multi-­‐programación | Introducción / Funcionamiento de un sistema informático/ Multi-­‐programación |

Tiempo compartido (multitasking) es la extensión lógica en la cual, la CPU cambia de proceso con tanta frecuencia que el usuario puede interactuar con cada proceso mientras se están ejecutando. ●  El tiempo de respuesta debe ser menos que un segundo ●  Cada usuario tiene al menos un programa en ejecución ●  Si hay varios procesos listos para ser ejecutados al mismo tiempo, deberán entrar en el planiMicador de procesos ●  Si los procesos no caben en la memoria, se moverán a la zona de intercambio (Swap -­‐ memoria virtual) entrando y saliendo de ella. ●  La memoria virtual permite la ejecución de procesos que no están completamente en la memoria. Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.42


Memoria de sistemas multi-­‐programado | Introducción / Funcionamiento de un sistema informático/ Memoria de sistemas multi-­‐programados |

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.43


Operaciones del Sistema Operativo | Introducción / Funcionamiento de un sistema informático/ Operaciones del Sistema Operativo |

Control de interrupciones (hardware y software) ●  La interrupción hardware la realiza cualquiera de los dispositivos de entrada ●  La interrupción software (excepción o trampa) •  Dada por un error de software (ejemplo: división por cero) •  Solicitud de servicio del sistema operativo •  Otros problemas de procesos incluyen ciclos inMinitos, modiMicación de procesos de uno a otro o al sistema operativo

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.44


Operaciones del Sistema Operativo | Introducción / Funcionamiento de un sistema informático/ Operaciones del Sistema Operativo |

El funcionamiento en modo dual permite al sistema operativo protegerse así mismo y a otros componentes ●  Modo usuario y modo kernel ●  Modo bit proporcionado por hardware •  Proporciona capacidad para distinguir cuando el sistema está corriendo en modo usuario o modo kernel. •  Algunas instrucciones designadas como privilegiadas, sólo pueden ser ejecutadas en modo kernel ●  Cada vez más las CPUs soportan operaciones multi-­‐modo •  Por ejemplo. Soporte a máquinas virtuales (VMM) modo para maquinas virtuales huésped. Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.45


Transición de modo usuario a modo Kernel | Introducción / Funcionamiento de un sistema informático/ Transición de modo usuario a modo Kernel |

●  Temporizador para prevenir los ciclos inMinitos / procesos acaparares •  Temporizador conMigurado para interrumpir la computadora después de un pedido de tiempo •  Mantener un contador que se reduce por el reloj Mísico de la computadora •  El sistema operativo establece el contador (instrucción privilegiada)

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.46


Gestión de Procesos | Introducción / Funcionamiento de un sistema informático/ Gestión de Procesos |

●  Un proceso es un programa en ejecución. Se trata de una unidad de trabajo dentro del sistema. El programa es una entidad pasiva, el proceso es una entidad activa ●  Los procesos necesitan recursos para realizar sus tareas •  CPU, memoria, dispositivos de E/S, archivos, etc. •  Inicialización de datos ●  La Minalización de los procesos requiere la recuperación de cualquier recurso re-­‐ utilizables. ●  Los procesos ejecutan instrucciones de forma secuencia, de uno en uno, hasta la Minalización

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.47


Actividades de la Gestión de Procesos | Introducción / Funcionamiento de un sistema informático/ Gestión de Procesos |

El Sistema Operativo es responsable de las siguientes actividades en relación con la gestión de procesos: ●  Creación y eliminación de los proceso de usuario y de sistema. ●  Suspensión y reanudación de procesos ●  Proporcionar mecanismo para la sincronización de procesos ●  Proporcionar mecanismos para la comunicación de procesos ●  Proporcionar mecanismo para el manejo de bloqueos entre procesos

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.48


Gestión de memoria | Introducción / Funcionamiento de un sistema informático/ Gestión de Memoria|

●  Para ejecutar un programa o parte él, todas las instrucciones deben estar en memoria. ●  Todos o parte de los datos que son necesarios por el programa deben estar en memoria. ●  La gestión de memoria determina lo que está en la memoria y cuando ●  Actividades de la gestión de memoria •  Hacer un seguimiento de que partes de la memoria están siendo utilizadas y por quién. •  Decidir qué procesos (o partes de los mismos) y qué datos se muevan hacia y fuera de la memoria •  Asignar y remover espacio de memoria según sea necesario

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.49


Gestión de almacenamiento | Introducción / Funcionamiento de un sistema informático/ Gestión de Almacenamiento |

Actividades que incluye el sistema operativo con relación a la gestión de almacenamiento ●  Creación y eliminación de archivos y directorios ●  Primitivas para manipular archivos y directorios ●  Los medios de comunicación archivos de copia de seguridad en estable (no volátil) de almacenamiento

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.50


Gestión de almacenamiento | Introducción / Funcionamiento de un sistema informático/ Gestión de Almacenamiento |

●  El sistema operativo proporciona una vista lógica del almacenamiento de información ●  Almacenamiento en unidades lógicas (archivo) ●  Cada medio es controlado por el dispositivo (es decir, la unidad de disco, unidad de cinta, etc.) ●  Las diferentes propiedades incluyen la velocidad de acceso, capacidad, velocidad de transferencia de datos, el método de acceso (secuencial o aleatorio) ●  La gestión del sistema de archivos ●  Archivos generalmente organizados en directorios ●  Control de acceso en la mayoría de los sistemas para determinar ¿quién puede acceder a qué? Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.51


Gestión de almacenamiento | Introducción / Funcionamiento de un sistema informático/ Gestión de Almacenamiento |

●  Por lo general, los discos que se utilizan para almacenar datos que no caben en la memoria principal o datos que deben conservarse durante un periodo "largo" de tiempo (persistencia). ●  La velocidad completa del funcionamiento de la computadora depende de sub-­‐ sistema de disco y sus algoritmos. ●  Actividades del sistema operativo •  Gestión de espacio libre •  Asignación de almacenamiento •  Programación de disco

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.52


Desempeño en niveles de almacenamiento | Introducción / Funcionamiento de un sistema informático/ Gestión de Almacenamiento |

Level

1

2

3

4

5

Name

registers

cache

main memory

solid state disk

magnetic disk

Typical size

< 1 KB

< 16MB

< 64GB

< 1 TB

< 10 TB

Implementation technology

custom memory on-chip or off-chip with multiple CMOS SRAM ports CMOS

CMOS SRAM

flash memory

magnetic disk

Access time (ns)

0.25 - 0.5

80 - 250

25,000 - 50,000

5,000,000

Bandwidth (MB/sec)

20,000 - 100,000 5,000 - 10,000

1,000 - 5,000

500

20 - 150

Managed by

compiler

hardware

Backed by

cache

main memory disk

0.5 - 25

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

operating system operating system operating system disk

disk or tape

1.53


Sub-­‐sistema de Entrada/Salida | Introducción / Funcionamiento de un sistema informático/ Subsistema de Entrada/Salida |

●  Uno de los propósitos del sistema operativo es ocultar las particularidades de los dispositivos hardware al usuario ●  El sub-­‐sistema de E/S es responsable de: •  Gestión de la memoria de E/S incluyendo •  Buffering (almacenar datos de forma temporal mientras se están transMiriendo datos) •  Caching •  Cola de impresión •  Interfaz general del controlador de dispositivo •  Controladores para dispositivos de hardware especíMicos

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.54


Protección y seguridad | Introducción / Funcionamiento de un sistema informático/ Protección y Seguridad |

●  Protección -­‐ Cualquier mecanismo para controlar el acceso de procesos o usuarios a recursos deMinidos por el sistema operativo. ●  Seguridad – Defensa del sistema contra ataques internos y externos ●  El sistema operativo determina quien puede hacer que: •  IdentiMicación de usuarios (user ID) •  IdentiMicación de grupos (group ID) •  Establecimiento de privilegios

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.55


Entornos de computación


Tradicional | Introducción / Entornos de computación/ Tradicional|

●  Máquinas independientes para propósitos generales ●  Máquinas como conectadas unas con otras (ej. Internet) ●  Portales que proporcionan acceso a usuarios de sistemas internos ●  Equipos de red (clientes ligeros) como terminales Web ●  Equipos móviles con conexión a través de redes inalámbricas

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.57


Dispositivos Móviles | Introducción / Entornos de computación/ Dispositivos móviles|

●  Teléfonos inteligentes portátiles, tabletas, etc. ●  ¿Cuál es la diferencia funcional entre ellos y una computadora portátil tradicional? ●  Existencia de características adicionales (GPS, giroscopio, acelerómetro, etc.). ●  Permitir nuevos tipos de aplicaciones como la realidad aumentada. ●  Utilización de redes inalámbricas 802.11 o redes de datos celulares para conectividad. ●  Los líderes son Apple iOS y Google Android.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.58


Distribuido | Introducción / Entornos de computación/ Distribuido|

●  Computación distribuida •  Colección de sistemas independientes, posiblemente heterogéneos y unidos a través de redes de datos •  Una red es una ruta de comunicación, TCP/IP es la mas común ²  PAN -­‐ Personal Area Network ²  LAN -­‐ Local Area Network ²  MAN -­‐ Metropolitan Area Network ²  WAN -­‐ Wide Area Network •  Los sistemas operativos de red proporcionan funciones a través de red •  Los esquemas de comunicación permiten a los sistemas intercambiar mensajes •  Se presenta ante el usuario como un único sistema

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.59


Cliente/Servidor | Introducción / Entornos de computación/ Cliente/Servidor |

●  Computación Cliente-­‐Servidor •  Las terminales tontas reemplazadas por las computadoras inteligentes •  Muchas sistemas servidor ahora responden a solicitudes generadas por clientes •  El servidor proporciona una interfaz al cliente para realizar solicitudes de servicio (ej. bases de datos) •  El sistema de archivos en el servidor proporciona una interfaz para los clientes con el propósito de almacenar y recuperar archivos client desktop

Server

Network

client laptop client smartphone

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.60


Punto a punto (Peer-­‐to-­‐Peer) | Introducción / Entornos de computación/ Peer-­‐to-­‐Peer |

●  Es otro modelo de sistema distribuido client

●  P2P no establece distinción entre los clientes y los servidores •  Todos los nodos instalados son considerados puntos

client

client

●  P2P no distingue entre clientes y servidores client

client

•  Todos los nodos son considerados pares •  Cada uno puede actuar como cliente, servidor o ambos •  Los nodos que se unen a una red P2P necesitan: •

Registrar su servicio con el centro de servio de búsqueda en red, o

Difundir la petición de servicio y atender las solicitudes de servicios a través del protocolo de detección

•  Ejemplo: Napster, voz sobre IP (VoIP) tales como Skype.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.61


Virtualización | Introducción / Entornos de computación/ Virtualización |

●  Permite a los sistemas operativos ejecutar aplicaciones dentro de otros sistemas operativos •  Es una industria de actualidad que cada vez crece más

●  Se caracteriza por: •  Particionamiento •  Aislamiento •  Encapsulamento •  Independencia de hardware

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.62


Ambientes de cómputo -­‐ Virtualización ●  Los casos de uso incluyen las computadoras portátiles y de escritorio que ejecutan múltiples sistemas operativos con propósito de capacitación, exploración funcional o la compatibilidad con aplicaciones especíMicas

●  Las máquinas virtuales también se pueden ejecutar de forma nativa •  Utilizadas generalmente en ambientes productivos y de investigación (VMware ESX y Citrix XenServer)

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.63


Ambientes de cómputo – Cloud Computing ●  Permite brindar computación, almacenamiento e incluso aplicaciones como un servicio a través de la red. ●  La computación en la nube es considerada la extensión lógica de la virtualización, ya que utiliza la virtualización como la base para su funcionamiento. •  Amazon Elastic Compute Cloud (Amazon EC2) tiene miles de servidores, millones de máquinas virtuales, petabytes de almacenamiento disponible a través de Internet cuyo pago está relacionado con el uso.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.64


Ambientes de cómputo – Cloud Computing ●  Existen varios tipos de nubes •  Nube pública – disponible a través de Internet para cualquier persona dispuesta a pagar •  Nube privada -­‐ Gestionado por una empresa para su propio uso •  Nube híbrida -­‐ Incluye componentes de nube privada y pública •  Software as a Service (SaaS) – Una o más aplicaciones disponibles a través de Internet (correo electrónico, Google Docs, etc) •  Platform as a Service (PaaS) – Conjunto de software listo para el uso de aplicaciones a través de Internet (E.j: base de datos en línea) •  Infrastructure as a Service (IaaS) – Servidores o almacenamiento disponible a través de Internet (E.j: Almacenamiento para realizar copias de seguridad empresariales)

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.65


Ambientes de cómputo – Cloud Computing ●  Los ambientes de computación en la nube están compuestos tradicionalmente por máquinas virtuales, sistemas operativos y herramientas de administración de la nube. •  Componentes de seguridad de red como los corta-­‐fuegos (Firewalls) •  Componentes para balancer la carga para distribuir el tráMico de múltiples aplicaciones

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.66


Computing Environments – Real-­‐Time Embedded Systems

●  Los sistemas embebidos de tiempo real son la forma más frecuente de las computadoras •  Utilizados generalmente para propósitos especíMicos de las industrias

●  Utilizados básicamente para controlar procesos en la vida real (industriales, control de vehículos, aviones, etc.). ●  Modalidad especial de los sistemas con multiprogramación en la cual el tiempo de respuesta es vital para cualquier petición. ●  El tiempo de respuesta debe ser extremadamente corto.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.67


BibliograMía ●  STALLING W. Operating Systems: Internals and Design Principles. 7th Edition. 2011. ●  SILBERSCHATZ A, GALVIN P, GAGNE G. Operating System Concepts. 9th Edition. 2013. Wiley. ●  VIÑAS R, LLINAS F. Sistema Operativo GNU/Linux básico. UOC. 2003. ●  ESTEVE J, BOLDRITO R, Administración avanzada de GNU/LINUX. UOC. 2004.

Basado en Operating System Concepts – 9th Edition de Silberschatz, Galvin and Gagne ©2013

1.68


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.