1ra Parte - Sistemas Operativos - 2024.pdf
Document Details
Uploaded by PopularParabola
2024
Tags
Related
- Computer and Information Technology (CSIT113) BCA 1st Sem Past Paper PDF
- Distributed Systems Lecture Notes (2018-19) - MRCET Hyderabad PDF
- Operating Systems Fundamentals PDF
- Computer Science: Chapter 3 - Operating Systems (PDF)
- B.Com 1st Sem Computer Applications PDF
- Computer Science: Operating Systems PDF
Full Transcript
1ra Parte: Sistemas Operativos Contenido 1. ¿Qué es un Sistema Operativo? -------------------------------------------------------------------------------------- 2 1.1. - Partes del sistema operativo ---------------------------------------------------------------------------------...
1ra Parte: Sistemas Operativos Contenido 1. ¿Qué es un Sistema Operativo? -------------------------------------------------------------------------------------- 2 1.1. - Partes del sistema operativo --------------------------------------------------------------------------------- 2 1.1.1. - Hardware -------------------------------------------------------------------------------------------------- 2 1.1.2 - Núcleo/Kernel: -------------------------------------------------------------------------------------------------- 3 1.1.2.1 - Núcleo de Linux vs núcleo de Windows ------------------------------------------------------------ 3 1.1.2.2 - Sus ventajas en Linux ------------------------------------------------------------------------------------ 3 1.1.3 - Shell ---------------------------------------------------------------------------------------------------------------- 3 2. Principales funciones del sistema operativo -------------------------------------------------------------------- 4 3. Componentes de un sistema operativo --------------------------------------------------------------------------- 5 3.1. Gestión de procesos--------------------------------------------------------------------------------------------------- 5 3.2. Gestión de la memoria principal ----------------------------------------------------------------------------------- 6 3.3. Gestión del almacenamiento secundario ----------------------------------------------------------------------- 6 3.4. Sistema de entrada/salida ------------------------------------------------------------------------------------------- 7 3.5. Sistema de archivos --------------------------------------------------------------------------------------------------- 7 3.6. Sistemas de protección ----------------------------------------------------------------------------------------------- 7 3.7. Sistema de comunicaciones ----------------------------------------------------------------------------------------- 8 3.8. Programas del sistema ----------------------------------------------------------------------------------------------- 8 3.9. Gestión de recursos --------------------------------------------------------------------------------------------------- 8 4. Tipos De Sistemas Operativos --------------------------------------------------------------------------------------- 9 4.1. Sistemas Operativos por su Estructura --------------------------------------------------------------------- 9 4.1.1. Estructura Monolítica ------------------------------------------------------------------------------------ 9 4.1.2. Sistema en capas ---------------------------------------------------------------------------------------- 10 4.1.2.1. Sistemas por módulos ------------------------------------------------------------------------------ 10 4.1.3. Máquina Virtual. ----------------------------------------------------------------------------------------- 11 4.2. Sistemas Operativos por Servicios ------------------------------------------------------------------------- 12 4.2.1. Administración de usuarios --------------------------------------------------------------------------- 12 4.2.2. Administración de tareas ------------------------------------------------------------------------------ 12 4.2.3. Administración de procesamiento ------------------------------------------------------------------ 13 4.3. S.O. por la Forma de Ofrecer sus Servicios/Recursos ------------------------------------------------- 13 4.3.1. Centralizado:---------------------------------------------------------------------------------------------- 13 4.3.2. Distribuido: ------------------------------------------------------------------------------------------------ 14 4..4. Sistema operativo tipos ------------------------------------------------------------------------------------------- 14 4.4.1. Sistema operativo de escritorio: --------------------------------------------------------------------------- 14 4.4.2. Sistema operativo de red: ----------------------------------------------------------------------------------- 14 5. Arquitecturas para procesar datos -------------------------------------------------------------------------------- 15 5.1. - x86: Arquitectura de 32 bits --------------------------------------------------------------------------------- 15 5.2. - x64: Arquitectura de 64 bits --------------------------------------------------------------------------------- 16 Bibliografía ---------------------------------------------------------------------------------------------------------------------- 17 1 1ra Parte: Sistemas Operativos 1. ¿Qué es un Sistema Operativo? Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar un entorno en el cual el usuario pueda ejecutar programas. El objetivo principal de un sistema operativo es lograr que el sistema de computación se use de manera cómoda, y el objetivo secundario es que el hardware del computador se emplee de manera eficiente. Entre sus funciones que tiene: Coordinar y manipular el hardware de la computadora (como la memoria, las impresoras, las unidades de disco, el teclado o el mouse), organizar el almacenamiento de los archivos en diversos dispositivos (como unidades de estado sólido, discos duros, discos compactos o cintas magnéticas), y supervisar la ejecución de las diferentes tareas (procesos). Conocer cuáles son los componentes de un sistema operativo y cómo funcionan nos da una idea de cómo actúa el sistema operativo. El sistema operativo y sus funciones es un elemento fundamental en cualquier sistema de computación para desarrollar de forma exitosa las tareas de cómputo cotidianas, sus componentes funcionan de forma sincronizada para permitir la eficiente operación y el rendimiento esperado de un sistema de computación. Antes de explicar los diferentes componentes de un sistema operativo debemos conocer cuáles son las funciones básicas de un sistema operativo. 1.1. - Partes del sistema operativo Hardware Nucleo/Kernel Shell 1.1.1. - Hardware Hardware es una palabra inglesa que hace referencia a las partes físicas tangibles de un sistema informático, es decir, todo aquello que podemos tocar con las manos. Dentro del hardware encontramos una gran variedad de componentes eléctricos, electrónicos, electromecánicos y mecánicos. El hardware es el chasis del computador, los cables, los ventiladores, los periféricos y todos los componentes que se pueden encontrar en un dispositivo electrónico. La Real Academia Española lo define como «Conjunto de los componentes que integran la parte material de una computadora». 2 1.1.2 - Núcleo/Kernel: El núcleo o kernel es la parte central de un sistema operativo y es el que se encarga de realizar toda la comunicación segura entre el software y el hardware del computador. El núcleo kernel es la parte más importante del sistema operativo Unix y sus derivados, como Linux y todas las distribuciones que dependen de él. Ahora sabemos que el kernel permite la comunicación entre el software y los dispositivos físicos de un computador, tanto el hardware interno como la placa base, procesador, memoria y unidades de almacenamiento, hasta aquellos que se consideran periféricos, como el ratón, teclado, monitor, llaves USB, cámaras, teléfonos, etc. Además de esto, el núcleo kernel también debe hacer una gestión de la memoria RAM. La memoria debe ser utilizada de manera eficiente, dividiéndola entre los distintos servicios y aplicaciones para que todo funcione de forma fluida, ya que un sistema operativo actual es ‘multitarea’, por lo que se ejecutan todo el tiempo varias aplicaciones y servicios al mismo tiempo. Al igual que la memoria, el procesador también debe ser gestionado por el núcleo de Linux. Actualmente tenemos procesadores con múltiples núcleos e hilos, así que el kernel debe dividir las tareas que hace el ordenador entre todos los núcleos de la CPU para que esas tareas se realicen correctamente sin solaparse unas con otras. 1.1.2.1 - Núcleo de Linux vs núcleo de Windows Aunque Windows también posee su propio kernel, hay una diferencia fundamental entre este y el de Linux. Mientras que el núcleo de Windows es completamente hermético y nadie puede modificarlo, el de Linux es de código abierto, por lo que cualquiera puede hacerles las modificaciones que quiera, esto permite que existan distintas distribuciones de Linux. 1.1.2.2 - Sus ventajas en Linux Una de las ventajas que tiene el kernel de Linux es que es posible actualizarlo sin que afecte al resto del sistema operativo, con un par de comandos (usando el usuario root) en el Terminal, estaríamos logrando esto en un par de minutos o incluso más sencillo mediante el Centro de Software, aunque esto depende de la distribución que elijamos. Actualizando únicamente el kernel del sistema, tendríamos no solo un equipo más estable, también más seguro y más rápido, todo ello en varios minutos. 1.1.3 - Shell En el sentido más genérico del término, shell significa cualquier intérprete que los usuarios usen para escribir comandos. Un intérprete de órdenes o de comandos, es un programa informático que tiene la capacidad de traducir las órdenes que introducen los usuarios, mediante un conjunto de instrucciones facilitadas por él mismo directamente al núcleo y al conjunto de herramientas que forman el sistema operativo. Los usuarios de Unix y similares, pueden elegir entre distintos shells (programa que se debería ejecutar cuando inician la sesión, véase bash, ash, csh, Zsh, ksh, tcsh). Las interfaces de usuario gráficas para Unix, como son GNOME, KDE y Xfce pueden ser llamadas shells visuales o shells gráficas. 3 2. Principales funciones del sistema operativo Las funciones principales de un sistema operativo son: el control de acceso al hardware, la administración de archivos y carpetas, la proporción de una interfaz de usuario y la administración de aplicaciones. a) El control de acceso al hardware es una de las funciones básicas del sistema operativo. El sistema operativo utiliza un programa llamado controlador de dispositivo para acceder al hardware. b) La administración de archivos y carpetas es otra de las funciones que realiza el sistema operativo. El sistema operativo crea una estructura de archivos y carpetas en la unidad de disco duro. c) Proporcionar una interfaz de usuario está entre las principales funciones de un sistema operativo. El sistema operativo, como se dijo anteriormente, es el programa que controla los diferentes trabajos (procesos) que realiza la computadora. Un trabajo(proceso) importante es la interpretación de los comandos (Shell) que permiten al usuario comunicarse con la computadora. Algunos intérpretes de estos comandos están basados en texto (en inglés, command-line interface, CLI) el usuario interactúa con el sistema en un entorno basado en texto introduciendo comandos. El sistema ejecuta el comando y generalmente proporciona la respuesta en forma de texto. Otros están basados en gráficos, ósea, la interfaz gráfica de usuario (GUI), y permiten al usuario comunicarse señalando y haciendo clic en un icono. Por lo general, los intérpretes basados en gráficos son más sencillos de utilizar, pero en ciertos casos el GUI no es eficaz para cierta acciones o usos concretos del usuario. 4 d) Como otra de las funciones de los sistemas operativos tenemos la administración de tareas(procesos). El sistema operativo localiza una aplicación y la carga en la RAM de la PC. 3. Componentes de un sistema operativo Los diferentes elementos del sistema operativo están estrechamente relacionados. Las partes de un sistema operativo comprende un conjunto de acciones que se llevan a cabo en una computadora. Los componentes del sistema operativo de los que estaremos hablando son: Los procesos La memoria principal El almacenamiento secundario El sistema de entrada/salida El sistema de archivos Los sistemas de protección El sistema de comunicaciones Los programas del sistema El gestor de recursos 3.1. Gestión de procesos Entre los componentes de un sistema operativo están los procesos. Cuando se habla de un proceso se hace referencia a un programa en ejecución. Un proceso es un conjunto de instrucciones que corresponden a un programa y que son ejecutadas por la CPU. En un programa se pueden ejecutar uno o varios procesos diferentes. La ejecución de un programa necesita recursos del sistema como tiempo de CPU, memoria, archivos y dispositivos de E/S. Un proceso puede pasar por los estados nuevo, preparado, ejecución, bloqueado y terminado cuando su ciclo de vida es de 5 estados. Si el proceso solo se ejecuta y termina el ciclo de vida es de 2 estados. Los procesos para su ejecución se planifican siguiendo algoritmos. Dos de los algoritmos de planificación más comunes son el algoritmo Round Robin y el algoritmo FIFO. 5 El sistema operativo es el responsable de asignar recursos a los procesos, crear y destruir procesos, parar y reanudar procesos y proporcionar que los procesos se comuniquen y sincronicen. 3.2. Gestión de la memoria principal Otro de los componentes del sistema operativo es la memoria principal. La memoria principal es un recurso muy importante que se ha de gestionar cuidadosamente para agilizar la ejecución de los procesos. Ante un fallo de energía eléctrica, como la memoria principal es volátil se pierde su contenido. La memoria principal se optimiza para asignar espacio a los diferentes programas a ejecutar. Entre los diferentes procesos a ejecutar se comparte la memoria principal. El espacio de memoria asignado se protege para que no se use estando concedido. El sistema operativo es el responsable de gestionar la memoria principal conociendo qué espacios de la memoria está siendo utilizada y por qué procesos, decidiendo qué procesos se cargarán en memoria cuando haya espacio disponible, asignando y reclamando espacio de memoria cuando sea necesario, administrar el intercambio entre la memoria principal y la memoria virtual (espacio en el disco usado para los procesos cuando la memoria principal no es suficiente). 3.3. Gestión del almacenamiento secundario La memoria principal no es suficiente para almacenar los programas y los datos, además de ser volátil porque los datos se pierden ante un fallo de la energía eléctrica. Por tal motivo es necesario un sistema de almacenamiento secundario también denominado memoria virtual. El sistema de almacenamiento secundario representa otro de los componentes de un sistema operativo y no es más que un espacio reservado en los discos con el objetivo de almacenar los programas que no necesitan estar en la memoria principal y para el intercambio de los programas desde y hacia la memoria principal. El sistema operativo se encarga de planificar los discos, gestionar el espacio libre, asignar el almacenamiento y verificar que los datos se guarden en orden. 6 3.4. Sistema de entrada/salida El sistema de entrada/salida, otro de los componentes del sistema operativo, representa el intercambio de información entre el procesador y los dispositivos periféricos (teclado, mouse, pantalla, impresora y otros). Los dispositivos periféricos solicitan recursos del sistema por medio de interrupciones. El sistema de E/S está compuesto por un sistema de almacenamiento temporal (caché), una interfaz de controladores de dispositivos y otra interfaz para dispositivos específicos. El sistema operativo gestiona el almacenamiento temporal de entrada/salida y las interrupciones de los dispositivos de entrada/salida. 3.5. Sistema de archivos Los archivos representan un conjunto de información almacenada en los discos de una PC. Dicha información se almacena de forma relacionada y organizada. Los archivos almacenan tanto los programas como los datos. El sistema de archivos forma parte de los componentes de un sistema operativo y son la forma en que se organiza la información. Los sistemas de archivos más comunes son FAT, FAT32, ext3, NTFS, XFS. El sistema operativo es responsable de construir y eliminar archivos y directorios, manipular archivos y directorios, establecer la correspondencia entre archivos y unidades de almacenamiento, realizar copias de seguridad de archivos. 3.6. Sistemas de protección En un sistema operativo varios usuarios pueden ejecutar simultáneamente sus programas, varios procesos se pueden ejecutar simultáneamente, varios programas se pueden ejecutar al mismo tiempo, varios procesos se pueden intercalar para su ejecución simulando una ejecución simultánea. Normalmente estos sistemas operativos utilizan métodos de protección de datos, por ejemplo, para que un programa no pueda usar o cambiar los datos de otro usuario. El sistema de protección es uno de los componentes del sistema operativo que proporciona el mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El sistema operativo se encarga de distinguir entre uso autorizado y no autorizado, especificar los controles de seguridad a realizar y forzar el uso de los mecanismos de protección. 7 3.7. Sistema de comunicaciones El sistema de comunicaciones es uno de los componentes de un sistema operativo que permite el intercambio de información entre procesos y programas que se ejecutan localmente con procesos y programas que se ejecutan de forma remota. Las tareas de envío y recepción de información las ejecuta el sistema de comunicaciones a través de las interfaces de red. El sistema operativo es el responsable de controlar el envío y recepción de la información, crear y mantener la comunicación para que las aplicaciones envíen y reciban información, y crear y mantener conexiones virtuales entre aplicaciones locales y aplicaciones remotas. 3.8. Programas del sistema Los programas del sistema forman parte de los componentes del sistema operativo y son aplicaciones que se instalan con el sistema operativo pero que no forman parte de él. Los programas del sistema son útiles para el desarrollo y ejecución de los programas de usuario. Las tareas que realizan los programas del sistema son: manipulación y modificación de archivos, información del estado del sistema, soporte a lenguajes de programación y comunicaciones. El sistema operativo es el encargado de gestionar las tareas que realizan los diferentes programas del sistema. 3.9. Gestión de recursos Una PC está formada por el hardware y el software. El hardware se relaciona con los componentes físicos y el software con los programas y el sistema operativo. Para que una PC pueda realizar las tareas solicitadas por el usuario requiere de la asignación de recursos para cada una de esas tareas. El sistema operativo administra los recursos que se deben asignar a los programas en ejecución. El sistema operativo administra la unidad central de procesamiento, los dispositivos de entrada y salida, la memoria principal o memoria RAM, los discos o memoria virtual, los procesos o programas en ejecución y en general todos los recursos del sistema. 8 4. Tipos De Sistemas Operativos En esta sección se describirán las características que clasifican a los sistemas operativos, básicamente se cubrirán tres clasificaciones: sistemas operativos por su estructura (visión interna), sistemas operativos por los servicios que ofrecen y, finalmente, sistemas operativos por la forma en que ofrecen sus servicios (visión externa). 4.1. Sistemas Operativos por su Estructura Los siete diseños de estructura de los Sistemas Operativos, de acuerdo a Tanembaum (2009) son: Sistemas monolíticos. Sistemas de capas. Microkernels. Sistemas cliente-servidor Máquinas virtuales Exokernels. Módulos A continuación, se explicará solo cuatro de ellos. 4.1.1. Estructura Monolítica En este diseño, que hasta ahora se considera como la organización más común, todo el sistema operativo se ejecuta como un solo programa en modo kernel. El sistema operativo se escribe como una colección de procedimientos, enlazados entre sí en un solo programa binario ejecutable extenso. Cuando se utiliza esta técnica, cada procedimiento en el sistema tiene la libertad de llamar a cualquier otro, si éste proporciona cierto cómputo útil que el primero necesita. Al tener miles de procedimientos que se pueden llamar entre sí sin restricción, con frecuencia se produce un sistema poco manejable y difícil de comprender. Los ejemplos típicos de este sistema son Unix, MS-DOS y Mac OS hasta Mac OS 8.6. Otros ejemplos son: Linux Syllable Núcleos tipo DOS DR-DOS Familia Microsoft Windows 9x (95, 98, 98SE, Me) 9 4.1.2. Sistema en capas El diseño se organiza en una jerarquía de capas, donde los servicios que brinda una capa son consumidos solamente por la capa superior. La capa 0 es del Hardware y la N es la de los procesos de Usuario. Estos sistemas tienen como ventaja que son modulares y la verificación se puede hacer a cada capa por separado (son más mantenibles). Sin embargo, el diseño es muy costoso y es menos eficiente que el sistema monolítico ya que pierde tiempo pasando por cada capa. El sistema consta de 6 capas: Capa 5: Se encuentra la interfaz de usuario. Capa 4: Aloja los programas de usuario. Capa 3: Se controlan los dispositivos E/S (entrada y salida). Capa 2: Se administra la comunicación inter-proceso y la consola del operador. Capa 1: Administración de memoria y discos. Capa 0: Correspondiente al Hardware, realizando asignación del procesador, también alterna entre procesos cuando ocurren interrupciones o se han expirado y proporciona multiprogramación básica de la CPU. Ejemplos de sistemas por capas: THE (Technische Hogeschool Eindhoven) Venus MULTICS (Multiplexed Information and Computing Service) 4.1.2.1. Sistemas por módulos La mayoría de los sistemas operativos modernos implementan este enfoque. Lo que caracteriza este tipo de estructura es que el kernel se compone por módulos, y cada uno de estos módulos se encuentra separado de forma independiente, tal que, si alguno falla no afecta a los otros, ni al núcleo, por ejemplo, si el módulo de software que se encarga de controlar el proceso de Telnet en una unidad se bloquea o es atacado, sólo este proceso se verá afectado. El resto de las operaciones siguen sus funciones habituales. Los módulos se pueden cargar dinámicamente en el núcleo cuando se necesiten, ya sea, en tiempo de ejecución o durante el arranque del sistema. El kernel dispone de los componentes fundamentales y se conectan directamente con servicios adicionales. Además, otros componentes pueden cargarse dinámicamente al núcleo. Este enfoque modular utiliza la programación orientada a objetos. En general, esta estructura se parece bastante a la de capas, pero es mucho más flexible debido a que cualquier módulo de esta estructura puede llamar a otro. Es 10 similar a la estructura de microkernel, pues el kernel también tiene las funciones esenciales, pero este es más eficiente ya que, no necesitan un mecanismo de paso de mensajes para comunicarse, sólo interfaces conocidas. Ejemplos de comandos Linux para gestionar módulos: lsmod: Muestra todos los módulos que están cargados en el kernel Linux. modprobe: Se utiliza para agregar, ver y eliminar módulos. mmod: Utilizado para descargar módulos del kernel, con la restricción de que no estén siendo utilizados y que no sean llamados por otros módulos. Ejemplos sistema por módulos: Unix modernos Solaris Linux Mac OSX 4.1.3. Máquina Virtual. La virtualización consiste en crear una versión simulada de una plataforma de hardware, un sistema operativo, un dispositivo de almacenamiento por medio de una aplicación de control denominada hypervisor o VMM. El hypervisor representa los recursos de hardware para ejecutar un software huésped (un sistema operativo), y las aplicaciones deseadas igual que lo hace una computadora real. Existen dos tipos de programas para virtualizar, los programas de pago o comerciales y los programas gratuitos. Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramación y la máquina extendida. El objetivo de los sistemas operativos de máquina virtual es el de integrar distintos sistemas operativos dando la sensación de ser varias máquinas diferentes. El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como misión llevar a cabo la multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se soliciten. 11 La virtualización se puede aplicar tanto a servidores, como a aplicaciones, a almacenamiento y a redes. Atendiendo a esto podemos citar cuatro tipos de virtualización: Virtualización de servidores Virtualización de redes Virtualización de almacenamiento Virtualización de escritorios 4.2. Sistemas Operativos por Servicios Esta clasificación es la más comúnmente usada y conocida desde el punto de vista del usuario final. Los sistemas operativos pueden admitir más de un usuario, más de una tarea, más de un proceso o manejar varios recursos. 4.2.1. Administración de usuarios Monousuario: sólo permite ejecutar los programas de un usuario al mismo tiempo sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales típicamente se han clasificado en este renglón. Multiusuario: varios usuarios tienen cuentas individuales y trabajan con programas y dispositivos periféricos de forma simultánea. Son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. No importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente. 4.2.2. Administración de tareas Monotarea: la monotarea permite ejecutar una aplicación (aparte de los procesos del propio SO) en un momento dado hasta su finalización y/o interrupción. En otras palabras, los sistemas monotarea son aquellos que sólo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo, pero cada uno de ellos puede estar haciendo solo una tarea a la vez. Multitarea: con la multitarea la PC puede operar varias aplicaciones de forma simultánea, además es aquél que le permite al usuario estar realizando varias labores al mismo tiempo. Por ejemplo, puede estar editando el código fuente de un programa durante su depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico en un proceso en background. Es común 12 encontrar en ellos interfaces gráficas orientadas al uso de menús y el mouse, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad. 4.2.3. Administración de procesamiento Uniproceso; Un sistema operativo uniproceso es aquél que es capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese más de uno le sería inútil. Multiprocesamiento; Un sistema operativo multiproceso se refiere al número de procesadores del sistema, que es más de uno y éste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simétrica o asimétricamente. Cuando se trabaja de manera asimétrica, el sistema operativo selecciona a uno de los procesadores el cual jugará el papel de procesador maestro y servirá como pivote para distribuir la carga a los demás procesadores, que reciben el nombre de esclavos. Cuando se trabaja de manera simétrica, los procesos o partes de ellos (threads) son enviados indistintamente a cualesquiera de los procesadores (o núcleos) disponibles, teniendo, teóricamente, una mejor distribución y equilibrio en la carga de trabajo bajo este esquema. 4.3. S.O. por la Forma de Ofrecer sus Servicios/Recursos Esta clasificación también se refiere a una visión externa, que en este caso se refiere a la del usuario, el cómo accede a los servicios. Bajo esta clasificación se pueden detectar dos tipos principales: sistemas operativos centralizados y sistemas operativos distribuidos. 4.3.1. Centralizado: La administración centralizada permite usar los recursos de una sola computadora. 13 4.3.2. Distribuido: La gestión distribuida permite utilizar los recursos (memoria, CPU, disco, periféricos…) de más de una computadora al mismo tiempo 4..4. Sistema operativo tipos 4.4.1. Sistema operativo de escritorio: El sistema operativo de escritorio está diseñado para su uso en entornos de oficinas pequeñas o domésticas con un número limitado de usuarios. Ejemplos: Microsoft Windows, Apple Mac OS y Linux 4.4.2. Sistema operativo de red: El sistema operativo de red está diseñado para su uso en entornos corporativos y sirven a muchos usuarios con una amplia variedad de necesidades. Ejemplos: Windows Server 2003, Windows Server 2008, Windows Server 2012, Red Hat Linux, OpenSUSE, CentOS, Ubuntu, Snow Leopard Server, Lion 14 5. Arquitecturas para procesar datos 5.1. - x86: Arquitectura de 32 bits Los procesadores x86 utilizan menos registros, y pueden admitir solo sistemas operativos de 32 bits. Hoy en día, la mayoría (o todos) los procesadores son de 64 bits y la única razón por la que alguien optaría utilizar un sistema operativo de 32 bits es por la cantidad de RAM que tiene instalada una computadora. En el caso que se instala un SO de 32bits se hace trabajar al microprocesador de 64bits a 32 bits utilizando una capacidad reducida de direccionamiento, y se estará intercambiando datos con más frecuencia entre las memorias, provocando una reducción en la velocidad de la computadora. El cálculo que nos dice cuántas direcciones hay, es hacer 232 , obteniendo como resultado 4.294.967.296, siendo la cantidad de direcciones de memoria que puede direccionar un sistema de 32 bits. Los programas que sean de 64 bits no funcionaran en este sistema operativo 32bits porque están hechos con instrucciones de 64 bits que, por más que el procesador sea de 64 bits, la CPU no reconocerá. 15 Como podemos ver en la imagen antecesora se instaló en la computadora una memoria RAM de 8GB, pero solo etaria reconociendo 4GB, esto es debido a que como fue aclarado antes. solo puede direccionar 4.294.967.296 direcciones un sistema operativo de 32bits. En el caso pasaríamos de unidad de almacenamiento 4.294.967.296 Bytes a GB, nos daría justo los 4GB. 5.2. - x64: Arquitectura de 64 bits Los procesadores x64 agregan registros adicionales para instrucciones que utilizan un espacio de direcciones de 64 bits. El procesador x64 es compatible con el procesador x86. Además, pueden admitir sistemas operativos de 32 bits y de 64 bits. Un sistema de 64 bits puede procesar un número más grande de bits por ciclo de CPU. En el caso de que se posea una computadora con una cantidad de memoria RAM mayor a 4 GB se necesitara que el sistema operativo sea de 64 bits. En siguiente imagen se muestra una computadora con un S.O. de 64 bits y 8 GB de RAM. En este caso a diferencia del caso de 32bits, los buses trabajarán con 64 bits y las palabras tendrán un tamaño de 64 bit. En cuanto a las direcciones, tendrá un máximo 18.446.744.073.709.551.616 lo que equivale a 2.147.483.648 GB de RAM, pero depende del sistema si se podrá reconocer esa cantidad o no, por ejemplo, Windows 7 profesional soporta hasta 192 GB. Cabe destacar que si se desea utilizar un S.O. de 64 bits con 4 GB de RAM, se puede, pero puede que la computadora funcione a una velocidad reducida debido a que la memoria RAM se mantendrá sobre direccionada porque, al ser de un sistema de 64 bits los procesos se están fragmentando en una mayor cantidad de páginas que deberán tener su dirección y esto va a provocar que la RAM este realizando por el swapping constantemente. 16 Bibliografía https://www.administracionderedes.com/componentes-de-un-sistema-operativo/ https://lcsistemasoperativos.wordpress.com/2015/02/01/01-conceptos- generales/ https://sites.google.com/site/ylsel6aso/estructura-de-sistemas-operativos https://www.tecnologias-informacion.com/distribuidas.html Andrew S. Tanenbaum Sistemas operativos modernos -Pearson Educación, 2003 Salguero Walter, Sistemas operativos1, UNPAZ 17