Вы находитесь на странице: 1из 10

Procesos e hilos / Administración de memoria

La tarea de subdivisión la lleva a cabo dinámicamente el sistema operativo y se conoce como


administración de memoria.

Proceso: Es la ejecución de un programa individual. El comportamiento de un proceso individual puede


caracterizarse por el listado de La secuencia de instrucciones que se ejecutan para dicho proceso. Dicho
listado se llama traza del proceso.

Un modelo de procesos con dos estados

 Ejecución
 No Ejecución
Un modelo de cinco estados

 Ejecución
 Listo
 Bloqueados
 Nuevo
 Terminado
Planificador De Procesos: la Planificación de procesos tiene como principales objetivos la equidad, la
eficacia, el tiempo de respuesta, el tiempo de regreso y el rendimiento.

Algoritmos De Planificación

 Primero en llegar primero en ser servido


 Prioridad al más corto
 Round Robin

Hilos

Cada proceso tiene un hilo (thread) de ejecución que es visto como un CPU virtual.

El recurso procesador es alternado entre los diferentes procesos que existan en el sistema, dando la idea
de que ejecutan en paralelo (multiprogramación).

El proceso basado en dos características:

 Unidad de propiedad de los recursos: A cada proceso se le asigna un espacio de direcciones


virtuales para albergar a la imagen del proceso.
 Unidad de expedición: Un proceso es un camino de ejecución (traza) a través de uno o más
programas.

Ejemplos de hilos en un proceso multitarea

 Trabajo interactivo y de fondo.


 Proceso Asíncrono
 Aceleración de la ejecución
 Organización de los programas
Beneficios de los hilos

 Se tarda mucho menos tiempo en crear un nuevo hilo en un proceso existente que en crear una
nueva tarea.
 Menos tiempo para terminar un hilo y menos tiempo para cambiar entre dos hilos de un mismo
proceso.

Administración De Memoria

La memoria principal de una computadora se divide en dos partes:

 Para el sistema operativo.


 Para el programa que se ejecuta en ese momento.

La parte del usuario, es decir la del programa en ejecución debe subdividirse aún más, esto lo realiza de
manera dinámica el SO y se conoce como Gestión de Memoria.

Requisitos de la gestión de memoria

 Reubicación: Capacidad de cargar y descargar procesos en la MP, para maximizar el uso del
procesador.
 Protección: Cada proceso se protege contra interferencias no deseadas de otros procesos.
 Compartición: Flexibilidad para que los subprocesos de un proceso accedan a la misma zona de
memoria principal.
 Organización lógica: La MP se organiza como un espacio de direcciones organizada por una
secuencia de bytes.
 Organización física: MP y MS es decir RAM y Disco Duro

Carga de programas en MP

 La tarea principal de cualquier Sistema de Gestión de Memoria es traer los programas a MP para
su ejecución.
 Para esto se utiliza un esquema sofisticado llamado MV (Memoria Virtual: Es un espacio en el
disco duro que se usa como si fuera RAM.), la cual está basado en dos técnicas básicas:
segmentación y paginación.

Configurar Memoria Virtual

1. Entrar a “System”.
2. Advanced system settings.
3. Advanced -> Performance/Settings
4. Virtual memory/Change
Interbloqueos / Sistemas Operativos Multimedia

Interbloqueo: También conocido como deadlock o bloqueo mutuo, es el proceso permanente de un


conjunto de procesos de ejecución en un sistema concurrente que se comunican entre ellos.

Recurso: Cualquier parte funcional de un ordenador capaz de ser controlada y asignada por el sistema
operativo, de manera tal que todo el hardware y software en el ordenador pueda trabajar como un
conjunto.

Tipos de recursos

 Recursos Apropiativos: Es aquel que se puede quitar al proceso que lo posee sin efectos
dañinos.
 Recursos No Apropiativos: Es aquel que puede no se puede quitar a su propietario actual sin
hacer que el computo falle.

Secuencia de eventos correcto para utilizar un recurso:

 Solicitar el recurso
 Utilizar el recurso
 Liberar el recurso

Condiciones para los interbloqueos de recursos y prevención

 Condición de exclusión mutua. Cada recurso se asigna en un momento dado a sólo un proceso,
o está disponible. Poner todo en la cola de impresión.
 Condición de contención y espera. Los procesos que actualmente contienen recursos que se les
otorgaron antes pueden solicitar nuevos recursos. Solicitar los recursos al principio.
 Condición no apropiativa. Los recursos otorgados previamente no se pueden quitar a un
proceso por la fuerza. Deben ser liberados de manera explícita por el proceso que los contiene.
 Condición de espera circular. Debe haber una cadena circular de dos o más procesos, cada uno
de los cuales espera un recurso contenido por el siguiente miembro de la cadena.

Estrategias para lidiar con los interbloqueos

 Sólo ignorar el problema. Tal vez si usted lo ignora, él lo ignorará a usted.


 Detección y recuperación. Dejar que ocurran los interbloqueos, detectarlos y tomar acción.
 Evitarlos en forma dinámica mediante la asignación cuidadosa de los recursos.
 Prevención, al evitar estructuralmente una de las cuatro condiciones requeridas.

Recuperación de un interbloqueo

 Recuperación por medio de apropiación: En algunos casos puede ser posible quitar
temporalmente un recurso a su propietario actual y otorgarlo a otro proceso.
 Recuperación a través del retroceso.
 Recuperación a través de la eliminación de procesos.
Cómo evitar interbloqueos

 Trayectorias de los recursos.


 Estados seguros e inseguros.
 El algoritmo del banquero para un solo recurso.
 El algoritmo del banquero para varios recursos.

Bloqueo de dos fases: Este lo que hace es que en la primera fase va buscando los recursos que
necesitara y si todos están libres, se ejecuta en la segunda fase. Prácticamente solicita todos los recursos
que necesita de antemano.

Interbloqueos de comunicaciones: Manda a preguntar al otro proceso si puede utilizar el recurso para
llevar a cabo el proceso. entra en juego lo que son los protocolos de comunicación, ya que por la
asignación de recursos, cuando se hace la pregunta, inicia un contador que le da una cantidad de tiempo
en específico para que le respondan.

Multimedia: Son las películas digitales, clips de video, o sea imágenes, imágenes con texto y sonidos.

Los archivos de audio y video se pueden almacenar en un disco y reproducirse sobre pedido. Sus
características son distintas de los archivos de texto tradicionales para los que fueron diseñados los
sistemas de archivos de texto.

¿Dónde encontramos multimedia?

En Archivos digitales, Discos DVD, Bluray, Video bajo demanda (streaming), TV por cable, etc.

Requisitos para obtener una reproducción multimedia exitosa

 La multimedia utiliza velocidades de datos en extremo altas.


 La multimedia requiere reproducción en tiempo real.

Archivos de multimedia

Con multimedia, la situación es diferente. El video y el audio la estructura del archivo es completamente
diferente.

Aquí es donde entran los códecs de video y audio: Un códec incluye un conjunto de algoritmos que
permiten codificar y decodificar los datos auditivos o visuales, lo cual significa reducir la cantidad de bits
que ocupa el fichero de audio y se especifican un formato como ser MP3, MP4, OGG, MIDI, MKV, WAV,
FLAC, etc.

Compresión de video

Todos los sistemas de compresión requieren dos algoritmos:

 Uno para comprimir los datos en el origen.


 Otro para descomprimirlos en el destino.

En la literatura, a estos algoritmos se les conoce como algoritmos de codificación y decodificación,


respectivamente.
Compresión de audio

Los formatos de compresión de audio más comunes tenemos mp3 mayormente utilizado por su
portable tamaño de archivo y por su baja compresión de calidad de audio ósea mantiene la calidad del
archivo CRUDO de audio, WAV mayormente utilizado para grabaciones de micrófono, el Ogg utilizado en
videojuegos antiguos.

Los sistemas operativos que soportan multimedia difieren de los sistemas tradicionales en tres formas
principales:

 Programación de procesos
 Sistema de archivos
 Programación de disco.

Colocación de los archivos

Los archivos multimedia son muy grandes, a menudo se escriben sólo una vez, pero se leen muchas
veces y tienden a utilizarse en forma secuencial. Según el reproductor multimedia partes quedan
almacenadas en la memoria RAM y otras partes quedan almacenadas en el disco duro.

Codificación de video

Los archivos de videos se codifican basándose en los cuadros por segundo, el tamaño de la imagen por
fotograma, la calidad del audio en kbps y el códec de compresión (formato).

Codificación de audio

Las ondas de audio se pueden convertir a un formato digital mediante un ADC (Analog to Digital
Converter, Convertidor análogo digital). Un ADC recibe un voltaje eléctrico como entrada y genera un
número binario como salida. También podemos grabar audio digital utilizando micrófonos y una
computadora.
Sistemas de múltiples procesadores / Seguridad

Multiprocesadores: Es un sistema de cómputo en el que dos o más CPUs comparten todo el acceso a
una RAM común.

Multiprocesadores UMA: La memoria física es compartida uniformemente por todo procesador. Todos
los procesadores tienen tiempo de acceso igual a la memoria.

Multiprocesadores NUMA: Los accesos a memoria pueden tener tiempos distintos, poseen tres
características clave.

Tipos de sistemas operativos multiprocesador

 Cada CPU tiene su propio sistema operativo.


 Multiprocesadores maestro-esclavo.
 Multiprocesadores simétricos.

Sincronización de multiprocesadores

Se debe garantizar que los accesos a memoria se producen garantizando la exclusión mutua. Es decir,
solamente uno de los procesos puede acceder a la vez a la variable compartida.

Planificación de multiprocesadores: En un multiprocesador, la planificación tiene dos dimensiones:

 Elegir qué hilo ejecutar.


 En cuál CPU se va a ejecutar.

Tiempo compartido

Algoritmo de planificación de dos niveles:

 cuando se crea un hilo, este se asigna a una CPU. Esta asignación de hilos a CPUs es de nivel
superior del algoritmo.
 La planificación actual de los hilos es el nivel inferior del algoritmo. Cada CPU la realiza por
separado, mediante el uso de prioridades o de algún otro medio.

Espacio compartido

Planificación de hilos al mismo tiempo, esparcidos sobre varias CPUs.

Panificación por pandilla: Consta de tres partes:

 Los grupos de hilos relacionados se programan como una unidad, o pandilla.


 Todos los miembros de una pandilla se ejecutan en forma simultánea, en distintas CPUs de
tiempo compartido.
 Todos los miembros de la pandilla inician y terminan sus intervalos en conjunto.

Multicomputadoras: CPUs con acoplamiento fuerte que no comparten memoria; cada una tiene su
propia memoria. Estos sistemas también son conocidos como clúster de computadoras o COWS
(Clusters of Workstations).
Interfaces de red

 Tarjeta de interfaz: Contiene la conexión del nodo hacia la red de interconexión, la cual
mantiene unida toda la multicomputadora.
 Procesadores de red: Transmisión confiable, multitransmisión, compresión/descomprensión,
cifrado/descifrado y el manejo de la protección en un sistema de varios procesos.

Software de comunicación de bajo nivel: El diseño más simple es tener dos tarjetas de interfaz de red,
una asignada al espacio de usuario para el tráfico de las aplicaciones, y la otra asignada al espacio del
kernel para que la utilice el sistema operativo.

Software de comunicación a nivel de usuario: El sistema operativo proporciona la forma de enviar y


recibir mensajes, y los procedimientos de biblioteca hacen que estas llamadas subyacentes estén
disponibles para los procesos de usuario.

 Llamadas asíncronas o sin bloqueo: el proceso emisor puede seguir operando en paralelo con la
transmisión del mensaje, en vez que la CPU quede inactiva.
 Llamadas síncronas o con bloqueo: mientras se está enviando el mensaje, el proceso emisor se
bloquea hasta que el mensaje se haya enviado por completo.

Memoria compartida distribuida

En un sistema de DSM (Distributed Shared Memory) el espacio de direcciones se divide en páginas, las
cuales se esparcen por todos los nodos en el sistema.

Balanceo de carga

Algoritmo determinístico basado en teoría de grafos. Clase de algoritmos que se estudia mucho para los
sistemas que consisten en procesos con requerimientos de CPU y memoria conocidos, y una matriz
conocida que proporciona la cantidad promedio de tráfico entre cada par de procesos.

Virtualización

Hipervisor: dirige el concepto de virtualización al permitir que la máquina física opere múltiples
máquinas virtuales como invitados para ayudar a maximizar el uso efectivo de los recursos informáticos,
como la memoria, el ancho de banda de la red y los ciclos de la CPU.

Requerimientos para la virtualización

Hipervisor de tipo 1 (o monitor de máquina virtual): en realidad es el sistema operativo, ya que es el


único programa que se ejecuta en modo del kernel. Su trabajo es soportar varias copias del hardware
actual

Hipervisor de tipo 2: es algo completamente distinto. Es sólo un programa de usuario que se ejecuta
(por decir) en Windows o Linux e “interpreta” el conjunto de instrucciones de la máquina, el cual
también crea una máquina virtual.

El sistema que se ejecuta encima del hipervisor en ambos casos es un sistema operativo invitado.

En el caso de un hipervisor de tipo 2, el sistema operativo que se ejecuta en el hardware se denomina


sistema operativo anfitrión.
Paravirtualizacion

Este término se refiere a la técnica de virtualización que permite que el sistema operativo virtualizado
(sistema operativo de la máquina huésped) sepa que está ejecutándose sobre un hipervisor y no
directamente sobre el hardware de una computadora.

Sistemas Distribuidos

Estos sistemas son similares a las multicomputadoras en cuanto a que cada nodo tiene su propia
memoria privada, sin memoria física compartida en el sistema. Un sistema distribuido se define como
una colección de computadoras separadas físicamente y conectadas entre sí por una red de
comunicaciones.

Una de las formas en que un sistema distribuido puede obtener cierta medida de uniformidad frente a
los distintos sistemas operativos y el hardware subyacente es tener un nivel de software encima del
sistema operativo. Este nivel, conocido como middleware.

Hardware que se utiliza en un sistema distribuido

Las redes se clasifican en dos variedades principales: LANs (Redes de área local), que cubren un edificio
o un campus, y las WANs (Redes de área amplia).

Internet consiste en dos tipos de computadoras:

 Hosts: Son PCs, notebooks, dispositivos de bolsillo, servidores, mainframes y otras


computadoras que poseen individuos o empresas que se desean conectar a Internet.
 Enrutadores: Son computadoras de conmutación especializadas, que aceptan los paquetes
entrantes de una de varias líneas entrantes, y los envían a lo largo de muchas líneas salientes.

Servicios de red

Las redes de computadoras proveen servicios a los hosts y procesos que las utilizan. La arquitectura es
fundamentalmente una arquitectura cliente-servidor que expone las operaciones que el cliente puede
consumir.

El servicio orientado a conexión: Se modela con base en el sistema telefónico. Para hablar con alguien,
usted toma el teléfono, marca el número, habla y después cuelga.

Servicio orientado a no conexión: Se modela con base en el sistema postal. Cada mensaje (carta) lleva la
dirección de destino completa, y se enruta a través del sistema de manera independiente a los otros
mensajes.

Protocolos de red

El conjunto de reglas mediante el cual se comunican computadoras específicas se conoce como


protocolo. Como la mayoría de los sistemas distribuidos utilizan Internet como base, los protocolos base
que utilizan estos sistemas son los dos protocolos principales de Internet: IP y TCP.

Middleware basado en documentos: asiste al usuario con la navegación web.

Middleware basado en sistemas de archivos: El modelo de envió/descarga.


Seguridad

La seguridad tiene muchas facetas. Tres de las más importantes son la naturaleza de las amenazas, la
naturaleza de los intrusos y la pérdida accidental de datos.

Fundamentos de la criptografía

La criptografía desempeña un importante papel en la seguridad. El propósito de la criptografía es tomar


un mensaje o archivo, conocido como texto simple, y convertirlo en texto cifrado de tal forma que sólo
las personas autorizadas sepan cómo convertirlo nuevamente en texto simple.

Mecanismos de protección

 Dominios de protección: Un dominio es un conjunto de pares (objeto, permisos). Cada par


especifica un objeto y cierto subconjunto de las operaciones que se pueden realizar en él. Un
permiso en este contexto indica el permiso para realizar una de las operaciones.
 Listas de control de acceso: Consiste en asociar con cada objeto una lista (ordenada) que
contenga todos los dominios que pueden acceder al objeto, y la forma de hacerlo.
 Capacidades: A cada proceso se le asocia una lista de objetos que puede utilizar, junto con una
indicación de las operaciones permitidas en cada objeto en otras palabras, su dominio.
 Sistemas confiables
 Base de cómputo confiables: En el centro de todo sistema confiable hay una TCB (Trusted
Computing Base, Base de cómputo confiable) mínima que consiste en el hardware y software
necesarios para cumplir con todas las reglas de seguridad.

El modelo Bell-La Padul

Este modelo se diseñó para manejar la seguridad militar, pero también se puede aplicar a otras
organizaciones. En el mundo militar, los documentos (objetos) pueden tener un nivel de seguridad,
como no clasificado, confidencial, secreto y de alta confidencialidad.

Autenticación

Todo sistema computacional seguro debe requerir que todos los usuarios se autentiquen al momento
de iniciar sesión. La forma más utilizada de autenticación es requerir que el usuario escriba un nombre
de inicio de sesión y una contraseña.

Los usuarios internos producen lo siguiente:

 Trampas
 Suplantación de identidad en el inicio de sesión

Tipos de trampas

Malware (programa maligno)

Caballos de Troya (troyanos): Una práctica muy común es escribir cierto programa con una utilidad
genuina e incrustar el malware en su interior.

Virus: Un virus es un programa que se puede reproducir a sí mismo al adjuntar su código a otro
programa, lo cual es similar a la forma en que se reproducen los virus biológicos.
Defensas

Firewalls: Los firewalls tratan de mantener a los intrusos fuera de la computadora, pero pueden fallar de
diversas formas

En ese caso, la siguiente línea de defensa está compuesta por los programas antimalware, que se
conocen comúnmente como programas antivirus.

Cómo evitar los virus

 elegir un sistema operativo que ofrezca un alto nivel de seguridad.


 Pueden instalar sólo software legal que se compre de algún fabricante confiable.
 Pueden comprar un buen paquete de software antivirus y usarlo según las indicaciones.

Seguridad multinivel

La mayoría de los sistemas operativos permiten a los usuarios individuales determinar quién puede leer
y escribir en sus archivos y demás objetos. A esta directiva se le conoce como control de acceso
discrecional.

En muchos entornos este modelo funciona bien, pero hay otros en donde se requiere una seguridad
más estricta, como en la computación militar, los departamentos de patentes corporativas y los
hospitales. Estos entornos necesitan controles de acceso obligatorio.

Вам также может понравиться