Looks like no one added any tags here yet for you.
Sistema Operativo
Es un conjunto de programas destinados a permitir la comunicación del usuario con un ordenador y gestionar sus recursos de manera eficiente.
Servicios del sistema opeSrativo
Gestión de procesos.
Gestión de memoria.
Gestión de la E/S (Entrada/Salida).
Gestión de archivos y directorios (sistemas de archivos).
Seguridad y protección.
Sistema Spooling
Sistema de inserción de trabajos en una “cola” para ser usados por un dispositivo procesualmente
Mono programación
Primeros sistemas operativos. Se ubica un programa en memoria principal y el sistema operativo.
Multiprogramación
El SO carga en memoria principal los programas, un distribuidor (del SO) asigna el procesador sucesivamente a los procesos y los distintos procesos avanzan en su ejecución sin necesidad de que finalice completamente uno para iniciar otro.
Estados de procesos
Ejecución/Activo: proceso listo para ejecutarse, y en ejecución.
Listo/Preparado: proceso listo para ejecutarse, pero esperando que haya CPU disponible para él.
Bloqueado: el proceso no se puede ejecutar aunque la CPU esté disponible.
Informacion que posee el PCB (proceses controller block)
Estado del proceso: el estado puede ser nuevo, listo, etc.
Contador de programa: indica la dirección de la siguiente instrucción que se ejecutará para este proceso.
Registros de CPU: el número y el tipo de los registros varía dependiendo de la arquitectura del computador.
Información de planificación de CPU: incluye una prioridad del proceso, punteros a colas de planificación.
Información de gestión de memoria: Informacion necesaria para la segmentation o paginación de la memoria
Información contable: Tiempos
Información de estado de E/S: Disponibilidad,etc.
Tipos de multiprogramación
Apropiativa: El sistema operativo puede interrumpir en cualquier momento el proceso activo apropiándose del
procesador con objeto de dar paso a otro proceso que
esté listo o preparado.
No apropiativa: continúa ejecutándose hasta que:
Termina
Se bloquea por el inicio de una operación I/O, o
El propio proceso hace una llamada al sistema
operativo para ceder el procesador a otro
proceso.
Conmutación de contexto
El cambio de la CPU a otro proceso requiere guardar el estado del proceso anterior y cargar el estado guardado del nuevo proceso,
Planificador a largo plazo
Escoge procesos de un dispositivo de almacenamiento masivo (disco) y los carga en la memoria para que se ejecuten
Planificador a corto plazo
Escoge entre los procesos que están listos para ejecutarse y asigna la CPU a uno de ellos
Planificador a mediano plazo
“Saca” procesos de la memoria
Tipos de algoritmos de planificación (corto plazo)
1. Primero en llegar, primero en servirse (FIFO – First In/First Out)
2. Turno Rotatorio (RR – Round Robin)
3. Primero el proceso mas corto (SPN – Shortest Process Next)
4. Menor tiempo restante (SRT – Shortest Remaining Time)
5. Primero la mayor tasa de respuesta (HRRN – Highest Response Ratio Next)
6. Planificación por prioridades
7. Realimentación
Criterios de planificación de rendimiento
Tiempo de respuesta: Tiempo transcurrido desde que se emite una solicitud hasta que se comienza a recibir la respuesta.
Tiempo de retorno: Intervalo de tiempo transcurrido entre el lanzamiento de un proceso y su finalización.
Plazos: Cuando se pueden especificar plazos de terminación de un proceso, la disciplina de planificación debe subordinar otras metas a la maximización del porcentaje de plazos cumplidos.
Criterios de planificación orientados al sistema de rendimiento
Productividad: La política de planificación debe intentar maximizar el número de procesos terminados por unidad de tiempo.
Utilización del procesador: Porcentaje de tiempo en el que el procesador está ocupado.
Otros criterios de planificación orientados al Sistema
Equidad: Los procesos deben ser tratados de igual forma y ningún proceso debe sufrir inanición.
Prioridades: Cuando se asignan prioridades, la política de planificación debe favorecer a los de mayor prioridad.
Equilibrio de recursos: La política de planificación debe mantener ocupados los recursos del sistema y favorecer a los procesos que no utilicen recursos sobrecargados.
Algoritmo FIFO
Cuando el primer trabajo entra a la mañana, se le inicia de inmediato y se le permite ejecutar todo el tiempo que desee.
Ventaja del algoritmo FIFO
Fácil de entender y de programar
Desventaja del sistema FIFO
no apropiativo
tiempos promedios de respuestas puede ser muy variable
tiende a favorecer a los procesos con carga de CPU frente a los que tienen carga de E/S
Algoritmo RR
A cada proceso, se le asigna un intervalo de tiempo llamado quantum, durante el que se le permitirá ejecutarse.
Si el proceso se bloquea o termina antes de expirar el quantum, la conmutación se hace en ese momento.
Desventajas del algoritmo RR
El tiempo de respuesta promedio podría ser grande
Tratamiento que hace de los procesos con carga de procesador y de E/S
Solución: Turno rotatorio virtual y que evita la desigualdad, a través de una cola FCFS auxiliar a la que se desplazan los procesos una vez que son liberados de la espera por E/S
Algoritmo HRRN
La decisión de planificación se basa en una estimación del tiempo de retorno normalizado, que es la razón entre el tiempo de retorno y el tiempo real de servicio. Es apropiativo
Desventajas del algoritmo HRRN
Cálculo complicado
Sobrecarga puede ser alta
Algoritmo SRT
Selecciona el proceso al que le queda menor tiempo esperado de ejecución. Y cualquier proceso puede ser expulsado para ejecutar otro proceso listo (y de menor tiempo de espera)
Ventajas del algoritmo SRT
Ventajas
- Tiempo de espera promedio menor
- Mejores tiempos de retornos que el SPN
Desventajas del algoritmo SRT
Los procesos largos pueden sufrir inanición
Dirección Virtual
son las direcciones de un programa, que va de 0 a n-1 (si el programa ocupa n palabras de memoria)
Dirección física
Dirección física a la que corresponde la sumatoria entre la dirección base y la dirección lógica.
Direccion base
La dirección lógica 0 de un programa particular
Particiones Estáticas
Se divide la memoria en espacios predeterminados, donde ocurre fragmentación debido al desfase de información.
Particiones Dinámicas
Las particiones son moldeadas y exactas a cada proceso en la memoria, sufre de fragmentación al liberar un proceso, solucionable con compactación.
Niveles de RAID
RAID 0:
Mejora el rendimiento distribuyendo datos en múltiples discos sin redundancia.
No ofrece tolerancia a fallos; la pérdida de un disco resulta en la pérdida de todos los datos.
RAID 1:
Duplica datos en dos discos diferentes para mayor seguridad y tolerancia a fallos.
Si un disco falla, los datos siguen estando disponibles en el otro disco.
RAID 5:
Distribuye datos en varios discos junto con la paridad para recuperación en caso de fallo.
Ofrece una buena combinación de rendimiento y tolerancia a fallos.
RAID 6:
Similar a RAID 5, utiliza paridad para recuperación, pero con más redundancia.
Puede tolerar la falla de dos discos simultáneamente sin pérdida de datos.
RAID 10:
Combina la distribución de datos de RAID 0 con la duplicación de datos de RAID 1.
Proporciona alto rendimiento y alta tolerancia a fallos al distribuir y duplicar datos en múltiples discos.
Fragmentacion
Perdida de espacio de memoria
Compactación
Solución al problema de fragmentación, organiza procesos para integrarlos una vez la partición dinámica es liberada.
Segmentación
Tecnica de gestion de memoria, donde los procesos se segmentan, utilizando particiones dinámicas para ir cargando cada segmento (en vez de todo el espacio de memoria del proceso) a la memoria principal o CPU.
Paginación
Es una técnica de gestion de memoria, donde se separa la memoria principal y secundaria en marcos de páginas, indicados por una dirección lógica, que posee información dentro de dicho marco, llamado página, el cual posee una dirección base y real.
Memoria Virtual
Es una cantidad de memoria, mayor a la memoria a la memoria principal, que se aparta en el disco duro (memoria secundaria), que cada vez que un proceso es llamado, se localiza en dicho apartado, para posicionarse en la memoria física (principal)
Memoria Física
Memoria principal en uso, que abarca procesos dirigidos desde la memoria virtual (secundaria)
Tablas de paginas de proceso
Tabla con posiciones de paginas por proceso
Tabla de marcos paginas
Tabla con posiciones de paginas
Capas de organización de dispositivos I/O
Programas del usuario
Software de la CPU (independiente al dispositivo)
Organizacion física
Controladores de dispositivos
Hardware
Capa de programas del usuario
Biblioteca de procedimientos
Spooling
Capa de Software de la CPU
Funciones de I/O comunes
Los dispositivos se utilizan como archivos especiales
Capa de organización física
Se realizan las funciones de alto nivel específicas del periférico o del tipo de periférico solicitado
Uso de técnicas de buffering en la RAM para aumentar el rendimiento
Conversión de referencias lógicas a direcciones físicas
Capa de Controladores de los dispositivos hardware
Planificación y control de secuencias de instrucciones
Generación de instrucciones concretas
Atención de interrupciones y estado del periférico
Capa de hardware
Controladores de hardware I/O, elementos físicos
Todos los elementos contienen diversos puertos de E/S
Propiedades de archivos (gestionados por el S.O)
Nombre: caracteres permitidos, tamaños
Atributos: fecha y hora de creación, actualización, lectura o Lectura/escritura, contraseña, tamaño, etc.
Descriptor de seguridad: permisos (lectura, escritura, ejecución)
Dirección: dónde se encuentran los datos
Datos: información en si.
Registro físico: cantidad mínima de información que puede ser transferida. Viene determinado por el dispositivo físico y el S.O.
Organizacion de archivos (gestion de archivos)
Continua
Lista encadenada
lista de enlaces
I-nodo
Unidad de control
Toma instrucciones de la memoria principal, y determina su tipo
Unidad aritmetico-lógica
Lleva a cabo operaciones aritméticas y lógicas para la ejecución de instrucciones
Registros
Memoria pequeña, de alta velocidad, usado para guardar información temporal y de control.
Buses
Cables que transmiten datos, direcciones y señales de control internos y externos
Registros de salida
Registros de instrucción
Contiene el código de la operación actual.
Contador del programa
Contiene el código de la siguiente operación.
Puntero de pila (SP)
Contiene el código de la pila de instrucciones actual
Registros de uso general
Registros temporales
Indican cambios de datos
Biestables
Indican cambios de estados, solo poseen dos posiciones (0,1)
Registros de dirección
Indican la ubicación específica en la que se encuentra almacenado un dato en la memoria del sistema.
Registros de datos
Mantienen informacion siendo procesada
Fase de búsqueda (pasos)
UC manda micro-orden al PC para indicar la siguiente instrucción al registro de dirección de memoria
Se transfiere la instrucción al Registro de instrucción
el decodificador interpreta la instrucción
el registro PC autoincrementa
Fase de ejecución (pasos)
La dirección del primer operando va desde el RI al registro de dirección de memoria.
El selector extrae el dato, lo posiciona en el registro de datos
Del registro de datos pasa al registro de operando de la ALU
Se repite 1,2 y 3 para el segundo operando
El secuenciador indica a la ALU que efectúe la operación, y el resultado es almacenado en el registro de resultados (rr)
Se pasa del RR al Registro de datos
Se transfiere del RI al Registro de dirección de memoria la dirección de almacenamiento del resultado
micro-orden a la memoria principal para escribir el resultado del registro de datos.
Tecnicas de paralelismo (nombrar)
En procesadores
Datos paralelos
Multiprocesadores
Multicomputadoras
De instrucciones
superescalares
Pipelining
Dual-pipelining
Pipelining
Es el dividir un proceso en sub-actividades, para que se puedan realizar por otras necesidades una vez es finalizada la subactividad anterior. Esto se puede realizar en paralelo con otras instrucciones, solo que no deben crear conflictos entre recursos.
Arquitecturas Super-escalares
Un solo pipeline, solo que implementando múltiples unidades funcionales.
Datos paralelos (parallel data computer)
Cuando tenemos problemas altamente regulares se puede aplicar técnicas de ejecución paralela, con una sola etapa de fetch, decodificación y conjunto de logica de control
Procesador SIMD
Varios procesadores idénticos que ejecutan la misma secuencia de instrucciones en diferentes conjuntos de datos.
Procesador Vectorial
Unica unidad funcional con alto nivel de pipeline
Multiprocesadores
Los elementos de procesamiento en una CPU de datos paralelos dependen de una unica unidad de control compartida (memoria)
Multicomputadoras
Sistema de conexion de computadoras, cada una con memoria independiente.
Que es un cilindro?
Conjunto de pistas ubicadas en un mismo cilindro
¿Que es un sector?
Division de las pistas, espacio minimo de transferencias.
¿Que es una pista?
Recorrido circular de lectura
¿Que es una superficie?
lado del disco donde se encuentran pistas
Algoritmo SPN
“El trabajo más corto primero” un algoritmo no apropiativo solo optimo si todos los procesos están disponibles simultáneamente.
Desventajas del algoritomo SPN
Desventajas
Reduce la previsibilidad, sobre todo procesos largos
Procesos largos sufren inanición
La estimación de tiempos de ejecución de cada proceso es complicada
No adecuado para entornos de tiempo compartido
Division de la historia de la informatica
Prehistoria
Historia
Division de la prehistoria
Mecanica
Electro-Mecanica
Electronica
Division de la historia
Del primero a la quinta
Primera generacion
(1946-1954) Tubos al vacio
(1954-1963) Transistores
(1964-1971) Circuitos integrados
(1971-1988) microprocesadores
(1981-actualidad) SO eficientes y la personalización de la tecnología
El padre de la informatica
Charles Babbage (Ideo la primera computadora)
El padre de la informatica (moderna)
Alan Turing (Creador de la maquina Turing “desencriptador”)