Resumen de Somp Guillermo 1 PDF
Document Details
Uploaded by Deleted User
Somp Guillermo
Tags
Summary
Este documento proporciona una introducción concisa a los conceptos básicos de los sistemas informáticos. Se profundiza en los componentes clave como hardware y software, así como en la arquitectura de Von Neumann. El contenido incluye descripciones detalladas de la CPU, memoria, buses y periféricos, destacando las funciones de cada elemento en el funcionamiento de un ordenador.
Full Transcript
**Introducción a los sistemas informáticos:** - Un ordenador es una máquina electrónica que realiza una gran variedad de trabajos con rapidez y precisión. **Componentes de un ordenador:** 1. **Hardware**: La parte física del ordenador, que incluye: - **Unidad Central de Proceso (CPU...
**Introducción a los sistemas informáticos:** - Un ordenador es una máquina electrónica que realiza una gran variedad de trabajos con rapidez y precisión. **Componentes de un ordenador:** 1. **Hardware**: La parte física del ordenador, que incluye: - **Unidad Central de Proceso (CPU)**: Incluye la Unidad Aritmético-lógica (ALU), la Unidad de Control, coprocesador matemático y registros. - **Memoria central (RAM)**: Se divide en SRAM (estática) y DRAM (dinámica). - **Unidades de Entrada/Salida (Periféricos)**. - **Buses**: Pistas que conectan los diferentes componentes. 2. **Software**: La parte lógica que gobierna los componentes electrónicos. Incluye: - **Sistema Operativo**: El programa maestro que gestiona todos los recursos del ordenador. - **Firmware**: Software de bajo nivel que establece una lógica primaria, integrado en memorias ROM y sistemas empotrados. **Arquitectura de Von Neumann:** - Diseñada por John Von Neumann en 1944, incluye la CPU, la memoria central y los dispositivos de E/S conectados mediante buses de datos. - **Funciones de la CPU**: - **ALU**: Realiza operaciones matemáticas y lógicas. - **Unidad de Control**: Busca, decodifica y ejecuta instrucciones en la memoria. - **Secuenciador**: Genera microórdenes necesarias para ejecutar instrucciones. - **Reloj**: Proporciona impulsos eléctricos a intervalos constantes. **Registros en la CPU:** - **Tipos de registros**: - **Datos**: Guardan números enteros. - **Memoria**: Guardan direcciones de memoria. - **Propósito General**: Pueden guardar datos o direcciones. - **Coma flotante**: Guardan datos con decimales. - **Constantes**: Valores de sólo lectura. - **Propósito específico**: Guardan información específica del estado del sistema. **Buses en un ordenador:** - **Bus de datos**: Transmite información entre la CPU y los periféricos. - **Bus de direcciones**: Identifica el dispositivo destinatario de la información. - **Bus de control**: Organiza y redirige la información a través del bus correspondiente, sincronizado por el reloj. **Unidad Central de Proceso:** - **Buses y puentes**: - El bus frontal conecta la CPU con el puente norte. - El puente norte y el puente sur están comunicados por el bus Direct Media Interface (DMI). - El puente norte conecta la CPU, la RAM, el puente sur y puertos de alta velocidad (PCI-e x16, M.2/U.2). Actualmente, el puente norte está integrado en la CPU. - El puente sur comunica el resto de buses. **Memoria Central:** - **Tipos de memoria**: - **RAM (Random Access Memory)**: Memoria volátil que almacena temporalmente información y programas. - **ROM (Read Only Memory)**: Memoria no volátil que almacena datos que no se modifican, como BIOS o UEFI. - **Elementos de la memoria central**: - **Registro de direcciones**: Contiene la dirección de la celda a acceder. - **Registro de intercambio**: Recibe y almacena datos en lectura/escritura. - **Selector de memoria**: Conecta la celda a leer o escribir con el registro de intercambio. - **Señales de control**: Indican si la operación es de lectura o escritura. - **Tipos de RAM**: - **RAM dinámica**: Formada por un transistor FET y un condensador, requiere refresco, más lenta pero más barata. - **RAM estática (caché)**: Formada por biestables, más rápida pero más cara, no requiere refresco. - **SDRAM (Synchronous DRAM)**: Refrescada por una señal de reloj sincronizada con el bus del sistema. - **DDR (Double Data Rate)**: Tecnología que permite el doble de velocidad al refrescarse dos veces por impulso de reloj. - **Memorias ROM**: - Almacenan BIOS o UEFI, proporcionando órdenes básicas para el arranque del equipo. - Realizan el POST (Power On Self-Test) para verificar el buen funcionamiento. - Actualmente, se utilizan EEPROM para permitir actualizaciones de BIOS. **Periféricos:** - Permiten la interacción del usuario con el sistema informático a través de puertos. - **Modos de comunicación**: - **Simplex**: Unidireccional. - **Half-Dúplex**: Bidireccional no simultánea. - **Full-Dúplex**: Bidireccional simultánea. - Se necesitan **drivers** para que el ordenador reconozca y gestione los periféricos. **Tipos de datos:** - **Datos de entrada**: Suministrados por periféricos de entrada, forman la primera fase del tratamiento de datos. - **Datos intermedios**: Obtenidos durante la segunda fase del tratamiento (proceso), almacenados temporalmente. - **Datos de salida**: Resultados del tratamiento de datos enviados a periféricos de salida (monitores, impresoras, etc.). **Tipos de datos:** - **Datos fijos**: Permanecen constantes durante el proceso, como las constantes en programas. - **Variables**: Se modifican durante el proceso según condiciones o acciones del programa. **Conceptos básicos de datos en ordenadores:** - Los ordenadores solo entienden de corriente eléctrica en dos estados: encendido (1) y apagado (0). - El sistema operativo transforma los caracteres introducidos en pulsos eléctricos que se almacenan en memoria. - Las celdas de memoria se leen en grupos de 8 o 16, con valores de 1 (cargada) o 0 (descargada). - Se utilizan tablas de codificación para almacenar y recuperar información. **Sistemas de codificación:** - **Código ASCII**: Originalmente de 7 bits, extendido a 8 bits, puede almacenar hasta 255 caracteres. Cada país tenía su propia tabla ASCII. - **Código UNICODE**: Supera las limitaciones del ASCII, es un código internacional utilizado en la mayoría de sistemas operativos, capaz de almacenar hasta 65,535 caracteres. Es universal. **Medidas de la información:** - **Bit**: Unidad mínima de información, representada por 1 o 0. - **Byte**: Conjunto de 8 bits. - **Kilobyte**: 1024 bytes. - **Kibibyte**: 1024 bytes, se distingue de kilobyte (10\^3) por usar la base 2\^10. - Las velocidades de transferencia se representan en kilobits o megabits por segundo. **Sistemas de numeración:** - **Decimal (base 10)**: Utiliza 10 símbolos (0-9). - **Binario (base 2)**: Utiliza 2 símbolos (0 y 1) para representar estados electrónicos. - **Octal (base 8)**: Utiliza símbolos del 0 al 7, con correspondencia directa con el binario (3 bits por símbolo). - **Hexadecimal (base 16)**: Utiliza símbolos del 0 al 9 y letras A a F (10-15), con correspondencia directa con el binario (4 bits por símbolo). - **Base64**: Sistema de numeración en base 64, usado para codificar correos electrónicos, GPG y multimedia. **Sistemas Operativos:** - **Definición**: Software que gestiona los recursos del sistema informático, separa a usuarios finales de desarrolladores y permite manejar los recursos hardware de manera genérica. - **Componentes**: Incluye el sistema operativo (OS), drivers y firmware, formando el software base. **Modos de Operación:** - **Modo Usuario**: Modo menos privilegiado, sin acceso directo al hardware, utiliza el API del sistema. - **Modo Kernel**: Modo privilegiado, con acceso directo a toda la memoria y hardware, ejecuta partes del sistema operativo. **Elementos de un Sistema Operativo:** - **Monotarea**: Ejecutan una tarea a la vez, casi extintos. - **Multitarea**: Permiten múltiples procesos compartiendo el acceso al procesador. **Tipos de Sistemas Operativos:** - **Monousuario**: Un usuario por sesión, usado en sistemas empotrados. - **Multiusuario**: Varios usuarios con sesiones simultáneas. - **Monoprocesador**: Usan un solo procesador o núcleo, actualmente extintos. - **Multiprocesador**: Gestionan múltiples núcleos o procesadores. - **Licencia Propietaria**: Código fuente no público, no permite copia, modificación o distribución. - **Licencia Libre**: Código fuente público, permite copia, modificación y distribución con limitaciones de licencia. **Funciones de un Sistema Operativo:** - **Gestión de Procesos**: Inicia y facilita la ejecución de programas, garantizando los recursos necesarios. - **Gestión de Memoria**: Asegura que los programas y datos estén en la memoria central para su uso eficiente. - **Gestión de Archivos**: Organiza y controla los archivos almacenados externamente. **Funciones de un Sistema Operativo:** - **Gestión de archivos**: Importante para organizar y controlar archivos almacenados externamente. - **Gestión de Entrada/Salida**: Administra el uso de dispositivos conectados al ordenador y su vinculación a procesos específicos. **Estructura de los Sistemas Operativos:** - **Monolítico**: El núcleo concentra la mayor parte de la funcionalidad del sistema operativo. Todos los componentes principales se ejecutan en modo núcleo. Los sistemas modernos pueden cargar módulos dinámicamente. - **Micronúcleo**: El núcleo solo contiene servicios básicos (soporte de acceso a memoria, administración de tareas, comunicación entre procesos). El resto de funciones se ejecutan en modo usuario. - **Núcleo híbrido**: Combina elementos del micronúcleo y monolítico, incluye módulos importantes en el núcleo, mientras que otras funciones se ejecutan en modo usuario. **Procesos:** - **Definición**: Una unidad de actividad que ejecuta una secuencia de instrucciones con recursos asignados por el sistema y un estado particular. - **Tabla de procesos**: Almacena información relevante de cada proceso, como el identificador (PID), el estado, la prioridad y la posición de memoria. **Gestión de procesos:** - Asigna recursos necesarios a los procesos (permisos, prioridad, evitar interbloqueos). - Reparte el tiempo de ejecución del procesador entre varios procesos. - Facilita la creación de procesos y la comunicación entre ellos (process spawning). **Ejecución de procesos:** - Un proceso debe estar en la memoria principal para ejecutarse. - El **contador de programa (PC)** indica la siguiente instrucción a ejecutar. - El procesador ejecuta el módulo distribuidor tras consumir el tiempo o solicitar recursos. - **Ciclo de instrucción**: Consta de dos pasos: - **Fetch**: Cargar una instrucción desde la memoria principal a los registros del procesador. - **Execute**: Interpretar y ejecutar la instrucción. **Ciclo de vida de los procesos:** - **Nuevo**: Se crea un nuevo proceso que aún no está en memoria ni en estado de preparación. **Estados de los procesos:** - **Nuevo**: Se analiza si puede ser ejecutado. - **Preparado**: Procesos que están listos pero esperando recibir tiempo de CPU. - **En ejecución**: Procesos que están utilizando la CPU en ese momento. - **Bloqueado**: Procesos esperando que se libere un recurso. - **Terminado**: Procesos que han completado su tarea y son eliminados por el sistema. **Cambio de contexto:** - Proceso en el que se detiene la ejecución de un proceso para ejecutar otro. - Se guarda el valor de los registros del proceso actual. - Se recupera el valor de los registros del nuevo proceso. - Se ejecuta la instrucción indicada en el Contador de Programa. **Finalización de procesos:** - Un proceso finaliza al cumplir sus instrucciones, superar el tiempo asignado, o por errores (memoria insuficiente, acceso no autorizado, errores aritméticos, etc.). **Planificación de procesos:** - **Objetivos**: - **Rendimiento**: Maximizar el número de acciones en un tiempo determinado. - **Tiempo de respuesta**: Responder a las solicitudes del usuario en un tiempo adecuado. - **Tiempo de retorno**: Ofrecer resultados en un tiempo adecuado. - **Equidad**: Considerar todos los procesos según sus características. - **Eficiencia**: Mantener la CPU ocupada el mayor tiempo posible. - **Algoritmos de planificación**: - **FCFS (First Come First Served)**: No expropiativo, procesa en el orden de llegada. - **SJF (Shortest Job First)**: No expropiativo, elige el proceso con el tiempo de ejecución más corto. - **SRTN (Shortest Remaining Time Next)**: Expropiativo, elige el proceso con el tiempo restante más corto. - **Round Robin** **Algoritmo Round Robin:** - **Quantum**: Igual para todos los procesos. El procesador se libera si el proceso termina, se bloquea o se agota el tiempo de ejecución asignado. - Nombre inspirado en el sistema utilizado en el tenis. **Planificación por prioridad:** - **Prioridad**: A cada proceso se le asigna un número que determina su prioridad. Procesos con números más bajos tienen mayor prioridad. - Riesgo de inanición: Procesos de alta prioridad pueden monopolizar la CPU. Para evitarlo, la prioridad de los procesos puede reducirse con el uso del procesador. **Comunicación entre procesos:** - Los procesos en un sistema operativo pueden comunicarse y sincronizarse mediante **IPC (Inter-Process Communication)** y compartir zonas de memoria. - En sistemas distribuidos, se utiliza **RPC (Remote Procedure Call)** para la comunicación. **Servicios:** - Procesos que se ejecutan en segundo plano, esperando sucesos para ofrecer prestaciones al usuario. - En sistemas UNIX, se denominan **Daemons**. - En Windows, se gestionan a través del administrador de tareas, y en UNIX, mediante la consola o herramientas como HTOP. **Interacción con el Sistema Operativo:** - Existen dos formas de interactuar: **Gráfica** o **Consola de comandos**. - La primera interfaz gráfica fue desarrollada por Xerox, luego popularizada por Macintosh. - Windows 10 utiliza **Fluent Design** para una interfaz híbrida dinámica. **GUI (Graphical User Interface) en diferentes sistemas:** - **Windows**: Fluent Design, evolución del Menú Inicio. - **Mac OS X**: La interfaz gráfica y el sistema son separados. Sin interfaz gráfica se llama **Darwin**, el kernel es **XNU**, el servidor gráfico es **Quartz**, y la interfaz gráfica es **Aqua**. - **Linux**: No tiene una interfaz gráfica por defecto. Usa múltiples entornos de escritorio como **Gnome**, **KDE**, y **Mate**. Transición hacia **Wayland** como servidor gráfico más moderno.