B. REFERENCIAS BIBLIOGRAFICAS DESARROLLADAS DEL BASICO OPERCIBER.pdf

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Full Transcript

COMANDO DE EDUCACIÓN Y DOCTRINA DEL EJÉRCITO ESCUELA DE COMUNICACIONES REFERENCIAS BIBLIOGRAFICAS DEL PROGRAMA BASICO DE OPERACIONES DE CIBERDEFENSA AF-2024 COEDE...

COMANDO DE EDUCACIÓN Y DOCTRINA DEL EJÉRCITO ESCUELA DE COMUNICACIONES REFERENCIAS BIBLIOGRAFICAS DEL PROGRAMA BASICO DE OPERACIONES DE CIBERDEFENSA AF-2024 COEDE ECOME DEDUC / ADMISIÓN CHORRILLOS AGO 24 BIBLIOGRAFÍA De acuerdo a documento Anexo (Referencias bibliográficas) NOTA IMPORTANTE: Las REFERENCIAS BIBLIOGRÁFICAS son aquellas que serán consideradas para la elaboración la prueba de psicotécnico y conocimientos en el Proceso de Admisión al Programa Básico de Operaciones de Ciberdefensa, la BIBLIOGRAFÍA COMPLEMENTARIA, NO será considerada para la formulación del examen de conocimientos, esta bibliografía podrá ser empleada por el postulante para que profundice en el conocimiento de los temas considerados en las referencias Bibliográficas. GUÍA BIBLIOGRÁFICA DE ESTUDIO PARA LA PRUEBA DE CONOCIMIENTOS AL PROGRAMA BASICO DE OPERACIONES DE CIBERDEFENSA PSICOTÉCNICO 1. RAZONAMIENTO MATEMATICO – Editorial SAN MARCOS (Autor: HUGO VERA DUARTE 2007 CAPÍTULO SECCIÓN PÁRRAFO PÁGINA CAPITULO 2 1. Test de dominó 11-15 2. Prueba de madurez mental de California - Test 4, lógica 21-23 - Test 5, serie de números 24-25 - Test 6, problemas 25-27 3. Cubos que se tocan 31-34 4. Test espacial 34-44 5. Test de dado 45-47 7. Razonamiento en el plano - Secuencias 62-63 - Relaciones 64-65 9. Diferencia gráfica 77-82 10. Razonamiento abstracto 83-88 Parte II 100-132 RAZONAMIENTO 1. Problemas razonados LÓGICO PARTE III RAZONAMIENTO 1. Series numéricas y 202-207 NUMÉRICO series literales 216-234 2. Analogías numéricas, distribuciones numéricas y figuras numéricas 2. APTITUD VERBAL – Editorial SAN MARCOS. (Autor: NATHALI FALCON VERA) Tercera edición. CAPÍTULO SECCIÓN PÁRRAFO PÁGINA 2 Sinónimos 38-66 3 Antónimos 67-110 4 Analogías 111-181 5 Oraciones incompletas 182-246 6 Comprensión de textos 247-378 INGLÉS Desde el Book 01 al Book 20 (CIVIME) CONOCIMIENTOS GENERALES 1. SISTEMAS OPERATIVOS (S.O.) A. CONOCER LAS FUNCIONES Y OBJETIVOS DE UN SO (AISLAMIENTO, ADMINISTRACIÓN DE RECURSOS, ABSTRACCIÓN). B. CONOCER LA EVOLUCIÓN HISTÓRICA DE LOS SO. CONCEPTOS GENERALES DE SISTEMAS OPERATIVOS.  Introducción: ¿Qué es un sistema operativo?  Conceptos clave de un sistema operativo.  El sistema operativo como administrador de recursos y como interfaz.  Evolución histórica y tipos de sistemas. (1) INTRODUCCIÓN: ¿QUÉ ES UN SISTEMA OPERATIVO? Principio de embellecimiento: S. O. Como conjunto de programas cuya misión es ofrecer al usuario final de la computadora la imagen de que ésta es una máquina sencilla de manejar, por muy difícil y complicado que sea el hardware con el que se haya construido. Gobierno: No desempeña ninguna función por sí sólo. Crea un entorno dentro del que otros programas pueden realizar un trabajo útil. Objetivos: Actuar de intermediario entre usuario y hardware. Garantizar el funcionamiento correcto del computador. Facilitar la tarea de programación (comodidad). Administrar eficientemente los recursos de la máquina. Propósito: creación de un entorno cómodo y eficiente para poder ejecutar programas. Desarrollo: evolución desde los primeros sistemas manuales hasta los sistemas multiprogramados y de tiempo compartido actuales. Un sistema de computación se divide en cuatro componentes principales: Hardware: CPU, memoria y dispositivos de E/S Sistema Operativo (software). Programas de aplicación, o de usuario: compiladores, DB, juegos (software). Usuarios: usuarios, programadores, máquinas. Funciones del Sistema Operativo: Como gestor de recursos: Gestiona: tiempo de CPU, espacio de memoria, espacio de almacenamiento de archivos y dispositivos de E/S. Actúa: árbitro que decide qué solicitudes atender cuando no pueden satisfacerse todas simultáneamente, asignando recursos de forma eficiente. Como programa de control: Controla: ejecución de programas de usuarios para evitar errores o usos incorrectos. (2) CONCEPTOS CLAVE DE UN SISTEMA OPERATIVO Tipos de usuarios:  Usuario de órdenes / aplicaciones.  Usuario programador.  Usuario diseñador / implementador.  Administrador del sistema. CONCEPTOS RELACIONADOS CON EL USUARIO DE ÓRDENES: Usuario: elemento (persona, máquina) identificable por el sistema. Sesión: conjunto de acciones desarrolladas por el usuario desde que entra (login) hasta que sale (logout). Programa: conjunto de instrucciones destinadas a resolver un problema. Fichero: (o archivo), conjunto de datos relacionados almacenados en almacenamiento no perecedero. Programa del sistema: acciones relacionadas con el SO. Intérprete de órdenes: programa del sistema que recoge y manda ejecutar las órdenes del usuario. CONCEPTOS RELACIONADOS CON EL USUARIO PROGRAMADOR: Llamadas al sistema: Mecanismo que utilizan los programas de aplicación para solicitar que el sistema operativo haga algo. Niveles de ejecución: Distintos modos de ejecución del procesador, que determinan que instrucciones se pueden ejecutar en cada momento. Los programas de usuario se ejecutan en modo normal, mientras que el código del sistema operativo lo hace en modo privilegiado. CONCEPTOS RELACIONADOS CON EL USUARIO DISEÑADOR (1): Sistema de gestión de procesos: encargado de crear, eliminar, suspender, reanudar, comunicar y sincronizar procesos. Sistema de gestión de memoria: encargado de la memoria ppal. Controla particiones libres/ocupadas. Asigna/libera espacios. Llama a la memoria principal. Sistema de gestión de E/S: encargado de los dispositivos de E/S. Permite su compartición ordenada, minimiza efectos de diferencia de velocidad, uniformiza distintos dispositivos. CONCEPTOS RELACIONADOS CON EL USUARIO DISEÑADOR (2): Sistema de gestión de ficheros: encargado de los ficheros. Define: Concepto y tipos de ficheros. Gestiona almacenamiento y operaciones. Núcleo (kernel) del sistema operativo: programa individual que siempre está cargado en memoria principal y que se está ejecutando permanentemente en el computador. (3) SISTEMA OPERATIVO COMO ADMINISTRADOR DE RECURSOS. Sistema operativo como administrador de recursos Árbitro eficiente que asigne recursos a los procesos: Procesos: programas en ejecución que compiten por el uso de recursos. Recursos: (escasos) reales o virtuales, físicos o lógicos. Conocerá: Estado en que se encuentran los recursos. Quién, cuándo y durante cuánto tiempo tiene el control. Asociar y desasociar recursos. Sistema operativo como interfaz Capa entre usuario y hardware, que ofrece una máquina extendida que es una abstracción de la realidad y contra la que van los procesos. Ventajas:  Comodidad: Mejor usabilidad para usuario y programador.  Portabilidad: Independencia con el hardware. (4) EVOLUCIÓN HISTÓRICA Y TIPOS DE SISTEMAS. a) Evolución histórica: 1ª Generación (1945 -1955): Sistema operativo: Al principio es inexistente, hacia el final se constituye como un conjunto de funciones de uso general. Tecnología: Tubos de vacío. Introducción de trabajo: A través de panel de control. Lenguaje: Lenguaje máquina. 2ª Generación (1955 – 1965): Sistema operativo: Monitor para cargar trabajos, ejecutarlos (procesamiento en serie). Posteriormente procesamiento por lotes. Tecnología: Transistores. Introducción de trabajo: Tarjetas perforadas. Lenguaje: Cobol, Fortran 3ª Generación (1965 – 1975): Sistema operativo: Multiprogramación, tiempo compartido, sistemas en tiempo real (OS/360,Multics, UNIX,...). Tecnología: Circuitos integrados, máquinas multipropósito, miniordenadores. Introducción de trabajo: Tarjetas perforadas, terminales. Lenguaje: Cobol, Fortran 4ª Generación (1975 – 1990): Sistema operativo: En red, cliente-servidor, seguridad (criptografía), (MacOS, MS-DOS, Novell,...) Tecnología: Circuitos integrados, ordenadores personales, redes de ordenadores. Introducción de trabajo: Terminal 5ª Generación (1990 – actualidad): Sistema Operativo: Distribuido, modelo cliente – servidor en la construcción del sistema. Tecnología: Circuitos integrados a gran escala (VLSI), ordenadores personales potentes, estaciones de trabajo. Orientación de la evolución: Aumentar: Potencia, multipropósito, fiabilidad, nº de usuarios, comodidad y amigabilidad. Disminuir: Precio, tamaño, requisitos de instalación, dificultad de uso, tiempo de respuesta. b) Tipos de sistemas: Primeros sistemas. Sistemas por lotes. Multiprogramación. Sistemas de tiempo compartido. Sistemas de ordenadores personales. Sistemas paralelos-multiprocesadores. Sistemas distribuidos. Sistemas de tiempo real. Tendencias actuales y futuras en sistemas operativos. A. PRIMEROS SISTEMAS: Caracterización: Gran tamaño y ejecución desde panel de control. Organización del trabajo:  Programador = Operador del sistema.  Un solo usuario en cada momento (tiempo asignado, reserva).  Operaciones: Carga manual del programa en la memoria (instrucción tras instrucción), establecer inicio, activar ejecución, vigilar ejecución.  Mejoras:  Físicas: lectores de tarjetas, impresoras y cintas magnéticas.  Reutilización de código: Bibliotecas de funciones comunes.  Desarrollo de ensambladores, compiladores y cargadores para facilitar las tareas de programación.  Drivers o subrutinas especiales para cada dispositivo de E/S.  Desventajas:  Máquina parada mucho tiempo por el modo de trabajo.  Error podría implicar comenzar de nuevo. B. SISTEMAS POR LOTES:  Organización del trabajo:  Operador especialista, minimiza tiempos de preparación.  Reducción de tiempos por agrupamiento en lotes que se pueden ejecutar a la vez.  Secuenciado automático de trabajos: Transferencia automática de control entre un trabajo y el siguiente => Monitor Residente.  Monitor residente:  Realiza automáticamente las acciones: Control de la finalización de tareas. Tratamiento de errores. Carga y ejecución automática de la siguiente tarea. TARJETAS DE CONTROL Para que el monitor residente sepa qué programa ejecutar (se distinguen por $ de las tarjetas de instrucciones). Organización de la memoria para un monitor residente:  Cargador, secuenciado de trabajos, intérprete de tarjetas.  Drivers para cargador e intérprete.  Ventaja: Eliminación del tiempo de preparación y del secuenciado “manual” de trabajos. EL PROBLEMA DE LA E/S E/S muy lenta en comparación con la CPU, lo que implica que la CPU queda ociosa mucho tiempo esperando la terminación de las operaciones de E/S. Solución: Introducción de tecnología de discos, lo que posibilita:  Operaciones fuera de línea (off-line): independencia con el dispositivo, la CPU “dialoga” sólo con dispositivos rápidos.  Uso de búferes: las transferencias de E/S se realizan a través de una zona intermedia de memoria y sólo cuando el dispositivo está preparado.  Spooling: Uso del disco como búfer de gran tamaño, leyendo por adelantado de los dispositivos de entrada, guardando la información y enviándola a los dispositivos de salida cuando éstos estén disponibles. C. MULTIPROGRAMACIÓN: Gracias al spooling (reserva de trabajos en el disco), el sistema operativo escoge qué trabajo ejecutar a continuación con el criterio de mejorar el aprovechamiento de la CPU, planificación de trabajos. El aspecto más importante de la planificación es la multiprogramación, aumentando el aprovechamiento de la CPU. Siempre habrá varios trabajos en memoria, el sistema operativo escogerá de entre ellos y lo ejecutará, de tal forma que siempre haya un trabajo en ejecución. Características de la multiprogramación:  Si un proceso se bloquea, esperando por la E/S, en la CPU ejecutamos instrucciones de otro proceso.  Ejecución entrelazada de procesos: concurrencia.  Mayor rendimiento, finalización de más trabajos en menos tiempo. Mayor complejidad de los sistemas multiprogramados:  Planificación de la CPU: Qué proceso elegimos al quedar libre la CPU.  Planificación de dispositivos: Conflictos por acceso simultáneo a la E/S.  Gestión de memoria: Decisiones de carga en memoria entre varios trabajos que están listos para subirse.  Situaciones de interbloqueo: Entre procesos por los recursos.  Protección D. SISTEMAS DE TIEMPO COMPARTIDO: ¿Por qué surgen?: Con la multiprogramación los recursos del sistema se aprovechan eficientemente, sin embargo, para el usuario,  No puede interactuar con el trabajo durante su ejecución.  Depuración de programas estática. Solución: sistemas multitarea (o interactivos), más apropiados para trabajos de muchas acciones cortas, donde el usuario introduce una orden y espera, por tanto, interesa un tiempo de respuesta corto. Desventaja: Perdemos productividad de la CPU. Ventajas: Interacción usuario-sistema e ilusión de que cada usuario tiene su ordenador particular. Mayor complejidad de los sistemas de tiempo compartido: Gestión y protección de memoria: Mantenimiento simultáneo de varios trabajos en la memoria. Memoria virtual: Tiempo de respuesta razonable intercambiando trabajos entre memoria y disco. Sistema de archivos en línea: Colección de discos, sistema de gestión de discos. Planificación de CPU: Mecanismos de ejecución concurrente. Mecanismos de sincronización y comunicación: Evitando interbloqueos E. SISTEMA DE ORDENADORES PERSONALES: Aparición a finales de los 70 debido a:  Abaratamiento de coste.  Microprocesadores, reducción de tamaño. Destinados al uso individual y no experto. Interfaces de usuario amigables: ventanas, iconos, menús Prescinden de ciertas funciones, como protección de la CPU (sistemas no multiusuario y no multitarea). Objetivos: Facilidad y comodidad de uso y rapidez de respuesta. F. SISTEMAS PARALELOS – MULTIPROCESADORES: Varios procesadores en comunicación (acoplados), compartiendo el bus del computador, el reloj, la memoria y los periféricos. Ventajas:  Pueden ejecutar varias instrucciones simultáneamente (en paralelo).  Aumento del rendimiento (más trabajos en menos tiempo).  Compartición de periféricos y fuentes de potencia.  Tolerancia a fallos (degradación gradual). Desventaja: Sincronización entre procesos. Tipos de multiprocesamiento:  Simétrico: Cada procesador ejecuta una copia idéntica del sistema.  Asimétrico: A cada procesador se le asigna una tarea específica. G. SISTEMAS DISTRIBUIDOS Características El cómputo se reparte entre varios procesadores conectados mediante una red. Cada procesador tiene su propia memoria local, “débilmente acoplados”, ahora no comparten memoria ni reloj. Comunicación entre procesadores a través de líneas de comunicación, buses de alta velocidad o líneas telefónicas. Procesadores de distintos tamaños y funciones. Escalable hasta millones de procesadores (internet). Ventajas:  Recursos compartidos: accesos remotos, compartición de archivos, información de DB distribuidas,  Computación más rápida: carga de trabajo compartida.  Fiabilidad: tolerancia a fallos por redundancia.  Comunicación: redes de comunicación. Desventajas:  Comunicación compleja al no compartir memoria.  Redes de comunicaciones no fiable.  Heterogeneidad de los nodos. H. SISTEMAS DE TIEMPO REAL: Para ejecución de tareas que han de completarse en un plazo prefijado (sistemas de control industrial, multimedia, científicos, médicos,...) Pueden ser de dos tipos: Críticos: Tareas que exigen el cumplimento de plazos de finalización, tienen pocos recursos disponibles los datos se almacenan en memoria de corto plazo o ROM. Incompatibles con los sistemas de tiempo compartido. Adecuados para la industria y la robótica. No críticos: Ejecución por prioridades. No cumplimiento estricto de plazos. Adecuados en multimedia, realidad virtual y proyectos científicos avanzados de exploración submarina y planetaria. TENDENCIAS ACTUALES Y FUTURAS EN SISTEMAS OPERATIVOS: Paralelismo:  Incremento de multiprocesadores.  Extensión de lenguajes paralelos.  Computación distribuida: Incremento de redes de ordenadores conectados.  Sistemas tolerantes a fallos.  Interfaces de usuario más amigables:  Desarrollo de interfaces gráficas.  Incorporación de multimedia a las interfaces.  Reconocimiento del habla.  Inmersión en el entorno: realidad virtual 3D Sistemas abiertos: estandarización de sistemas para compatibilizar los distintos fabricantes a nivel de:  Comunicaciones de red.  Interfaces de usuario abiertas.  Aplicaciones abiertas (varias plataformas). Sistemas orientados a objeto: aplicación de técnicas de orientación a objetos a los sistemas operativos. Personalidades múltiples: en una misma máquina y un sistema operativo básico pueden existir diferentes SO. Micronúcleos. Fuente : https://www.infor.uva.es/~fjgonzalez/apuntes/Tema_1_Introduccion.pdf C. CONOCER LA ORGANIZACIÓN Y LOS COMPONENTES DE UN SO. D. ENTENDER LA RELACIÓN ENTRE EL SO Y EL HARDWARE. E. ENTENDER CÓMO EL SO ADMINISTRA EL HARDWARE, PROCESOS, MEMORIA Y ARCHIVOS. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS Rodrigo García Carmona Universidad San Pablo CEU Escuela Politécnica Superior OBJETIVOS Presentar el concepto de sistema operativo. Describir la funcionalidad implementada en un sistema operativo. Dar una visión general de la evolución de los sistemas operativos, justificando cuándo y por qué se introdujeron ciertas funciones. Entender los conceptos de llamada a sistema, servicio y programa Presentar la Shell o intérprete de órdenes como el ejemplo más importante de programa de sistema CONTENIDO Concepto de sistema operativo Funciones del sistema operativo Evolución de los sistemas operativos Llamadas a sistema Programas de sistema BIBLIOGRAFÍA W. Stallings / Sistemas Operativos Capítulo 2. A.S. Tanenbaum / Modern Operating Systems. Capítulos 1 y 3. 1) CONCEPTO DE SISTEMA OPERATIVO Capa de software que actúa entre las aplicaciones de usuario y el hardware del computador. Abreviada SO ( OS , Operating System en inglés). OBJETIVOS DE UN SISTEMA OPERATIVO Comodidad Facilitar a los usuarios el uso de la máquina, proporcionando un entorno cómodo para el desarrollo de programas y el acceso a sus recursos. oHace que un ordenador sea más sencillo de utilizar. Eficiencia: Fomentar que los recursos de un sistema se aprovechen de una manera más eficiente. oEs difícil conseguir que se cumplan comodidad y eficiencia a la vez. oLa arquitectura de los ordenadores y el SO se influyen mutuamente Capacidad de evolución: Permitir el desarrollo de nuevas funciones sin interferir en los servicios actuales. NIVELES EN UN ORDENADOR PARTES DE UN SISTEMA OPERATIVO Núcleo del SO: se carga al arrancar la máquina y se mantiene siempre en memoria. Procesos de usuario: aplicaciones hechas por desarrolladores que se ejecutan sobre el SO. Solicitan los servicios del SO invocando llamadas a sistema Llamadas al sistema: conjunto de servicios que el SO ofrece a los procesos de usuario. Aplicaciones de sistema: utilidades del SO que se ejecutan como procesos de usuario: oEditores, compiladores y montadores oSistema de ventanas, aplicaciones para omanipulación de ficheros. oAplicaciones de acceso a la red. MODOS DE EJECUCIÓN Los procesadores actuales tienen como mínimo dos modos de funcionamiento modos de ejecución: - Supervisor o privilegiado: En este modo es posible acceder a todo el juego de instrucciones del procesador. Con ello se pueden utilizar todos los recursos, y realizar ciertas acciones tales como programar los controladores de dispositivo, atender interrupciones, programar la unidad de gestión de memoria, etc. - Usuario: En este modo no se pueden utilizar las instrucciones del procesador relacionadas con la entrada/salida, la gestión del modo de ejecución, la gestión de memoria o cualquier instrucción privilegiada. En el modo supervisor únicamente se ejecuta el sistema operativo. Por tanto es el único que tiene control y acceso a todos los recursos de un equipo. En el modo usuario se ejecutarán todos los demás programas. Para utilizar los recursos no accesibles en modo usuario (aquellos que requieran instrucciones privilegiadas), se deberán realizar llamadas al sistema 2) FUNCIONES DEL SISTEMA OPERATIVO Funciones que lleva a cabo un sistema operativo: - Gestión de procesos. - Gestión de memoria. - Gestión del sistema de ficheros. - Gestión de dispositivos de entrada/salida. - Gestión de la red. - Protección. Cada una de ellas viene caracterizada por una serie de abstracciones que se han desarrollado para resolver los obstáculos de los problemas prácticos. PROGRAMAS Y PROCESOS Es importante diferenciar entre: Programa: secuencia de instrucciones. Ente pasivo. Se almacena en ficheros. “Lo que se escribe” Proceso: ejecución de un programa. Ente activo. Se encuentra en memoria. “Lo que se ejecuta” GESTIÓN DE PROCESOS Problemática asociada a los procesos: - Ejecución concurrente:  Simular la ejecución en paralelo de programas.  Sólo se dispone de un único procesador.  Es necesario repartir el tiempo de procesador entre los procesos. - Planificación de procesos: Determinar cómo se reparte el tiempo de procesador. Dar prioridad a quién la merece. Funciones para la gestión de procesos: oCreación y eliminación de procesos. oComunicación y sincronización de procesos PROCESOS Y MEMORIA Memoria: - Espacio para almacenamiento temporal. - Volátil. Todo proceso necesita memoria: - La que ocupan sus datos. - ¡La que ocupa él - La memoria va unida a los - procesos que la usan No hay espacio en la memoria para todos los procesos. GESTIÓN DE MEMORIA Problemática asociada a la memoria - Aislamiento del proceso: cada proceso debe tener una zona de memoria independiente que no puede ser interferida por otros procesos. - Asignación de la memoria: controlar las zonas de memoria libre y ocupada y la zona de memoria asignada a cada proceso. - Memoria virtual: permite a los procesos ver y ocupar una memoria que “no existe”. Crea la ilusión de una memoria más grande. Funciones para la gestión de la memoria: - Transparencia frente al programador: la asignación y la liberación se llevan a cabo automáticamente con la creación y eliminación de procesos. - Particionamiento de la memoria. - Compartición entre procesos. GESTIÓN DEL SISTEMA DE FICHEROS Fichero: Abstracción para almacenar y organizar información persistente - Organización en forma lógica. - Con vida más allá de un proceso. Problemática asociada a los ficheros - Organización del sistema de ficheros: directorios. - Asignación de espacio: asignar espacio en disco a la información de manera no necesariamente contigua. - Gestión de espacio: del espacio libre y ocupado en disco. - Gestión del acceso compartido. Funciones para la gestión de ficheros: - Operaciones sobre ficheros y directorios: creación, eliminación, lectura, escritura. copia, - Manejo de hardware de almacenamiento. GESTIÓN DE DISPOSITIVOS DE ENTRADA/SALIDA Dispositivos de entrada/salida (E/S) o input/output (I/ - Introducen/reciben información de un ordenador. - Enorme diversidad. Es necesario proporcionar una interfaz de “alto nivel” - Sencilla de utilizar. - Uniforme. - Abstraída de las peculiaridades del dispositivo Problemática asociada a la gestión de dispositivos de E/S: - Desarrollo de controladores drivers  Ocultan la complejidad del hardware.  Interfaz uniforme. Funciones para la gestión de dispositivos de E/S: - Uso de los dispositivos: proporcionar acceso exclusivo, spooling, buffering GESTIÓN DE LA RED Es raro el ordenador no enlazado a ninguna red. Comprende varios niveles: - Drivers de las tarjetas de red:  Igual que en la gestión de dispositivos de E/S  Ethernet, WiFi, Modem. - Protocolos de comunicación:  Controlan el acceso a la red.  Proporcionan una API para la comunicación entre procesos remotos  TCP/IP, NetBios. - Aplicaciones para el uso de la red:  Programas de aplicación.  Construidos sobre la API de comunicación.  Acceso a recursos remotos.  WWW, BitTorrent , Streaming de video. PROTECCIÓN Se superpone a todas las funciones anteriores. Mecanismo para permitir/denegar/controlar el uso de un recurso. Problemática asociada a la protección: - Diseño de un modelo y una política de protección para definir qué accesos son legales y cuáles son ilegales. - Implementación de un mecanismo ejecutivo que vigile el cumplimiento de las reglas de protección definidas. - Seguridad: mecanismo para garantizar la privacidad y estado de la información frente a ataques intencionados. Funciones de protección: oFunciones para definir propietarios de recursos o niveles de protección oCapacidad para hacer cumplir (enforce) la protección establecida. 3) EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS HISTORIA DE LOS SISTEMAS OPERATIVOS SISTEMAS UNIX Miniordenadores: máquinas de arquitectura más sencilla que los mainframes pero con mayor potencia de cálculo y menos usuarios. PDP - 1, …, PDP - 7, …, PDP - 11 Objetivos: - Adaptar los sistemas de tiempo compartido MULTICS a miniordenadores. - Utilización de lenguajes de alto nivel para el diseño y desarrollo de SO. Aportaciones de Unix: - Diseño sencillo y potente con dos únicas abstracciones: proceso y fichero. - Introduce el modelo de sistema de ficheros actual. - Introduce un potente intérprete de órdenes. - Entorno de programación muy completo. - Base para el desarrollo de la primera red de computadores y TCP/IP. - Introduce el concepto de sistema abierto EVOLUCIÓN DE LOS SISTEMAS UNIX TENDENCIAS ACTUALES Sistemas operativos en red: - Permiten el acceso a recursos remotos. - Proporcionan protocolos de comunicación y gran variedad de aplicaciones para acceso a la red. Sistemas distribuidos: - Permiten el acceso a recursos remotos de manera transparente (obviando el hecho de la distribución). - Proporcionan entornos de programación distribuida y acceso transparente a bases de datos remotas. Sistemas multimedia: - Sistemas que incorporan interfaces audiovisuales. - Desarrollo de nuevas interfaces usuario máquina. - Desarrollo de protocolos de transmisión en tiempo real. Sistemas empotrados: - En dispositivos que no tienen interacción con el usuario. - En algunos casos son de tiempo real. - De propósito específico. 4) LLAMADAS A SISTEMA Conjunto de servicios básicos que proporciona el sistema operativo. Definen la interfaz entre un proceso y el sistema operativo Permiten al SO supervisar las operaciones “peligrosas”. El SO es el único que puede funcionar en modo supervisor. Las llamadas a sistema se proporcionan como funciones de biblioteca de lenguajes de programación. 5) PROGRAMAS DE SISTEMA No son, estrictamente hablando, parte del sistema operativo. Utilidades del sistema operativo que se ejecutan como procesos de usuario y proporcionan un entorno más cómodo. Como cualquier otro programa, realizan llamadas al sistema. Para acceder a las funciones del sistema operativo. Clasificación (ejemplos de UNIX) - Intérpretes de órdenes: sh , ksh , bash ,… - Tratamiento de ficheros y directorios: mkdir , cp , mv, ls , - Filtros: sort , grep, head, tail , - Comunicaciones mail, ftp, rlogin , - Sistema de ventanas: X11 INTÉRPRETE DE ÓRDENES En inglés shell Interfaz primaria entre el usuario y el sistema operativo. Lee de su entrada estándar una orden introducida por un usuario, la analiza y la ejecuta. Suele ser un programa que se ejecuta como un proceso de usuario. Ejemplos: bash o tsch de Unix, command.com de MS DOS Dos tipos de órdenes: - Órdenes externas:  El intérprete de órdenes crea un proceso para ejecutar la orden.  La orden es cualquier fichero ejecutable.  Ejemplo: cp origen destino - Órdenes internas:  El intérprete de órdenes ejecuta él mismo la orden.  Su código contempla las acciones necesarias para ejecutarla.  Ejemplo: cd Fuente: https://repositorioinstitucional.ceu.es/bitstream/10637/9342/1/SOS-1- Introduccion_RGarciaCarmona_2014.pdf F. SISTEMAS OPERATIVOS-AUTOR SANTIAGO FELICI / FUNDAMENTOS DE TELEMÁTICA (INGENIERÍA TELEMÁTICA) SISTEMAS OPERATIVOS 1. DEFINICIÓN DE SISTEMA OPERATIVO ¿QUÉ ES UN SISTEMA OPERATIVO? Un Sistema Operativo (SO) es un software que proporciona un acceso sencillo y seguro al soporte físico del ordenador (hardware), ocultando al usuario detalles de la implementación particular y creando la ilusión de existencia de recursos ilimitados (o abundantes). Máquina Virtual. Otra definición, es el de un programa que actúa como intermediario entre el usuario de la computadora y el hardware de la computadora. Objetivos del Sistema Operativo Ejecutar programas del usuario y resolver los problemas del usuario de manera fácil y sencilla. Hace que la computadora sea fácil y conveniente de usar. Utiliza el hardware de la computadora de forma eficiente 2. PARTES DE UN SISTEMA OPERATIVO 1. Manejo de Procesos (programa en ejecución: ejecutable, datos, pila, contador, registros...) Tareas de las que el SO es responsable: Creación y terminación de processos Asignación/actualización/liberación de recursos Suspensión y reinicio Sincronización entre processos Comunicación entre processos Solución de “trampas” y bloqueos 2. Manejo de Memoria. “Almacén” (array) de datos direccionables (y por lo tanto accesibles) por la CPU y algunos dispositivos de E/S (DMA). Tareas de las que el SO es responsable. “inventario” del uso de memoria selección de procesos a cargar en memoria reserva/liberacion de memoria conversión de direcciones virtuales protección de memoria 3. Manejo de Ficheros. La función del SO es abstraer las propiedades físicas del dispositivo de almacenamiento, proporcionando una unidad lógica de almacenamiento. Tareas de las que el SO es responsable. creación y eliminación de ficheiros creación y eliminación de directorios proporcionar primitivas para la modificación de ficheiros asignar/manejar permisos de acceso a ficheiros realización de copias de seguridade 4. Manejo de Dispositivos de Entrada/Salida. La función del SO es abstraer las propiedades físicas del dispositivo de Entrada/Salida, así como coordinar el acceso a los mismos de múltiples procesos. Tareas específicas: manejo de memoria para acceso directo, buffering y acceso a memoria “cache” Proporcionar la interfaz entre el usuario y el dispositivo Proporcionar la interfaz entre el sistema y el dispositivo 5. Manejo de Redes. La función del SO es proporcionar una interfaz de acceso a dispositivos remotos, conectados a través de líneas de comunicación. 6. Intérprete de Comandos. Proporciona la interfaz entre el usuario y el sistema operativo. (Shell). Varía en complejidad de sistema a sistema, desde los más simples por línea de comando a complejos sistemas gráficos basados en ventanas (WindowsNT, LINUX KDE, Solaris CDE,...). 3. SERVICIOS PROPORCIONADOS: CARGA DE PROGRAMAS 1. Ejecución de Programas (programa en ejecución: ejecutable, datos, pila, contador, registros...) 2. Operaciones de E/S 3. Manipulación de ficheros 4. Comunicaciones 5. Detección de errores 6. Asignación de recursos 7. Contabilidad 8. Protección Carga y ejecución de Programas - Multiusuario: Permite a dos o más usuarios ejecutar programas al mismo tiempo. Algunos sistemas operativos permiten cientos o hasta miles de usuarios concurrentes. Todos los Mainframes y minicomputadores son multiusuario, a diferencia de la mayoría de los computadores personales. Otro término para multiusuario es tiempo compartido. - Multiproceso: Soporta la ejecución de un programa en más de un CPU. - Multimódulo: Permite que diferentes partes de un programa se ejecuten concurrentemente. - De tiempo real: Responde instantáneamente a las entradas. Los sistemas operativos de propósito general, tales como DOS y UNIX no son de tiempo real. - Los términos multitarea y multiproceso suelen usarse indistintamente, aunque el segundo implica que hay más de un CPU involucrado. 4. ARQUITECTURA CLIENTE-SERVIDOR Modelo o arquitectura Cliente-Servidor Para que la comunicación entre dos aplicaciones en una red se lleve a cabo, uno de los programas de aplicación debe estar esperando por requerimientos por parte del programa llamador, también llamado cliente. Este modelo, un programa espera pasivamente y el otro inicia la comunicación. Se conoce como el paradigma de interacción cliente servidor. La aplicación que espera pasivamente es llamada SERVIDOR y la que inicia el contacto es llamada CLIENTE. CARACTERÍSTICAS DE LOS CLIENTES Y SERVIDORES Cliente: - Es una aplicación normal que actúa como cliente cuando se requiere acceso remoto. - Es invocado directamente por el usuario y tiene una existencia dada por la duración de la sesión del usuario. - Corre localmente en el computador del usuario. - Inicia activamente el contacto con un servidor. - Ejemplo: cliente web o navegador, cliente de correo o agente de usuario de correo, cliente DNS o resolvedor de nombres. Servidor: - Corre en un computador compartido. - Espera pasivamente ser contactado por clientes remotos. - Acepta ser contactado por clientes diversos clientes, pero ofrece un servicio bien definido. - Ejemplo: servidor Web, servidor de correo, servidor de nombres, 5. ALGUNOS CONCEPTOS a) PnP (Plug and Play): es una tecnología para soportar la instalación de dispositivos, que pueden usarse inmediatamente después de conectarlos físicamente, sin procesos adicionales. La capacidad PnP viene integrada en los sistemas operativos Mac OS, Windows 95 y posteriores, pero para usarlo, el BIOS del computador, así como las tarjetas de expansión deben también tener soporte para PnP. b) Kernel: es el módulo central del sistema operativo. Es la parte que se carga primero y permanece en memoria principal. Debido a esto, es importante que el kernel sea lo más pequeño posible, pero provea todos los servicios esenciales que requieren las otras partes del sistema operativo y las aplicaciones. Normalmente, el kernel es responsable por la administración de la memoria, los procesos, las tareas y los discos. c) Driver: es un programa de bajo nivel encargado de atender a un dispositivo físico, ejecutado como resultado de invocación desde el sistema operativo. d) Paquetes de Software: son combinaciones de diferentes programas que forman parte de una oferta comercial. Por ejemplo, Microsoft Windows viene “empaquetado” com muchas herramientas de software. e) Archivo ejecutable (código objeto): Es un archivo cuyo contenido tiene un formato que el computador puede ejecutar directamente. A diferencia de los archivos o códigos fuente, los ejecutables no pueden ser leídos por las personas. Para transformar el código fuente programa con las instrucciones) en código ejecutable, se necesita pasarlo a través de un programa compilador o ensamblador. f) Código Abierto: Es una certificación estándar generada por la Open Source Initiative (OSI), indica que el código abierto de un programa de computación está disponible para el público en general, libre de cargo g) Software Propietario: Se refiere a los programas que pertenecen y son controlados por alguien. En la industria de la computación, propietario es lo opuesto de abierto. Un diseño o técnica propietaria es la que pertenece a una empresa y esto implica que no se han divulgado especificaciones, que podrían permitir que otras compañías duplicaran el producto. h) Licencia de software: Permiso que se le otorga a un individuo o grupo, para el uso de una pieza de software. Casi todas las aplicaciones trabajan bajo la modalidad de darle una licencia al usuario, en lugar de venderle el programa. Existe una amplia gama de tipos de licencias de software. Algunas se basan en el número de máquinas en las que se ejecutará el programa y otras en el número de usuarios que lo pueden utilizar. i) Piratería de software: Es la copia no autorizada de software. Los usuarios incurren en este delito, cuando copian programas y los distribuyen entre sus amigos y colegas, sin costo alguno. j) Software de dominio público: Se refiere a cualquier programa que no está sujeto a Derechos de Autor. Este software es gratuito y se puede usar sin restricciones. Este término se usa a veces equivocadamente para incluir freeware y shareware. El error radica en que estos últimos sí están sujetos a Derechos de Autor. k) Freeware: Software protegido por Derechos de Autor, pero liberado por el autor para su uso gratuito. Aunque está disponible sin costo, el autor retiene su derecho, lo que significa que el usuario no puede hacer con ese software, nada que no esté expresamente permitido por el autor. Generalmente, se permite el uso, pero no la venta. l) Shareware : Software que se distribuye sobre las bases de un sistema de ética. La mayoría del shareware se distribuye libre de cargo, pero el autor generalmente solicita que se pague una pequeña tarifa en caso de que al usuario le guste el programa y lo use con regularidad. m) Al cancelar esa tarifa, el usuario queda registrado con el productor y puede recibir asistencia y actualizaciones. El shareware está sujeto a Derechos de Autor. Esto significa que no podemos vender un producto shareware como nuestro, a menos que lo sea. n) Courseware : Software diseñado para usarse en un programaeducativo. o) Firmware : Es software (programas o datos) que se han escrito en la memoria ROM. El firmware es una combinación de hardware y software. Las memorias ROM, PROM y EPROM que tienen datos o programas grabados, son firmware 6. ALGUNOS SISTEMAS OPERATIVOS UNIX  UNIX comienza en 1969, con Ken Thompson y Dennis Ritchie.  Es el más antiguo de los S.O. para computadoras personales  Es multiusuario, multiprocesador, multitarea, soporta redes  En la mayoría de sus versiones, usa interfaz de línea de comando. Sin embargo, actualmente la mayoría utilizan interfaz gráfica LINUX  Es una versión de UNIX. Se puede obtener a un muy bajo costo o incluso gratis  Está basado en 32 bits y tiene todas las capacidades de UNIX  Multitarea, multiusuario, soporta redes, multiplataforma  Se puede utilizar en cualquier tipo de computador, ya que demanda pocos recursos (trabaja muy bien hasta en equipos 386) DOS  Creado en 1981 por IBM computers. DOS fue el S.O. adoptado inicialmente por la mayoría de los computadores personales  No soporta multitarea, ni multiprocesamiento  Usa interfaz de línea de comandos  Es relativamente fiable y estable VENTAJAS DOS  Amplio uso  Número de Aplicaciones generadas bajo DOS.  Funcionamiento sobre Hardware de bajo costo  Utilizado en Windows 95, Windows 98 or Windows NT DESVENTAJAS DOS  Almacenamiento Primario Limitado.  Tareas Únicas.  Interfaz basado en caracteres. OS/2 Warp  Fue el primer S.O. realmente gráfico, para computadoras personales que utilizan procesadores Intel  Es multitarea, multiusuario y soporta redes  Fue el primer S.O. para computadores personales, con capacidades de reconocimiento de voz integradas. WINDOWS 3.x  Esta familia incluye Windows 3.0, 3.1 y 3.11  No es un Sistema Operativo, es un ambiente operativo que se ejecuta sobre DOS, que es el verdadero S.O.  Su aparición trajo la interfaz gráfica (GUI) al mundo de las computadoras personales que utilizaban DOS WINDOWS NT  Fue creado inicialmente para sustituir el DOS en los PC, pero requería muchos recursos (memoria y disco) para la mayoría de los equipos de la época.  Es multitarea, multiprocesador, multiusuario y soporta redes.  Viene en dos versiones: Workstation y Server  Es muy poderoso y resistente a fallos WINDOWS 95 y 98  Windows 95 fue el primer S.O. de interfaz gráfica de 32 bits de Microsoft  Es multitarea, y puede ejecutar programas de DOS y Windows 3.x  Windows 98 incluye capacidades para Internet, una interfaz gráfica mejorada y mayor eficiencia en el manejo de archivos WINDOWS 2000  Tiene todas las bondades gráficas de la versión 98, más todo el poder, estabilidad, manejo de redes y archivos de Windows NT  Existen varias versiones dependiendo de las características del usuario  Multitarea, multiusuario WINDOWS XP  Combina las mejores características de sus sistemas operativos de consumo con la eficacia, seguridad y fiabilidad del motor de Windows 2000 para crear un sistema operativo más seguro y fácil de utilizar.  XP no es más que la abreviatura de 'eXPerience'.  Multitarea preferente, multiproceso simétrico, multiusuario, multimodo, de tiempo real.  Acceso a internet. MAC/OS X  Fue el primer Sistema Operativo WIMP (Windows, Icons, Menus, Pointer).  Ofreció a los usuarios la primera interfaz verdaderamente gráfica.  Todas las aplicaciones bajo MAC/OS tienen la misma apariencia (look and feel)  Multitarea preferente, multiproceso simétrico, multiusuario, multimodo, de tiempo real  Acceso a internet  Basado en Unix, es estable  Compatible con Windows Fuente: http://informatica.uv.es/it3guia/FT/cap5-ssoo-ft.pdf G. GCF LIBRE - CURSO DE INFORMÁTICA BÁSICA: ¿Qué es un Sistema Operativo? Un sistema operativo es el software o programa más importante que se ejecuta en un computador, nos permite usarlo y darle órdenes para que haga lo que necesitamos. Ver video https://youtu.be/7ZI5KbY8n-w ¿Por qué es importante un sistema operativo? Son importantes, porque te permiten interactuar y darle órdenes al computador. Sin un sistema operativo el computador es inútil. Sin el sistema operativo, no tendrías la plataforma que soporta los programas que te permiten hacer cartas, escuchar música, navegar por internet o enviar un correo electrónico. ¿Qué hace el sistema operativo? Administra los recursos del computador, es decir, el software y hardware de tu equipo. Es la estructura que soporta y maneja todos los programas y partes de tu computador. Cuando oprimes el botón de encendido de tu computador el realiza pruebas para asegurarse de que todo funciona correctamente, comprueba sus componentes físicos o hardware y da inicio al sistema operativo. Sistemas operativos para el computador El sistema operativo ya viene instalado en el computador y la mayoría de las personas no hace modificaciones en él. Sin embargo, es posible actualizarlo o cambiarlo. Todos los sistemas operativos utilizan una interfaz gráfica de usuario. Es decir, aquello que le permite te permite utilizar el ratón para hacer clic sobre los íconos, botones o interactuar con cualquier otro elemento para ejecutar acciones o tareas. Así es como le ordenamos al computador lo que debe hacer. Los sistemas operativos más comunes que existen para los computadores o los que te van a ofrecer en el mercado cuando estés buscando un equipo son: Microsoft Windows, Mac OS X y Linux. Microsoft Windows Fue desarrollado en la década de los ochenta. Sus versiones más recientes son Windows 10; Windows 8, creado en el año 2012; Windows 7, en el 2009; y Windows Vista, creada en el 2007. Windows viene preinstalado en la mayoría de los computadores nuevos, esto lo ubica como el sistema operativo más popular. Mac OS X Es el sistema operativo creado por Apple Inc. y viene instalado en todos sus computadores. Todas las versiones recientes son conocidas como MacOS X y los nombres específicos de cada una de estas son: Mavericks, lanzada en 2013; Mountain Lion, en el 2012; Lion, en el 2011 y Snow Leopard que fue creada en el 2009. Apple también ofrece una versión llamada MacOS X Server que está diseñado para ejecutarse en los servidores. Linux Ubuntu Es un sistema operativo de código abierto, esto significa que puede ser modificado y distribuido por cualquier persona alrededor del mundo. Esta es una de sus ventajas, ya que no tienes que pagar por él y puedes elegir entre las diferentes versiones que existen. En los computadores para el hogar, Linux, a pesar de ser gratuito, es muy poco usado, pero la mayoría de servidores, en las empresas, usan Linux porque es fácil de personalizar. Las versiones más populares son Ubuntu, Debian, Linux Mint y Fedora; busca una que se adapte a tus gustos y necesidades. Fuente: https://edu.gcfglobal.org/es/informatica-basica/que-es-un-sistema- operativo/1/ QUÉ ES SOFTWARE Y QUÉ ES HARDWARE: Los dispositivos tecnológicos como computadores o smartphones están compuestos por hardware y software. Hardware es el conjunto de componentes físicos de los que está hecho el equipo y software es el conjunto de programas o aplicaciones, instrucciones y reglas informáticas que hacen posible el funcionamiento del equipo. Ver video https://youtu.be/3F-kuNGlNco ¿Qué es el hardware? Es la parte que puedes ver y tocar de los dispositivos. Es decir, todos los componentes de su estructura física como pantallas y teclados. ¿Cuál es el software? Estos son los programas informáticos que hacen posible la ejecución de tareas específicas dentro de un computador. Por ejemplo, los sistemas operativos, aplicaciones, navegadores web, juegos o programas. Estas características siempre trabajan de la mano. Mientras el software aporta las operaciones, el hardware es el canal físico por el cual dichas funciones pueden realizarse. Aunque aún no tengamos idea de cómo evolucionen las cosas, esta combinación seguirá funcionando como la base del desarrollo tecnológico. Fuente : https://edu.gcfglobal.org/es/informatica-basica/que-es-hardware-y- software/1/  ¿QUÉ ES UN COMPUTADOR? Un computador es una máquina que está diseñada para facilitarnos la vida. En muchos países se le conoce como computadora u ordenador, pero todas estas palabras se refieren a lo mismo. Esta máquina electrónica nos permite desarrollar fácilmente múltiples tareas que ahora hacen parte de nuestra vida cotidiana, como elaborar cartas o una hoja de vida, hablar con personas de otros países, hacer presupuestos, jugar y hasta navegar en internet. Nuestro computador hace esto procesando datos para convertirlos en información útil para nosotros. Fuente : https://edu.gcfglobal.org/es/informatica-basica/que-es-un-computador/1/  DIFERENCIAS ENTRE UN PC Y UN MAC a) Los sistemas operativos más representativos son Windows y Mac OS X, de esta misma forma, puedes encontrar los tipos de computadores que los usan. b) Los computadores que usan el sistema operativo Windows reciben el nombre de PC, de la palabra en inglés personal computer, quesignifica computador personal. A los que usan el Mac OS X, se les llama Mac. c) Ambos equipos son completamente funcionales pero tienen un aspecto y características diferentes. Precio Aunque la diferencia de precios entre ellos se ha reducido con los años, el PC es más económico, aunque por rentabilidad y estabilidad otros optan por el Mac. Estabilidad Algunos PC son inestables, algunas veces se bloquean, hay que apagarlos y reiniciarlos. Esto es cada vez menos frecuente, pero muchas personas han perdido información a causa de esto. Los computadores Mac rara vez se traban o bloquean. Disponibilidad Los PC son vendidos por muchos distribuidores, lo que amplía sus posibilidades de personalización, precio, reparaciones y actualizaciones. Mientras que el Mac es exclusivo de la marca Apple y eso limita su disponibilidad. Software Esta es la característica más relevante que diferencia a estos computadores, ninguno es mejor que el otro, los sistemas operativos se manejan de formas diferentes, pero ambos son muy fáciles de aprender. Diseño El Mac tiene en el monitor todo lo que necesita para funcionar, la cámara, el micrófono y los parlantes, por lo tanto sólo tienes que conectar un cable, ya que el ratón y el teclado son inalámbricos. Fuente : https://edu.gcfglobal.org/es/informatica-basica/diferencias-entre-un-equipo- pc-y-un-mac/1/  SISTEMAS OPERATIVOS PARA MÓVILES Los sistemas operativos que hemos visto fueron hechos para computadores de escritorio o computadores portátiles, pero los dispositivos móviles como teléfonos, tabletas y reproductores de mp3 son muy diferentes, por eso sus sistemas operativos son más simples, orientados hacia la conectividad inalámbrica y a necesidades específicas. Algunos sistemas operativos móviles son: Google Android, Apple iOS y Windows Phone. Los sistemas operativos para dispositivos móviles suelen ser menos robustos que los diseñados para las computadoras de escritorio o portátiles. Es decir, que con un dispositivo móvil no puedes hacer todo lo que haces con un computador o un portátil. ¿Cuáles son los dispositivos móviles? Son pequeñas máquinas electrónicas que procesan datos como los computadores, algunas pueden conectarse a internet y tienen memoria limitada. Con los dispositivos móviles puedes hacer muchas cosas como ver películas, hablar con amigos, manejar tu agenda, jugar y mucho más. Dentro de los dispositivos móviles, están los teléfonos inteligentes y las tabletas. Fuente: https://edu.gcfglobal.org/es/informatica-basica/sistemas-operativos-para- dispositivos-moviles/1/  SISTEMAS OPERATIVOS: LA FAMILIA UNIX Windows de Microsoft y MacOS de Apple son quizás los sistemas operativos más conocidos. Pero no son los únicos. “Es un sistema Unix, lo conozco...” Si esta frase no te es familiar fue porque no viste Jurassic Park. Bueno, quizás sí la viste, pero estabas más concentrado en los dinosaurios que en el sistema informático que controlaba el parque. Unix es un sistema operativo que nace a principios de los años 70, creado principalmente por Dennis Ritchie y Ken Thompson. Sus características técnicas principales son su portabilidad, su capacidad multiusuario y multitarea, su eficiencia, su alta seguridad y su buen desempeño en tareas de red. Pero Unix, más que una marca, también es una filosofía, que tiene por principios el minimalismo y la modularidad: hacer programas que hagan una sola cosa bien hecha, y que al comunicarse entre sí, ejecuten tareas más complejas. Un sistema Unix puede dividirse en tres áreas básicas: el núcleo del sistema operativo, el intérprete de comandos y algunos programas utilitarios. Lo demás que necesitamos, como las aplicaciones de usuario o la interfaz gráfica, son paquetes adicionales. Por sus características técnicas y su filosofía abierta, existen diversos sistemas operativos que se conocen como derivados de Unix o sistemas de la familia Unix. Entre estos están FreeBSD y GNU/Linux; macOS también es un sistema Unix al igual que Android (derivado de Linux) e iOS (derivado de Mac OS X). GNU/LINUX A principios de los años 90, Linus Torvalds comenzó a escribir un sistema operativo que pudiera ejecutarse en un computador personal de la época. Al mismo tiempo, ya se desarrollaba otro proyecto con la intención de crear un sistema operativo tipo Unix gratuito: el proyecto GNU. Este proyecto tenía muchas herramientas listas, pero faltaba el núcleo del sistema. Fue cuestión de tiempo para que el núcleo Linux se distribuyera junto con las herramientas GNU, dando lugar a lo que hoy conocemos como GNU/Linux o simplemente Linux, un sistema operativo libre de la familia Unix. Lo que realmente marcó la diferencia y el éxito de este proyecto fue la licencia de uso. El proyecto GNU creó la licencia de software GPL, una licencia que garantiza libertades en el uso, modificación y colaboración respecto al software. Así que Linux y las herramientas de GNU son desarrolladas, revisadas, mejoradas y adaptadas por miles de usuarios y cientos de empresas alrededor del mundo. Además este conjunto está disponible sin costo y su código fuente es abierto. BSD Al mismo tiempo, a finales de los años 70, en la Universidad de California se desarrollaba un sistema Unix llamado BSD (por Berkeley Software Distribution). Por conflictos en licencias, al principio el sistema no tuvo mucha adopción, pero una vez superados estos inconvenientes se pudo lanzar la primera versión de FreeBSD en 1993. Actualmente, el equipo de FreeBSD desarrolla tanto el núcleo del sistema como las herramientas y la documentación, así que es un sistema muy ordenado y bien integrado. Su licencia de distribución también es de software libre, pero mucho más permisiva que la propia GPL, así que se puede encontrar código BSD en sistemas comerciales como macOS de Apple y en las consolas PlayStation 3 y PlayStation 4 de Sony. A diferencia de otros, con Unix tienes libertad para elegir cómo quieres que se vea tu sistema. LA PARTE GRÁFICA Como mencionamos anteriormente, un sistema Unix sólo incorpora el núcleo, las herramientas básicas y un intérprete de comandos. Este último es el programa que recibe instrucciones del usuario en forma de texto y las procesa, así que un sistema Unix estándar sólo presenta una terminal de letricas al mejor estilo del DOS de Microsoft en los años 80. Pero esto no quiere decir que un sistema Unix no pueda tener una interfaz gráfica. De hecho, ha tenido muchas. El componente principal del sistema gráfico en Unix es el servidor X, desarrollado en el MIT en los años 80. Este permite a las aplicaciones en Unix acceder a la pantalla, el teclado y el ratón. Pero siguiendo su filosofía, es otro componente adicional el que presenta las ventanas y menús que conocemos: el gestor de ventanas. Funciones como mover, minimizar o cambiar el tamaño de una ventana son responsabilidad de este componente. Por otra parte, un ambiente de escritorio es otro componente que incluye un gestor de ventanas, explorador de archivos, reproductores multimedia, fondos de escritorio, protectores de pantalla y menús de aplicaciones, entre otras. Existen varios entornos de escritorio, entre los primeros que existieron están TWM y CDE. Luego aparecieron unos más modernos como Gnome y KDE y actualmente contamos con MATE y Unity. De este último es la imagen que ves a continuación. ¡Manos a la obra! Hasta aquí hemos presentado algo de historia y conceptos, es el momento de pasar a la práctica. Puedes instalar un sistema Unix de varias formas, la primera y menos aconsejable es instalarlo junto a tu sistema operativo actual. La segunda es instalarlo a través de máquinas virtuales, como VirtualBox. Estas son aplicaciones que permiten usar un sistema operativo adicional como si fuera una aplicación más en tu sistema. La tercera opción es utilizar un computador que ya no uses, podría ser útil de nuevo con un sistema Ubuntu, por ejemplo. Fuente : https://edu.gcfglobal.org/es/informatica-basica/sistemas-operativos-la- familia-unix/1/  DIFERENCIAS ENTRE MACOS Y WINDOWS Todos los sistemas operativos utilizan la interfaz gráfica de usuario, esta interfaz es la que le permite al usuario interactuar con el computador por medio del ratón haciendo clic en los íconos, botones, menús y todo contenido gráfico y textual que se muestra en la pantalla. Ver video https://youtu.be/FeUqvpjoGKs En cada sistema operativo la interfaz gráfica de usuario cambia en cuanto a su aspecto y la forma de ejecución de sus funciones. Todas son fáciles de usar y sus características son similares. Fuente : https://edu.gcfglobal.org/es/informatica-basica/diferencias-entre-mac-os-x- y-windows/1/ I. Bibliografía complementaria: - Operating Systems: Internals and Design Principles. Autor: STALLINGS W. Editora: Pearson Education. 8ª Edição; Curso CISCO SO Y TI https://www.netacad.com/es/courses/os-it 2. REDES TCP/IP A. Conocer el modelo de referencia OSI y sus capas. B. Conocer el modelo de arquitectura de red TCP/IP y sus capas. https://www.mheducation.es/bcv/guide/capitulo/8448199766.pdf C. Conocer los protocolos más comunes utilizados en las capas de interfaz de red, red, transporte y aplicación del modelo TCP/IP. https://www.uv.mx/personal/angelperez/files/2019/02/CCNA_ITN_Chp3.pdf ¿QUÉ ES TCP/IP Y CÓMO FUNCIONA? Como sucede con las personas, es importante que los equipos tengan un modo común de comunicarse entre ellos. Para la mayoría de los equipos actuales, este modo es TCP/IP. TCP/IP suele venir integrado en los equipos y está automatizado en buena medida, aunque puede ser útil comprender el modelo TCP/IP, en especial si va a configurar un equipo para conectarlo a otrosistema. Este artículo explica cómo funciona TCP/IP. ¿Qué significa TCP/IP? TCP/IP son las siglas de Transmission Control Protocol/Internet Protocol (Protocolo de control de transmisión/Protocolo de Internet). TCP/IP es un conjunto de reglas estandarizadas que permiten a los equipos comunicarse en una red como Internet. Por sí mismo, un equipo puede realizar determinadas tareas. Pero su potencia se multiplica cuando es capaz de comunicarse con otros. Muchas de las cosas para las que utilizamos los equipos (enviar mensajes de correo electrónico, ver Netflix u obtener indicaciones para llegar a un sitio) dependen de la comunicación entre ellos. Pueden ser equipos de distintas marcas o incluso encontrarse en zonas del mundo diferentes. Y las personas y programas que los utilizan pueden hablar distintos lenguajes humanos e informáticos. Una interacción determinada puede darse entre dos sistemas informáticos o involucrar cientos de sistemas. Sin embargo, como sucede al pasar una carta o un paquete de mano en mano, cada transacción se produce entre solo dos equipos cada vez. Para que esto suceda, los dos equipos deben saber, por adelantado, cómo se espera que se comuniquen. ¿Cómo inician la conversación? ¿A quién le toca comunicarse? ¿Cómo sabe un equipo si su mensaje se ha transmitido correctamente? ¿Cómo terminan la conversación? Los equipos lo resuelven mediante protocolos. Un protocolo es un conjunto de reglas convenido. En términos humanos, utilizamos protocolos sociales para saber cómo comportarnos y comunicarnos con otras personas. Las tecnologías tienen su propia forma de establecer reglas de comunicación, como el telégrafo cuando empleaba el código Morse o una radio CB en la que se utilizan códigos como “10-4”. Con los equipos sucede lo mismo, aunque las reglas son más estrictas. Cuando todos los equipos emplean el mismo protocolo, es posible transferir información. Cuando no es así, cunde el caos. La comunicación era más complicada cuando la gente comenzaba a intercambiar información entre equipos. Cada fabricante tenía un sistema de comunicación propio entre sus máquinas, pero dichos sistemas no permitían la comunicación con los equipos de los demás fabricantes. Pronto quedó claro que era necesario un estándar convenido que permitiera a los equipos de todos los fabricantes comunicarse entre ellos. Ese estándar es TCP/IP. ¿En qué se diferencian TCP e IP? TCP e IP son dos protocolos distintos para redes informáticas. IP es la parte que obtiene la dirección a la que se envían los datos. TCP se encarga de la entrega de los datos una vez hallada dicha dirección IP. Es posible separarlos, pero lo cierto es que no tiene mucho sentido diferenciar entre TCP e IP. Como se usan juntos tan habitualmente, “TCP/IP” y “modelo TCP/IP” son ya terminología reconocida. Mírelo de esta forma: La dirección IP es como el número de teléfono que se asigna a su smartphone. TCP es toda la tecnología que hace que el teléfono emita un timbre al recibir una llamada y que le permite hablar con alguien al otro lado de la línea. Son cosas diferentes, pero tampoco tienen sentido la una sin la otra. ¿Qué hace exactamente TCP/IP? ¿Y cómo funciona? TCP/IP fue desarrollado por el Departamento de Defensa de EE. UU. para especificar el modo en que los equipos transfieren datos de un dispositivo a otro. TCP/IP incide mucho en la precisión y dispone de varios pasos para garantizar la correcta transmisión de los datos entre ambos equipos. Este es uno de los mecanismos que emplea para ello. Si el sistema enviara un mensaje entero en una pieza y se encontrara cualquier problema, sería necesario enviar de nuevo el mensaje completo. Lo que hace TCP/IP es descomponer cada mensaje en paquetes que se vuelven a ensamblar en el otro extremo. De hecho, cada paquete podría tomar una ruta distinta hasta el equipo de destino si la ruta deja de estar disponible o está muy congestionada. Además, TCP/IP divide las distintas tareas de comunicación en capas. Cada capa tiene una función distinta. Los datos pasan por cuatro capas independientes antes de recibirse en el otro extremo (como se explica en la sección siguiente). A continuación, TCP/IP recorre estas capas en orden inverso para reensamblar los datos y presentárselos al destinatario. El propósito de las capas es crear un sistema estandarizado, sin que los distintos fabricantes de hardware y software tengan que gestionar la comunicación por su cuenta. Es como conducir un coche: todos los fabricantes convienen en la posición de los pedales, así que no tenemos que tener eso en cuenta al cambiar de coche. También significa que es posible actualizar determinadas capas, por ejemplo, para mejorar el rendimiento o la seguridad, sin tener que actualizar todo el sistema. Las cuatro capas del modelo TCP/IP TCP/IP es un protocolo de enlace de datos que se utiliza en Internet. Su modelo se divide en cuatro capas diferenciadas. Cuando se emplean juntas, es posible referirse a ellas como un paquete de protocolos. Capa de enlace de datos La capa de enlace de datos (también denominada capa de enlace, capa de interfaz de red o capa física) es la que maneja las partes físicas del envío y recepción de datos mediante el cable Ethernet, la red inalámbrica, la tarjeta de interfaz de red, el controlador del dispositivo en el equipo, etcétera. Capa de Internet La capa de Internet (también denominada capa de red) controla el movimiento de los paquetes alrededor de la red. Capa de transporte La capa de transporte es la que proporciona una conexión de datos fiable entre dos dispositivos. Divide los datos en paquetes, hace acuse de recibo de los paquetes que recibe del otro dispositivo y se asegura de que el otro dispositivo haga acuse de recibo de los paquetes que recibe a su vez. Capa de aplicaciones La capa de aplicaciones es el grupo de aplicaciones que requiere comunicación de red. Es con lo que el usuario suele interactuar, como el correo electrónico y la mensajería. Como la capa inferior gestiona los detalles de la comunicación, las aplicaciones no tienen que preocuparse por ello. ¿Mis paquetes de datos se mantienen privados? No. Cuando los paquetes se transmiten entre equipos, son vulnerables y otros pueden verlos. Esa es una de las razones por las que se aconseja evitar las redes Wi-Fi públicas para enviar datos que deban mantenerse privados, así como utilizar cifrado. Si esto es algo que le preocupa (por ejemplo, si va a enviar información de identificación personal o datos financieros), puede cifrar los datos empleando una red privada virtual (VPN). Una VPN es el mejor modo de asegurar el cifrado efectivo de los datos y la protección de los paquetes mientras viajan entre redes. Puede establecer una VPN de forma manual o, aún mejor, probar Avast SecureLine VPN de forma gratuita. ¿TCP/IP funciona con toda clase de direcciones IP? Hay varios tipos de direcciones IP. No obstante, todas ellas utilizan TCP/IP. Las diferencias entre los tipos de direcciones IP son transparentes para el usuario esporádico, y el hecho de que no necesite saber mucho al respecto es una de las ventajas de TCP/IP. Normalmente, estos asuntos los administra quien haya configurado el sistema operativo del equipo o el dispositivo móvil. En cualquier caso, a modo de aclaración: Las direcciones IP estáticas no cambian en ningún momento. Son como la dirección fija de su domicilio, un dato inalterable. Las direcciones IP dinámicas cambian, o al menos están diseñadas para cambiar. Cuando un sistema informático utiliza una dirección IP dinámica, anuncia “¡aquí es donde puedes encontrarme!” a la red local. Se puede asemejar a la “dirección” de una habitación de hotel, en la que la gerencia del mismo sabe que puede encontrarlo. Para saber más sobre esta distinción, consulte Direcciones IP estáticas frente a dinámicas. Tal vez haya oído hablar de ciudades en las que la población crece tan rápido que se han tenido que crear nuevos códigos de área para que los recién llegados puedan tener número de teléfono. Con el número siempre creciente de dispositivos conectados, TCP/IP ha tenido un problema similar. Básicamente, Internet se estaba quedando sin direcciones IP. Por eso se desarrolló una nueva versión de dirección IP denominada IPv6, una alternativa a las direcciones IPv4 existentes. De hecho, TCP/IP se incluye como estándar TCP/IP es el paquete de protocolos más utilizado en la web. Millones de personas lo emplean cada día, aunque no sean conscientes de ello. En la inmensa mayoría de los equipos, TCP/IP se integra como estándar. No tiene que hacer nada para configurarlo de manera manual. En ocasiones, tal vez tenga que decirle a una aplicación cuál es su dirección TCP/IP. En algunas circunstancias puede querer ocultar su dirección IP, normalmente por motivos de seguridad. ¿Cómo puedo saber cuál es mi dirección TCP/IP? Cada dispositivo tiene su propia dirección TCP/IP. Por lo general, el dispositivo puede comunicarse automáticamente, pero a veces es necesario proporcionar su dirección TCP/IP de forma manual. El modo de encontrar su dirección IP depende del sistema operativo. Cifre sus paquetes con una VPN Proteger su dirección IP es importante. Es como el número de teléfono. No es necesario ocultárselo a todo el mundo, pero tampoco conviene irproclamándolo en público. Avast SecureLine VPN mantiene privada su dirección IP y cifra los datos cuando se transmiten, lo que proporciona una capa extra de seguridad. Entender la interacción entre protocolos de capas adyacentes. Conocer el básico de direccionamiento IPv4. Fuente: https://www.avast.com/es-es/c-what-is-tcp-ip  Bibliografía complementaria:  LOBATO, L. C. e ELIAS, G. Arquitectura e protocolos de rede TCP-IP. Disponível em: http://pt.scribd.com/doc/83505510/Arquitetura-e-protocolos-de-rede-TCP-IP. Curso Cisco Redes https://www.netacad.com/courses/networking 3. VIRTUALIZACIÓN Saber instalar y utilizar diferentes versiones de los sistemas operativos Microsoft Windows y Linux en una máquina virtual bajo el hipervisor VMware Workstation Pro. Utilizar el hipervisor VMware para gestionar máquinas virtuales (VMs): snapshots, clonaje, importación y exportación de máquinas virtuales, configuración de parámetros de procesadores, memoria, discos, redes, exhibición y dispositivos virtuales. Pasar el control de dispositivos físicos para la máquina virtual. VIRTUALIZACIÓN ¿En qué consiste la virtualización? La virtualización consiste en crear una representación basada en software, o virtual, de una entidad física como, por ejemplo, aplicaciones, servidores, redes y almacenamiento virtuales. Es la forma más eficaz de reducir los gastos de TI y, a la vez, aumentar la eficiencia y la agilidad para empresas de cualquier tamaño. Ventajas de la virtualización La virtualización puede mejorar la agilidad, la flexibilidad y la escalabilidad de la infraestructura de TI, a la vez que permite disfrutar de unos ahorros importantes. Algunas ventajas de la virtualización, como la mayor movilidad de las cargas de trabajo, el aumento del rendimiento y de la disponibilidad de los recursos o la automatización de las operaciones, simplifican la gestión de la infraestructura de TI y permiten reducir los costes de propiedad y operativos. Otras ventajas son: Reducción de la inversión en capital y los gastos operativos Reducción o eliminación del tiempo de inactividad Aumento de la productividad, la eficiencia, la agilidad y la capacidad de respuesta del departamento de TI Distribución más rápida de las aplicaciones y recursos Mejora de la continuidad del negocio y de la capacidad de recuperación ante desastres Gestión simplificada del centro de datos Disponibilidad de un auténtico centro de datos definido por software ¿CÓMO FUNCIONA? Introducción a la virtualización Debido a las limitaciones de los servidores x86, muchas organizaciones de TI se ven obligadas a implementar múltiples servidores, que funcionan muy por debajo de su capacidad, a fin de responder a las necesidades actuales de almacenamiento y procesamiento. Esta situación genera una gran ineficiencia y unos costes operativos excesivos. Pásese a la virtualización. La virtualización utiliza el software para imitar las características del hardware y crear un sistema informático virtual. Esto permite a las organizaciones de TI ejecutar más de un sistema virtual, y múltiples sistemas operativos y aplicaciones, en un solo servidor. Entre las ventajas obtenidas, se incluyen las economías de escala y una mayor eficiencia. Definición de las máquinas virtuales Una máquina virtual es un sistema informático virtual, es decir, un contenedor de software bien aislado que incluye un sistema operativo y una aplicación. Cada máquina virtual autónoma es completamente independiente. Si se instalan varias máquinas virtuales en un mismo ordenador, es posible ejecutar varios sistemas operativos y aplicaciones en un solo servidor físico o «host». Una capa ligera de software, llamada «hipervisor», desvincula las máquinas virtuales del host y asigna recursos informáticos de forma dinámica a cada máquina virtual según las necesidades. PRINCIPALES CARACTERÍSTICAS DE LAS MÁQUINAS VIRTUALES Las máquinas virtuales tienen las siguientes características, que ofrecen varias ventajas. Creación de particiones Ejecute varios sistemas operativos en una sola máquina física. Distribuya los recursos del sistema entre las máquinas virtuales. Aislamiento Permita aislar la seguridad y los fallos en el nivel de hardware. Garantice el rendimiento gracias a los controles avanzados de recursos. Encapsulación Guarde el estado completo de una máquina virtual en archivos. Transfiera y copie máquinas virtuales con la misma facilidad que si fueran archivos. Independencia del hardware Suministre o migre cualquier máquina virtual a un servidor físico. TIPOS DE VIRTUALIZACIÓN Virtualización de servidores La virtualización de servidores permite ejecutar múltiples sistemas operativos en un solo servidor físico por medio de máquinas virtuales que ofrecen un elevado rendimiento. Entre las ventajas principales, se incluyen las siguientes: Mayor eficiencia del entorno de TI Reducción de los costes operativos Implementación más rápida de las cargas de trabajo Mejora del rendimiento de las aplicaciones Mayor disponibilidad del servidor Eliminación de la complejidad y la proliferación de servidores Virtualización de red Al reproducir una red física en su totalidad, la virtualización de red permite ejecutar las aplicaciones en una red virtual del mismo modo que en una red física, pero con mayores ventajas operativas y con toda la independencia del hardware que ofrece la virtualización. La virtualización de red muestra los dispositivos y servicios de red lógicos (puertos lógicos, conmutadores, enrutadores, cortafuegos, equilibradores de carga, VPN, etc.) a las cargas de trabajo vinculadas. Virtualización de escritorios Implementar los escritorios como un servicio gestionado permite a las organizaciones de TI responder más rápido a las necesidades cambiantes del entorno de trabajo y a las nuevas oportunidades. Los escritorios y las aplicaciones virtualizados también pueden distribuirse de forma rápida y sencilla a sucursales, empleados subcontratados o en otros países y trabajadores móviles que utilizan tabletas iPad y Android. La virtualización frente a la informática de cloud A pesar de ser tecnologías que suscitan el mismo interés, la virtualización y la informática de cloud no son intercambiables. La virtualización utiliza el software para separar los entornos informáticos de la infraestructura física, mientras que la informática de cloud es un servicio que proporciona recursos informáticos compartidos (software o datos) según las necesidades por medio de Internet. Como son soluciones complementarias, las organizaciones pueden comenzar por virtualizar sus servidores y luego adoptar la informática de cloud para lograr una mayor agilidad y capacidad de autoservicio. Configurar diferentes tipos de redes virtuales (puente, NAT y customizada) en el hipervisor VMware Workstation Pro, para empleo en diferentes escenarios. Fuente: https://www.vmware.com/latam/solutions/virtualization.html  Bibliografía complementaria:  ¿En qué consisten la tecnología de virtualización y las máquinas virtuales? VMware: https://www.vmware.com/latam/solutions/virtualization.html  ¿Qué es la virtualización? (redhat.com): FUNCIONES Y SEGURIDAD DE LA VIRTUALIZACIÓN ¿Qué es la virtualización? La virtualización es una tecnología que permite crear servicios de TI útiles mediante recursos que están ligados tradicionalmente al hardware. Además, distribuye sus funcionalidades entre diversos usuarios o entornos, lo que permite utilizar toda la capacidad de una máquina física. En términos prácticos, imagínese que tiene tres servidores físicos con propósitos específicos individuales. El primero es un servidor de correo, el segundo un servidor web y el tercero ejecuta aplicaciones heredadas internas. Cada servidor utiliza cerca del 30 % de su capacidad; es decir, solo una parte de su potencial de ejecución. Pero como las aplicaciones heredadas siguen siendo importantes para sus operaciones internas, tiene que conservarlas junto con el tercer servidor que las hospeda, ¿cierto? Normalmente, la respuesta es sí. Generalmente, era más fácil y confiable ejecutar tareas individuales en servidores individuales: un servidor, un sistema operativo y una tarea. No era sencillo asignar múltiples tareas a un servidor. Pero la virtualización permite dividir el servidor de correo en dos servidores únicos que pueden administrar tareas independientes, para poder migrar las aplicaciones heredadas. Se utiliza el mismo hardware, pero de manera más eficiente. Si pensamos en la seguridad, es posible volver a dividir el primer servidor para que administre otra tarea y aumentar su uso de un 30 % a un 60 %, y luego a un 90 %. Una vez realizada esta división, los servidores que quedan vacíos pueden volver a utilizarse para otras tareas o dejar de utilizarse por completo para reducir los costos de refrigeración y mantenimiento. UNA BREVE HISTORIA SOBRE LA VIRTUALIZACIÓN Aunque la tecnología de virtualización data de la década de los sesenta, comenzó a adoptarse más ampliamente a principios del año 2000. Las tecnologías que posibilitaron la virtualización, como los hipervisores, se desarrollaron hace décadas para que muchos usuarios pudieran acceder simultáneamente a las computadoras que efectuaban procesamientos por lotes. El procesamiento por lotes era un tipo de informática muy conocido en el sector comercial que ejecutaba tareas de rutina miles de veces y a gran velocidad (como las nóminas). Sin embargo, durante las décadas posteriores, ganaron popularidad otras soluciones que respondían al problema de tener una gran cantidad de usuarios y una sola máquina; lamentablemente, la virtualización no siguió los mismos pasos. Una de esas soluciones era el tiempo compartido, el cual aislaba a los usuarios de los sistemas operativos. Inadvertidamente, esta solución originó otros sistemas operativos como UNIX, que finalmente dio paso al surgimiento de Linux®. Entretanto, la virtualización siguió sin adoptarse ampliamente y se mantuvo como una tecnología de nicho. Ahora bien, avancemos a la década de los noventa. La mayoría de las empresas tenían servidores físicos y pilas de TI de un solo proveedor, lo cual nopermitía que las aplicaciones heredadas se ejecutaran en un hardware de otro proveedor. A medida que las empresas actualizaban sus entornos de TI con servidores básicos, sistemas operativos y aplicaciones menos costosos y de diferentes proveedores, el hardware físico se usaba de manera insuficiente y cada servidor podía ejecutar solo una tarea específica del proveedor. En este momento, la virtualización hizo un verdadero despegue. ó ser la solución natural para dos problemas: las empresas podían dividir los servidores y ejecutar aplicaciones heredadas en varios tipos y versiones de sistemas operativos. Los servidores se empezaron a utilizar más eficientemente (o quedaron directamente en desuso) y, en consecuencia, se redujeron los costos relacionados con las compras, la instalación, la refrigeración y el mantenimiento. La aplicación generalizada de la virtualización redujo la dependencia de un solo proveedor y la transformó en la base del cloud computing. Actualmente, es tan frecuente su uso en las empresas que se suele necesitar un sistema de software de administración de la virtualización especializado para poder realizar un seguimiento de todo. ¿CÓMO FUNCIONA LA VIRTUALIZACIÓN? El software denominado hipervisores separa los recursos físicos de los entornos virtuales, es decir, todo lo que necesitan los recursos. Los hipervisores pueden conformarse como elementos principales de un sistema operativo (como una computadora portátil) o se pueden instalar directamente en el hardware (como un servidor), que es la forma en que la mayoría de las empresas virtualizan. Los hipervisores toman los recursos físicos y los dividen de manera tal que los entornos virtuales puedan usarlos. Los recursos se dividen según las necesidades, desde el entorno físico hasta los numerosos entornos virtuales. Los usuarios interactúan con los cálculos y los ejecutan dentro del entorno virtual (generalmente denominado máquina de guest o máquina virtual). La máquina virtual funciona como un archivo de datos único. Al igual que con cualquier archivo digital, se puede mover de una computadora a otra, abrir en cualquiera de ellas y esperar que funcione de la misma manera. Cuando el entorno virtual se está ejecutando y un usuario o programa emite una instrucción que requiere recursos adicionales del entorno físico, el hipervisor transmite la solicitud al sistema físico y guarda los cambios en la caché. Todo esto sucede prácticamente a la misma velocidad que habría si este proceso se realizara dentro de la máquina física (en especial, si la solicitudse envía a través de un hipervisor open source basado en KVM, la máquina virtual basada en el kernel). TIPOS DE VIRTUALIZACIÓN H. Virtualización de los datos Los datos que se encuentran repartidos por todas partes se pueden consolidar en una fuente única. La virtualización de los datos permite que las empresas los traten como si fueran una cadena de suministro dinámica; de esta manera, se obtiene la capacidad de procesamiento que permitirá reunir los datos de varias fuentes, integrar otras fuentes nuevas con facilidad y transformar los datos en función de las necesidades de los usuarios. Las herramientas de virtualización de los datos se enfrentan a varias fuentes de datos y permiten tratarlas como una sola. De este modo, es posible proporcionar a cualquier aplicación o usuario los datos necesarios, en la forma requerida y en el momento justo. I. Virtualización de los escritorios La virtualización de los escritorios suele confundirse fácilmente con la virtualización de los sistemas operativos, que permite implementar varios sistemas operativos en una sola máquina. Sin embargo, con la virtualización de los escritorios, un administrador central (o una herramienta de administración automatizada) puede implementar entornos simulados de escritorio en cientos de máquinas físicas al mismo tiempo. A diferencia de los entornos de escritorio tradicionales que se instalan, configuran y actualizan físicamente en cada máquina, la virtualización de los escritorios permite que los administradores realicen ajustes de configuración, actualizaciones y controles de seguridad de forma masiva en todos los escritorios virtuales. J. Virtualización de los servidores Los servidores son computadoras diseñadas para procesar un gran volumen de tareas específicas de forma muy efectiva, para que otras computadoras, como las portátiles o de escritorio, puedan ejecutar otras tareas. La virtualización de un servidor le permite ejecutar más funciones específicas e implica dividirlo para que los elementos se puedan utilizar para realizar varias funciones. K. Virtualización del sistema operativo La virtualización del sistema operativo se realiza en el kernel, es decir, los administradores de tareas centrales de los sistemas operativos. Es una forma útil de ejecutar los entornos Linux y Windows de manera paralela. Las empresas también pueden insertar sistemas operativos virtuales en las computadoras, lo cual: Reduce el costo del hardware en masa, ya que las computadoras no requieren capacidades tan inmediatas. Aumenta la seguridad porque todas las instancias virtuales se pueden supervisar y aislar. Limita el tiempo que se destina a los servicios de TI, como las actualizaciones de software. L. Virtualización de las funciones de red La virtualización de las funciones de red (NFV) separa las funciones clave de una red (como los servicios de directorio, el uso compartido de archivos y la configuración de IP) para distribuirlas entre los entornos. Cuando las funciones del software se independizan de las máquinas virtuales en las que se encontraban, las funciones específicas se pueden empaquetar en una nueva red y asignarse a un entorno. La virtualización de redes reduce la cantidad de componentes físicos (como conmutadores, enrutadores, servidores, cables y centrales) que se necesitan para crear varias redes independientes y es muy popular en el sector de las telecomunicaciones. Fuente : https://www.redhat.com/es/topics/virtualization/what-is-virtualization  Instalar el Subsistema de Windows para Linux (WSL) en Windows 10  Microsoft Docs: Guía de instalación del Subsistema de Windows para Linux para Windows 10 GUÍA DE INSTALACIÓN DEL SUBSISTEMA DE WINDOWS PARA LINUX PARA WINDOWS 10 1. Instalación simplificada de Windows Insider 2. Pasos de instalación manual 3. Paso 1: Habilitación del Subsistema de Windows para Linux 4. Paso 2: comprobación de los requisitos para ejecutar WSL 2 5. Paso 3: Habilitación de la característica Máquina virtual 6. Paso 4: Descarga del paquete de actualización del kernel de Linux 7. Paso 5: Definición de WSL 2 como versión predeterminada 8. Paso 6: Instalación de la distribución de Linux que quiera 9. Instalación de Terminal Windows (opcional) 10. Definición de la versión de la distribución en WSL 1 o WSL 2 11. Solución de problemas de instalación Hay dos opciones disponibles para instalar el Subsistema de Windows para Linux (WSL):  Instalación simplificada (versión preliminar) : wsl –install El comando de instalación simplificada wsl --install requiere que se una al Programa Windows Insider e instalar una versión preliminar de Windows 10 (compilación del sistema operativo 20262 o posterior), pero elimina la necesidad de seguir los pasos de instalación manual. Lo único que debe hacer es abrir una ventana Comandos con privilegios de administrador y ejecutar wsl --install. Después de un reinicio, estará listo para usar WSL.  Instalación manual: realice los seis pasos que se indican a continuación. Los pasos de instalación manual de WSL se enumeran a continuación y se pueden usar para instalar Linux en cualquier versión de Windows 10. INSTALACIÓN SIMPLIFICADA DE WINDOWS INSIDER El proceso de instalación del Subsistema de Windows para Linux ha mejorado significativamente en las últimas versiones preliminares de Windows Insider de Windows 10, con el reemplazo de los pasos manuales siguientes por un solo comando. Para usar el comando de instalación simplificada wsl --install, debe hacer lo siguiente:  Unirse al Programa Windows Insider.  Instalar una versión preliminar de Windows 10 (compilación del sistema operativo 20262 o posterior).  Abrir una ventana Comandos con privilegios de administrador.  Una vez cumplidos estos requisitos, para instalar WSL:  Escriba este comando en la línea de comandos que ha abierto en modo de administrador: wsl.exe --install  Reinicie la máquina La primera vez que inicie una distribución de Linux recién instalada, se abrirá una ventana de la consola y se le pedirá que espere a que los archivos se descompriman y se almacenen en el equipo. Todos los inicios posteriores deberían tardar menos de un segundo en completarse. Tendrás que crear una cuenta de usuario y una contraseña para la nueva distribución de Linux. ENHORABUENA. Ha instalado y configurado correctamente una distribución de Linux completamente integrada con el sistema operativo Windows. El comando --install realiza las acciones siguientes:  Habilita los componentes opcionales de WSL y Plataforma de máquina virtual.  Descarga e instala el kernel de Linux más reciente.   Establece WSL 2 como valor predeterminado.   Descarga e instala una distribución de Linux (es posible que sea necesario reiniciar). De forma predeterminada, la distribución de Linux instalada será Ubuntu. Se puede cambiar mediante wsl --install -d. (Reemplace por el nombre de la distribución deseada). Se pueden agregar distribuciones adicionales de Linux a la máquina después de la instalación inicial mediante el comando wsl --install -d. Para ver una lista de las distribuciones de Linux disponibles, escriba wsl --list --online. PASOS DE INSTALACIÓN MANUAL Si no tiene una compilación de Windows Insider, las características necesarias para WSL deberán habilitarse manualmente siguiendo los pasos que se indican a continuación. Paso 1: Habilitación del Subsistema de Windows para Linux Antes de instalar distribuciones de Linux en Windows, debe habilitar la característica opcional "Subsistema de Windows para Linux". Abre PowerShell como administrador y ejecuta: PowerShell dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem- Linux /all /norestart Ahora se recomienda continuar con el paso 2, Actualización a WSL 2, pero si solo quiere instalar WSL 1, ahora puede reiniciar el equipo y dirigirse al Paso 6: Instalación de la distribución de Linux que quiera. Para actualizar a WSL 2, espere para reiniciar la máquina y continúe con el paso siguiente. Paso 2: comprobación de los requisitos para ejecutar WSL 2 Para actualizar a WSL 2, debe ejecutar Windows 10.  Para sistemas x64: La versión 1903 o posterior, con la compilación 18362 o posterior.  Para sistemas ARM64: La versión 2004 o posterior, con la compilación 19041 o posterior.  Las compilaciones anteriores a 18362 no admiten WSL 2. Use el Asistente para Windows Update para actualizar su versión de Windows. Comprobar la versión y el número de compilación, seleccione la tecla del logotipo de Windows + R, escriba winver y seleccione Aceptar. (También puedes escribir el comando ver en el símbolo del sistema de Windows). Actualice a la versión más reciente de Windows en el menú Configuración. Nota Si está ejecutando Windows 10, versión 1903 o 1909, abra "Configuración" en el menú de Windows, vaya a "Actualización y seguridad" y seleccione "Buscar actualizaciones". El número de compilación debe ser 18362.1049 o posterior o 18363.1049 o posterior, con la compilación secundaria posterior a.1049. Leer más: La compatibilidad con WSL 2 estará disponible en breve para las versiones 1903 y 1909 de Windows 10. Consulte las instrucciones de solución de problemas. Paso 3: Habilitación de la característica Máquina virtual Antes de instalar WSL 2, debe habilitar la característica opcional Plataforma de máquina virtual. La máquina necesitará funcionalidades de virtualización para usar esta característica. Abre PowerShell como administrador y ejecuta: PowerShell dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart Reinicia la máquina para completar la instalación de WSL y la actualización a WSL 2. Paso 4: Descarga del paquete de actualización del kernel de Linux 1. Descargue la versión más reciente:  Paquete de actualización del kernel de Linux en WSL 2 para máquinas x64 Nota Si estás usando una máquina ARM64, descarga el paquete ARM64 en su lugar. Si no está seguro de qué tipo de máquina tiene, abra el símbolo del sistema o PowerShell y escriba: systeminfo | find "System Type" 2. Ejecuta el paquete de actualización que descargaste en el paso anterior. (Haga doble clic para ejecutarlo. Se le pedirán permisos elevados. Seleccione "Sí" para aprobar esta instalación) Una vez completada la instalación, vaya al paso siguiente: configuración de WSL 2 como versión predeterminada al instalar nuevas distribuciones de Linux. (Omita este paso si quiere que las nuevas instalaciones de Linux se establezcan en WSL 1). Paso 5: Definición de WSL 2 como versión predeterminada Abra PowerShell y ejecute este comando para establecer WSL 2 como versión predeterminada al instalar una nueva distribución de Linux: PowerShell wsl --set-default-version 2 Paso 6: Instalación de la distribución de Linux que quiera 1. Abre Microsoft Store y selecciona tu distribución de Linux favorita. En los vínculos siguientes se abrirá la página de Microsoft Store para cada distribución:  Ubuntu 16.04 LTS  Ubuntu 18.04 LTS  Ubuntu 20.04 LTS  OpenSUSE Leap 15.1  SUSE Linux Enterprise Server 12 SP5  SUSE Linux Enterprise Server 15 SP1  Kali Linux  Debian GNU/Linux  Fedora Remix for WSL  Pengwin  Pengwin Enterprise  Alpine WSL 2. En la página de la distribución, selecciona "Obtener". La primera vez que inicies una distribución de Linux recién instalada, se abrirá una ventana de la consola y se te pedirá que esperes un minuto o dos para que los archivos se descompriman y se almacenen en tu equipo. Todos los inicios posteriores deberían tardar menos de un segundo en completarse. Tendrás que crear una cuenta de usuario y una contraseña para la nueva distribución de Linux. ENHORABUENA. Ha instalado y configurado correctamente una distribución de Linux completamente integrada con el sistema operativo Windows INSTALACIÓN DE TERMINAL WINDOWS (OPCIONAL) Terminal Windows permite habilitar varias pestañas (cambiar rápidamente entre varias líneas de comandos de Linux, el símbolo del sistema de Windows, PowerShell, la CLI de Azure, etc.), crear enlaces de teclado personalizados (teclas de método abreviado para abrir o cerrar pestañas, copiar y pegar, etc.), usar la característica de búsqueda y configurar temas personalizados (esquemas de colores, estilos y tamaños de fuente, imagen de fondo/desenfoque/transparencia). Más información. Instalación de Terminal Windows. Definición de la versión de la distribución en WSL 1 o WSL 2 Para comprobar la versión de WSL asignada a cada una de las distribuciones de Linux que tienes instaladas, abre la línea de comandos de PowerShell y escribe el comando (solo disponible en Windows, compilación 18362 o posterior): wsl -l -v. PowerShell wsl --list --verbose Para establecer que una distribución esté respaldada por una de las dos versiones de WSL, ejecuta: PowerShell wsl --set-version Asegúrate de reemplazar por el nombre real de tu distribución, y por el número "1" o "2". Puedes volver a cambiar a WSL 1 en cualquier momento; para ello, ejecuta el mismo comando que antes, pero reemplaza "2" por "1". Nota La actualización de WSL 1 a

Use Quizgecko on...
Browser
Browser