Bloque 2. ARQUITECTURA - ARQUITECTURAS
Bloque 2. ARQUITECTURA - ARQUITECTURAS
ARQUITECTURA: ARQUITECTURAS
Bloque 2. ARQUITECTURA
1 ARQUITECTURAS
Arquitectura de computadoras.
Es el diseño conceptual y la estructura operacional fundamental de un sistema de computadora, suele definirse como la forma de seleccionar e interconectar componentes de hardware para crear computadoras
según los requerimientos de funcionalidad, rendimiento y costo.
VENTAJAS DE LAS ARQUITECTURAS
Pila: Modelo sencillo para evaluación de expresiones (notación polaca inversa). Instrucciones cortas pueden dar una buena densidad de código.
Acumulador: Instrucciones cortas. Minimiza estados internos de la máquina (unidad de control sencilla).
Registro: Modelo más general para el código de instrucciones parecidas. Automatiza generación de código y la reutilización de operandos. Reduce el tráfico a memoria. Una computadora actualmente tiene como
estándar 32 registros. El acceso a los datos es más rápido.
DESVENTAJAS DE LAS ARQUITECTURAS
Pila: A una pila no se puede acceder aleatoriamente. Esta limitación hace difícil generar código eficiente. También dificulta una implementación eficente, ya que la pila llega a ser un cuello de botella es decir que existe
dificultad para la transferencia de datos en su velocidad mk.
Acumulador: Como el acumulador es solamente almacenamiento temporal, el tráfico de memoria es el más alto en esta aproximación.
Registro: Todos los operadores deben ser nombrados, conduciendo a instrucciones más largas.
ARQUITECTURA PARA MÓVILES
Las arquitecturas de los teléfonos inteligentes han ido evolucionando conforme pase el tiempo y se innove cosas en la cual permita al usuario tener una comunicación más rápida con el mundo, parte de esto las
grandes industrias de teléfonos celulares hacen posible que cada año estos dispositivos de comunicación evolucionen en Hardware y Software, para que sea de agrado para el cliente y de gran ayuda para múltiples
tareas en el mundo moderno.
Los niveles más altos actúan como intermediarios entre el hardware y aplicaciones que aparecen en la pantalla de los dispositivos. Las capas superiores proporcionan una abstracción orientada a objetos, esto hace
que sea más fácil entender su arquitectura adicionalmente, cada capa está compuesta por un conjunto de frameworks.
Existen dos tipos básicos de arquitecturas: CISC y RISC:
CISC:
•Los accesos a memoria están disponibles directamente en todos los tipos de instrucciones.
•La cantidad de modos de direccionamiento es sustancial.
•Los formatos de instrucción son de diferente longitud.
•Las instrucciones ejecutan operaciones complejas y elementales.
RISC:
•Los accesos a memoria se restringen a instrucciones descarga y almacenamiento.
•Las instrucciones de manipulación de datos son de registro a registro.
•Los modos de direccionamiento son limitados.
•Los formatos de instrucción son de la misma longitud.
•Las instrucciones ejecutan operaciones elementales.
formacionenlinea.academica.mx/mod/book/view.php?id=58490 1/5
27/12/2020 Bloque 2. ARQUITECTURA: ARQUITECTURAS
Hay algo en común en todos los dispositivos con iOS, Android, Symbian, Windows Phone o casi cualquier otro sistema operativo: la arquitectura, es decir, el tipo de máquina.
Android es una pila de software de código abierto basado en Linux creada para una variedad amplia de dispositivos y factores de forma. En el siguiente diagrama, se muestran los componentes principales de la plataforma Android.
formacionenlinea.academica.mx/mod/book/view.php?id=58490 2/5
27/12/2020 Bloque 2. ARQUITECTURA: ARQUITECTURAS
KERNEL
Capa de abstracción de hardware (HAL)
La capa de abstracción (HAL) brinda interfaces estándares que exponen las capacidades de hardware del dispositivo al marco de trabajo de la API de Java de nivel más alto. La HAL consiste en varios módulos de biblioteca
y cada uno de estos implementa una interfaz para un tipo específico de componente de hardware, como el módulo de la cámara o de Bluetooth. Cuando el marco de trabajo de una API realiza una llamada para acceder
a hardware del dispositivo, el sistema Android carga el módulo de biblioteca para el componente de hardware en cuestión.
·En Android, también se incluye un conjunto de bibliotecas de entorno de ejecución centrales que proporcionan la mayor parte de la funcionalidad del lenguaje de programación Java; se incluyen algunas funciones del
lenguaje JAVA, que usa el marco de trabajo de la API de Java.
formacionenlinea.academica.mx/mod/book/view.php?id=58490 3/5
27/12/2020 Bloque 2. ARQUITECTURA: ARQUITECTURAS
Un Administrador de Recursos que te brinda acceso a recursos sin código, como strings localizadas, gráficos y archivos de diseño.
Un Administrador de Notificaciones que permite que todas las apps muestren alertas personalizadas en la barra de estado.
Un Administrador de actividad que administra el ciclo de vida de las apps y proporciona una pila de retroceso de navegación común.
Provedor de contenido que permiten que las apps accedan a datos desde otras apps, como la app de Contactos, o compartan sus propios datos.
Los desarrolladores tienen acceso total a las mismas API del marco de trabajo que usan las apps del sistema Android.
EL NÚCLEO:El Núcleo (o kernel) es una colección de módulos de software que se ejecutan en forma privilegiada -lo que significa que tienen acceso pleno a los recursos del sistema. El núcleo normalmente representa sólo
una pequeña parte de lo que por lo general se piensa que es todo el sistema operativo, pero es tal vez el código que más se utiliza. Por esta razón, el núcleo reside por lo regular en la memoria principal, mientras que otras
partes del sistema operativo son cargadas en la memoria principal sólo cuando se necesitan .Los núcleos se diseñan para realizar "el mínimo” posible de procesamiento en cada interrupción y dejar que el resto lo realice el
proceso apropiado del sistema, que puede operar mientras el núcleo se habilita para atender otras interrupciones. El núcleo de un sistema operativo normalmente contiene el código necesario para realizar las siguientes
funciones:
• Manejo de interrupciones.
• Creación y destrucción de procesos.
• Cambio de estado de los procesos.
• Despacho.
• Suspensión y reanudación de procesos.
• Sincronización de procesos.
• Comunicación entre procesos.
• Manipulación de los bloques de control de procesos.
• Apoyo para las actividades de entrada/salida.
• Apoyo para asignación y liberación de memoria.
• Apoyo para el sistema de archivos
Apoyo para el mecanismo de llamada y retorno de un procedimiento.
• Apoyo para ciertas funciones de contabilidad del sistema.
formacionenlinea.academica.mx/mod/book/view.php?id=58490 4/5
27/12/2020 Bloque 2. ARQUITECTURA: ARQUITECTURAS
Estas llamadas se implementan usualmente con una instrucción de máquina que provoca una interrupción. Esta interrupción hace que el procesador real pase a modo sistema e invoque una rutina de atención
perteneciente al núcleo y que ejecuta la llamada al sistema. Los argumentos de la llamada se pasan a través de los registros del procesador.
La operación de los dispositivos es altamente dependiente de su implementación. Es así como un disco SCSI se opera de una forma distinta de un disco IDE. Para independizar el código del núcleo de los variados
mecanismos de interacción con los dispositivos, el núcleo define clases de dispositivos. Ejemplos de clases son disco, cinta, puerta de comunicación, interfaz de red, etc. Para cada clase se define una interfaz estándar
para interactuar con cualquier dispositivo que pertenezca a la clase. Esta interfaz corresponde a las declaraciones de un conjunto de procedimientos no implementados.
Un driver es el código que implementa una interfaz estándar para interactuar con un dispositivo específico, como por ejemplo un disco SCSI. Este código es por lo tanto altamente dependiente de los discos SCSI y no
funcionará con discos IDE. Sin embargo, el núcleo interactúa con este driver para discos SCSI de la misma forma que lo hace con el driver para discos IDE, es decir a través de la misma interfaz.
La visión que tiene el núcleo de un disco a través de un driver es la de un arreglo de bloques de 512 o 1024 bytes de taman o fijo. El núcleo puede leer o escribir directamente cualquiera de estos bloques haciendo uso de la
interfaz estándar de la clase disco.
Por otra parte, la visión que tiene el núcleo de una cinta es la de un conjunto de bloques de taman o variable que sólo pueden leerse o grabarse en secuencia. También puede rebobinar esta cinta para volver a leerla o
grabarla. Todo esto a través de la interfaz estándar de la clase cinta.
Es usual que los drivers estén siempre residentes en la memoria real y por lo tanto son parte del núcleo. Sin embargo la tendencia es que los drivers son módulos que se cargan dinámicamente si es necesario. También
existen drivers que corren como un proceso --como cualquier aplicación-- y por lo tanto corren en modo usuario (por ejemplo el servidor X de X-windows).
SISTEMA DE ARCHIVOS
El sistema de archivos es la componente del sistema operativo que estructura un disco en una jerarquía de directorios y archivos. Conceptualmente multiplexa un disco de taman o fijo en una jerarquía de discos de taman
o variable o archivos.
Dada esta equivalencia conceptual entre discos y archivos no es raro que ambos se manipulen con las mismas llamadas al sistema: open, read, write, close y lseek (esta última mueve la cabeza del disco hacia un bloque
determinado).
Es usual que el sistema de archivos sea parte del núcleo. Por lo demás la motivación inicial de muchos sistemas operativos como Unix era el de ofrecer un sistema de archivos a un único proceso. Por algo DOS significa Disk
Operating System y por ello es natural que forme parte del núcleo. Sin embargo hay sistemas operativos que ofrecen el sistema de archivos como parte de un proceso que no es parte del núcleo.
INTERPRETE DE COMANDOS
El intérprete de comando (o shell) se encarga de leer las órdenes interactivas del usuario y ejecutar los programas que el usuario indique.
Usualmente el intérprete de comandos es un proceso más del sistema operativo y no forma parte del núcleo. Por ejemplo Unix ofrece varios intérpretes de comandos ( sh, csh y sus variantes). El intérprete de comandos de
DOS se encuentra en COMMAND.COM.
REFERENCIAS
1.Llaven, D. S. (2015). Sistemas Operativos: Panorama para ingeniería en computación e informática. Grupo Editorial Patria.
2.Tanenbaum, A. S. (2003). Sistemas operativos modernos. Pearson Educación.Stallings, W. (2004). Sistemas operativos (Vol. 2). Prentice Hall.
3.Solá, S. C. (2007). Fundamentos de sistemas operativos: teoría y ejercicios resueltos. Editorial Paraninfo.
4.Pérez, D. (2009). Sistemas embebidos y sistemas operativos embedidos. Lecturas en ciencias de la computación. Universidad Central de Venezuela, Vols.% i de% 2lSSN, 1316-6239.
BLOQUE2_VIDEO
formacionenlinea.academica.mx/mod/book/view.php?id=58490 5/5