Procesador:
Controla
El funcionamiento del computador y realiza sus funciones de procesamiento de
Datos, se le da el nombre de unidad central de procesos o CPU. Básicamente, es
El cerebro del mismo (encargado de
Ejecutar programas).
Memoria principal:
Almacena datos y programas, en ocasiones puede ser volátil(al apagar el
Computador se pierde su contenido), en cambio la memoria del disco duro la
Mantiene.
Módulos de E/S:
Transfieren los datos del computador con su entorno externo (memoria
Secundaria-discos, terminales y equipos de comunicación.
Bus del sistema:
Proporciona
Comunicación entre los procesadores, la memoria principal y los módulos de E/S.
REGISTRO DEL PROCESADOR
Estos Sirven para dos funciones:
–Registro visible para el usuario: el Programador puede acceder a ellos por medio de lenguaje de maquina o Ensamblador, lo que permite minimizar las referencia de memoria principal, Optimizando el uso de registro
§R. índice: implica sumar un índice a un valor base para obtener una dirección Efectiva.
§Punteros de segmento: la memoria de divide en segmentos, y se utiliza un registro para Mantener la dirección base (posición de inicio) del segmento.
§Punteros de pila: una pila se almacena en memorias, hay un registro dedicado que Apunta la cima de la pila, esto permite el uso de instrucciones que no tiene Campo de dirección (ej. Apilar(push) y extraer(pop)
–Registro de control y estado: son los Registros no visibles por el usuario, y se usan varios registros del procesador Para controlar el funcionamiento del mismo.
oPC-Contador del programa
: contiene la
Dirección de la próxima instrucción que se ejecutara.
oIR- Registro de instrucciones: contiene La última instrucción leída.
Los códigos de condición (indicadores,) son bits cuyo valor lo asigna Normalmente el hardware de procesador teniendo en cuenta el resultado de las Operaciones. Por ejemplo, una operación aritmética puede producir un resultado Positivo, negativo, cero o desbordamiento.
Búsqueda y ejecución de una instrucción
El procesamiento de una instrucción consta de dos Pasos: el procesador lee (busca) instrucciones de la memoria, una cada vez, y Ejecuta cada una de ellas.
1.El procesador lee una instrucción de la memoria
2.El contador de programa PC, Almacena la dirección de la próxima instrucción que se ejecutara
3.El procesador aumenta el PC Después de cada instrucción ejecutada, de manera que se leerá la siguiente Instrucción de manera secuencial.
4.El procesador leerá la Siguiente instrucción, y así sucesivamente
5.La instrucción leída (la última) se carga al IR
Interrupción:
Constituyen una manera de mejorar la utilización del procesador. Es un
Mecanismo que permite ejecutar un bloque de instrucciones interrumpiendo la
Ejecución de un programa, y luego restablecer la ejecución del mismo sin
Afectarlo directamente.
Tipos de interrupciones
·De programas: Generadas por Alguna condición que produce resultado de la ejecución de una instrucción (una Div. 0, ejecutar instrucciones de máquinas ilegales, y las referencias fuera Del espacio de la memoria, desbordamiento aritmético)
·Por Temporizador: Generadas por un temporizador del procesador (permita al S.O Realizar ciertas funciones con regularidad)
·De E/S: Generada por Un controlador de E/S para señalar la conclusión normal de una operación o Indicar algunos errores
·Fallo de hardware: Generada por un fallo (fallo en suministro de energía o de paridad en la Memoria)
Procesamiento de interrupciones
1.Terminar la ejecución De la instrucción máquina en curso
2.Salvar el estado del Procesador (valores de registros y flags) y el valor del Contador de Programa, IP, en la pila, de manera que, en la CPU, al terminar el proceso de interrupción, pueda seguir ejecutando el programa a partir de la última Instrucción.
3.La CPU salta a la Dirección donde está almacenada la rutina de servicio de interrupción (ISR) y Ejecuta esa rutina que tiene como objetivo atender al dispositivo que generó la Interrupción.
4.El procesador Restaura el estado que había guardado en la pila en el paso 2 y retorna al Programa que se estaba usando anteriormente.
Múltiples interrupciones
Para solucionarlo hay dos maneras
1.Inhabilitar Las interrupción(el procesador ignora cualquier nueva interrupción)mientras que Se está procesando una interrupción, después de que se completa la rutina de Manejo de interrupción, se habilitan las interacciones inhabilitadas antes de Reanudar el programa y el procesador comprueba si se han generado Interrupciones adicionales
2.Una Segunda es definir prioridades para las interrupciones y permitir que una Interrupción de más prioridad cause que se interrumpa la ejecución de un Manejador de una interrupción de menor prioridad
PSW –
Palabra de estado del programa: contiene
Información sobre el estado de un programa utilizado por el sistema operativo –
Contiene una dirección a la siguiente instrucción a ejecutarse.
BCP ó PCB –bloque de control del proceso. Es una Estructura de datos que contiene información de los procesos. Momentáneamente Le cambia la prioridad al proceso.
Jerarquía de memoria
Lajerarquía de memoriaes la organización piramidal de lamemoriaen niveles que tienen las Computadoras.El objetivo es conseguir el rendimiento de una memoria de gran Velocidad al coste de una memoria de baja velocidad, basándose en el principio Decercanía de referencias.
Registros
Es una memoria De alta velocidad, y poca capacidad, integrada en el microprocesador, que Permite guardar transitoriamente y acceder a valores muy usados, generalmente En operaciones matemáticas.
Memoria cache:
La
caché es la memoria de acceso rápido de una computadora, que guarda
Temporalmente las últimas informaciones procesadas.
Memoria de almacenamiento externo
La memoria de almacenamiento externo, también Conocida comoalmacenamiento Secundario, es el conjunto de dispositivos y soportes de almacenamiento de Datos que conforman el subsistema dememoriade lacomputadora, junto con lamemoria primaria o principal.La Memoria secundaria es un tipo de almacenamiento masivo y permanente (no Volátil) con mayor capacidad para almacenar datos e información que la memoria Primaria que esvolátil, aunque La memoria secundaria es de menor velocidad.
DVD:
Disco
Digital Versátil (Digital Versatile Disk). Una tecnología para producir una
Representación comprimida y digitalizada de información de vídeo, así como de
Grandes volúMenes de otros datos digitales. Se usan discos de 8 y de 12 cm. De
Diámetro, con una capacidad de hasta 17Gbytes usando doble cara. El DVD básico
Es de sólo lectura (DVD-ROM).
CD:
Disco
Compacto. Un disco que no puede borrarse y que almacena información de audio
Digitalizada. El sistema estándar usa discos de 12 cm. Y puede grabar más de 60
Minutos de tiempo de reproducción ininterrumpida
Disco duro SATA
Es Un dispositivo electromecánico que se encarga de almacenar y leer grandes VolúMenes de información con altas velocidades por medio de pequeños electroimanes.
Almacenamiento Fuera de línea
Es un sistema Donde el medio de almacenamiento puede ser extraído fácilmente del dispositivo De almacenamiento. Estos medios de almacenamiento suelen usarse para transporte Y archivo de datos. En el pasado son cintas magnéticas en muchos tamaños y Formatos diferentes, y las baterías extraíbles de discos Winchester.
Memoria Óptica
La velocidad óptima para la Memoria es la velocidad a la que elmicroprocesadorpuede trabajar, de modo que no haya Tiempos de espera entre cálculo y cálculo, utilizados para traer operandos o Guardar resultados
Lamemoria flash
Permite la lectura y Escritura de múltiples posiciones de memoria en la misma operación. Se trata de La tecnología empleada en los dispositivos denominadosmemoria USB.La memoria Flash es basada en semiconductores, no volátil Y reescribible.
Memoria Worm
Permite que la información se escriba una sola Vez en algún momento tras la fabricación.
Disco duroIDE:
Es una unidad que usa una conexiónATA paralela, llamada IDE de manera
Informal.
Disco duro SCSI:
Es un dispositivo electromecánico que se encarga de almacenar y leer grandes
VolúMenes de información a altas velocidades por medio de
Pequeños electroimanes sobre un disco cerámico recubierto de limadura
Magnética. Los discos cerámicos vienen montados sobre un eje que gira
A altas velocidades y su uso es muy extendido en Servidores.
Memoria ROM (Read Only Memory)
Esta memoria es de solo lectura, es decir, no
Se puede escribir en ella. Su información fue grabada por el fabricante al
Construir el equipo y no desaparece al apagar el ordenador.
Memoria Ram
La memoria principal o RAM (RandomAccessMemory, Memoria de Acceso Aleatorio) es donde el computador guarda los datos que está Utilizando en el momento presente. El almacenamiento es considerado temporal Por que los datos y programas permanecen en ella mientras que lacomputadoraeste Encendida o no sea reiniciada.
Se le llama RAM porque es posible acceder a Cualquier ubicación de ella aleatoria y rápidamente
Físicamente, están constituidas por un
Conjunto de chips o módulos de chips normalmente conectados a latarjeta
Madre.
Bufferbuffers
es unazonas De almacenamiento internas que mantienen temporalmente los datos hasta que se Puedan enviar
Técnica de entrada y salida
Hay Tres técnicas para llevar a cabo las operaciones de E/S
*E/S Programada.
Cuando el Procesador ejecuta un programa y encuentra una instrucción relacionada con la E/S, ejecuta esa instrucción generando un mandato al módulo de E/S apropiado. En el caso de la E/S programada, el módulo de E/S realiza la acción solicitada Y fija los bits correspondientes en el registro de estado de E/S, pero no Realiza ninguna acción para avisar al procesador.
*E/S Dirigida de interrupciones
El procesador Genere un mandato de E/S para un módulo y, acto seguido, continúe realizando Algún otro trabajo útil. El módulo de E/S interrumpirá más tarde al procesador Para solicitar su servicio cuando esté listo para intercambiar datos con el Mismo.
* Acceso Directo a memoria
En cualquier Caso, la técnica funciona como se describe a continuación. Cuando el procesador Desea leer o escribir un bloque de datos, genera un mandato al módulo de DMA.
Registro Acumulador
Elacumuladores unregistroen el que son almacenados Temporalmente los resultados aritméticos y lógicos intermedios que serán Tratados por elcircuito Operacionalde launidad aritmético-lógica(ALU).
Sin un registro como un acumulador, sería Necesario escribir el resultado de cada cálculo, comoadición,multiplicación, desplazamiento,etc…. En lamemoria Principal, Quizás justo para ser leída inmediatamente otra vez para su uso en la siguiente Operación. El acceso a la memoria principal es significativamente más lento que El acceso a un registro como el acumulador porque la tecnología usada para la Memoria principal es más lenta y barata que la usada para un registro interno Del CPU.
Que es un sistema operativo:
Un
Sistema operativo es un programa que controla la ejecución de aplicaciones y
Programas y que actúa como interfaz entre las aplicaciones y el hardware del
Computador. Tiene 3 objetivos:
Facilidad de uso
. Un sistema operativo Facilita el uso de un computador.
Eficiencia
. Un sistema operativo permite Que los recursos de un sistema de computación se puedan utilizar de una manera Eficiente.
Capacidad para evolucionar
. Un sistema Operativo se debe construir de tal forma que se puedan desarrollar, probar e Introducir nuevas funciones en el sistema
Ejecución de programa:
Se necesita realizar una serie de pasos para
Ejecutar un programa. Las instrucciones y los datos se deben cargar en memoria
Principal. Los dispositivos de E/S y los ficheros se deben inicializar, y otros
Recursos deben prepararse.
Acceso de dispositivos E/S:
Cada dispositivo de E/S requiere su propio
Conjunto peculiar de instrucciones o señales de control para cada operación. El
Sistema operativo proporciona una interfaz uniforme que esconde esos detalles
Acceso controlado
:
Para el acceso a los ficheros, el sistema operativo debe reflejar una
Comprensión detallada no sólo de la naturaleza del dispositivo de E/S (disco,
Cinta), sino también de la estructura de los datos contenidos en los ficheros
Del sistema de almacenamiento
Acceso al sistema
:
El sistema operativo controla el acceso al sistema completo y a recursos del
Sistema específicos. La función de acceso debe proporcionar protección a los
Recursos y a los datos
Detección y respuesta a errores
:
En cada caso, el sistema operativo debe proporcionar una respuesta que elimine
La condición de error, suponiendo el menor impacto en las aplicaciones que
Están en ejecución
Contabilidad: Contabilidad. Un buen sistema operativo recogerá estadísticas de uso de los Diferentes recursos y monitorizará parámetros de rendimiento tales como el Tiempo de respuesta.
Procesamiento en serie:
Estas máquinas eran
Utilizadas desde una consola que conténía luces, interruptores, algún
Dispositivo de entrada y una impresora. Los programas en código máquina se
Cargaban a través del dispositivo de entrada (por ejemplo, un lector de
Tarjetas). Si un error provocaba la parada del programa, las luces indicaban la
Condición de error. El programador podía entonces examinar los registros del
Procesador y la memoria principal para determinar la causa de error. Si el
Programa terminaba de forma normal, la salida aparecía en la impresora.
Sus dos principales problemas son:
·La planificación
·Tiempo de configuración
Sistema multi lotes
: El problema consiste en que los
Dispositivos de E/S son lentos comparados con el procesador. Esta ineficiencia
Puede evitarse. Se sabe que existe suficiente memoria para contener al sistema
Operativo (monitor residente) y un programa de usuario. Supóngase que hay
Espacio para el sistema operativo y dos programas de usuario. Cuando un trabajo
Necesita esperar por la E/S, se puede asignar el procesador al otro trabajo,
Que probablemente no esté esperando por una operación de E/S Más aún, se puede
Expandir la memoria para que albergue tres, cuatro o más programas.
Sistemas de tiempo compartido
Tiempo Compartido, porque se comparte el tiempo de procesador entre múltiples usuarios. En un sistema de tiempo compartido, múltiples usuarios acceden simultáneamente Al sistema a través de terminales, siendo el sistema operativo el encargado de Entrelazar la ejecución de cada programa de usuario en pequeños intervalos de Tiempo o cuantos de computación. Por tanto, si hay n usuarios activos Solicitando un servicio a la vez, cada usuario sólo verá en media 1/n de la Capacidad de computación efectiva, sin contar la sobrecarga introducida por el Sistema operativo
Procesos
Se puede
Definir un proceso como:
• Un programa En ejecución.
• Una Instancia de un programa ejecutándose en un computador.
• La entidad Que se puede asignar o ejecutar en un procesador.
• Una unidad De actividad caracterizada por un solo hilo secuencial de ejecución, un estado Actual, y un conjunto de recursos del sistema asociados.
Gestión de Procesos
• Inapropiada sincronización.
Es frecuente el hecho de que una rutina se suspenda
Esperando por algún evento en el sistema. Por ejemplo, un programa que inicia
Una lectura de E/S debe esperar hasta que los datos estén disponibles en un buffer antes de proceder. En este caso, se necesita una señal
Procedente de otra rutina.
• Violación de la exclusión mutua.
Frecuentemente, más de un programa o usuario intentan
Hacer uso de recursos compartidos simultáneamente. Por ejemplo, dos usuarios
Podrían intentar editar el mismo fichero a la vez. Si estos accesos no se
Controlan, podría ocurrir un error. Debe existir algún tipo de mecanismo de
Exclusión mutua que permita que sólo una rutina en un momento determinado
Actualice un fichero.
• Operación no determinista de un programa.
Los resultados de un programa particular normalmente
Dependen sólo de la entrada a dicho programa y no de las actividades de otro
Programa en un sistema compartido. Pero cuando los programas comparten memoria,
Y sus ejecuciones son entrelazadas por el procesador, podrían interferir entre
Ellos, sobre escribiendo zonas de memoria comunes de una forma impredecible.
Por tanto, el orden en el que diversos programas se planifican puede afectar a
La salida de cualquier programa particular.
• Interbloqueos.
Es posible que dos o más programas se queden
Bloqueados esperándose entre sí.
Lo que se Necesita para enfrentarse a estos problemas es una forma sistemática de Monitorizar y controlar la ejecución de varios programas en el procesador.
Gestión de Memoria
Los gestores de sistema necesitan un control eficiente y ordenado de la asignación De los recursos. Para satisfacer estos requisitos, el sistema operativo tiene Cinco responsabilidades principales de gestión de almacenamiento:
• Aislamiento de procesos.
El sistema operativo debe evitar que los procesos
Independientes interfieran en la memoria de otro proceso, tanto datos como
Instrucciones.
• Asignación y gestión automática.
Los programas deben tener una asignación dinámica de
Memoria por demanda, en cualquier nivel de la jerarquía de memoria. La
Asignación debe ser transparente al programador.
• Soporte a la programación modular.
Los programadores deben ser capaces de definir módulos
De programación y crear, destruir, y alterar el tamaño de los módulos
Dinámicamente.
• Protección y control de acceso.
La compartición de memoria, en cualquier nivel de la
Jerarquía de memoria, permite que un programa direccione un espacio de memoria
De otro proceso. Esto es deseable cuando se necesita la compartición por parte
De determinadas aplicaciones. Otras veces, esta carácterística amenaza la
Integridad de los programas e incluso del propio sistema operativo. El sistema
Operativo debe permitir que varios usuarios puedan acceder de distintas formas
A porciones de memoria.
• Almacenamiento a largo plazo.
Muchas aplicaciones requieren formas de almacenar la
Información durante largos periodos de tiempo, después de que el computador se
Haya apagado.
Protección y Seguridad de información
La mayoría del trabajo en seguridad y protección relacionado con los Sistemas operativos se puede agrupar de forma genérica en cuatro categorías:
• Disponibilidad.
Relacionado
Con la protección del sistema frente a las interrupciones.• Confidencialidad.
Asegura que los usuarios no puedan leer los datos
Sobre los cuales no tienen autorización de acceso.
• Integridad de
Los datos.
Protección
De los datos frente a modificaciones no autorizadas.
• Autenticidad.
Relacionado con la verificación apropiada de la
Identidad de los usuarios y la validez de los mensajes o los datos.
Planificación Y gestión de los recursos
Una responsabilidad clave de los sistemas operativos es la gestión de Varios recursos disponibles para ellos. Se debe tener en cuenta tres factores:
• Equitatividad. Normalmente, se desea que todos los procesos que Compiten por un determinado recurso, se les conceda un acceso equitativo a Dicho recurso.
• Respuesta diferencial. Por otro lado, el sistema operativo puede necesitar discriminar entre Diferentes clases de trabajos con diferentes requisitos de servicio. El sistema Operativo debe tomar las decisiones de asignación y planificación con el Objetivo de satisfacer el conjunto total de requisitos.
• Eficiencia. El sistema operativo debe intentar maximizar la Productividad, minimizar el tiempo de respuesta.
Estructura de los Sistemas Operativos:
El
Sistema operativo se encuentra dividido en un conjunto de capas o niveles de
Privilegio, con el objetivo de separar la acción del código de los procesos del
Sistema, del núcleo y de los procesos de usuario. El nivel más bajo tiene
Contacto directo con el hardware y el más alto es la interfaz con el usuario.
• Nivel 1. Está Formado por circuitos electrónicos, donde los objetos tratados son registros, Celdas de memoria, y puertas lógicas. Las operaciones definidas en estos Objetos son acciones, como poner a cero un registro o leer una posición de Memoria.
• Nivel 2. El Conjunto de instrucciones del procesador. Las operaciones a este nivel son Aquéllas permitidas en el conjunto de instrucciones de lenguaje máquina, como Adición, resta, carga o almacenamiento.
• Nivel 3. Añade el Concepto de procedimiento o subrutina, más las operaciones de llamada y retorno (call/return).
• Nivel 4. Introduce Las interrupciones, que permiten al procesador guardar el contexto actual e Invocar una rutina de tratamiento de interrupciones.
• Nivel 5. En este Nivel se introduce la noción de un proceso como un programa en ejecución. Los Requisitos fundamentales de los sistemas operativos para dar soporte a Múltiples procesos incluyen la habilidad de suspender y continuar los procesos.
• Nivel 6. Trata los Dispositivos de almacenamiento secundario del computador. En este nivel, se dan Las funciones para posicionar las cabezas de lectura/escritura y la Transferencia real de bloques.
• Nivel 7. Crea un Espacio de direcciones lógicas para los procesos. Este nivel organiza el Espacio de direcciones virtuales en bloques que pueden moverse entre memoria Principal y memoria secundaria.
• Nivel 8. Trata con La comunicación de información y mensajes entre los procesos. Mientras que el Nivel 5 proporciona un mecanismo de señalización primitivo que permite la Sincronización de procesos, este nivel trata con una compartición de Información más rica.
• Nivel 9. Da Soporte al almacenamiento a largo plazo en ficheros con nombre. En este nivel, Los datos en el almacenamiento secundario se ven en términos de entidades Abstractas y con longitud variable.
• Nivel 10. Proporciona acceso a los dispositivos externos utilizando interfaces estándar.
• Nivel 11. Es el Nivel responsable para mantener la asociación entre los identificadores Externos e internos de los recursos y objetos del sistema.
• Nivel 12. Proporciona una utilidad completa para dar soporte a los procesos. Este nivel Va más allá del proporcionado por el Nivel 5. En el Nivel 12, se da soporte a Toda la información necesaria para la gestión ordenada de los procesos. • Nivel 13. Proporciona una interfaz del sistema operativo al usuario. Se denomina Shell (caparazón), porque separa al usuario de los detalles de los sistemas Operativos y presenta el sistema operativo simplemente como una colección de Servicios.
Multitheading
: es una técnica en la cual un proceso, ejecutando una
Aplicación, se divide en una serie de hilos o threads que pueden ejecutar
Concurrentemente. Se pueden hacer las siguientes distinciones:
• Thread o hilo. Se trata de una unidad de trabajo. Incluye el contexto del y su propia área de datos para una pila. Un hilo se Ejecuta secuencialmente y se puede interrumpir de forma que el procesador pueda Dar paso a otro hilo.
• Proceso. Es una colección de uno o más hilos y sus Recursos de sistema asociados La técnica multithreading es útil para las aplicaciones que llevan a cabo un número de tareas Esencialmente independientes que no necesitan ser serializadas.
Kernel:
Es el principal responsable de facilitar a los
Distintos programas acceso seguro al hardware de
La computadora él es el encargado de gestionar recursos, a través de
Servicios de llamada al sistema, también se encarga de decidir qué programa
Podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que
Se conoce como multiplexado.
“El kernel se puede definir como el Corazón del sistema operativo. Es el encargado de que el software y el hardware Del ordenador puedan trabajar juntos.”