El documento describe los componentes principales de una computadora moderna y el papel del sistema operativo. El sistema operativo proporciona abstracciones de alto nivel para ocultar la complejidad del hardware subyacente y administrar los recursos de manera ordenada entre los programas. El sistema operativo extiende las instrucciones de la computadora y administra recursos como la CPU, memoria y dispositivos de entrada/salida de manera que puedan ser compartidos entre los programas.
Este programa en ensamblador 8086 calcula el máximo común divisor (MCD) y mínimo común múltiplo (MCM) de dos números. Usa un bucle para encontrar el mayor número que divide a ambos números de forma exacta. Almacena este número como el MCM y luego calcula el MCD dividiendo el producto de los dos números originales entre el MCM.
El documento describe el origen y características del sistema operativo Linux. Se explica que Linux surgió a partir de Unix y fue desarrollado por Linus Torvalds como una alternativa a Minix que permitiera modificaciones. Linux aprovechó el sistema GNU para proveer la mayoría de las utilidades excepto el núcleo, desarrollado por Torvalds.
El documento describe los conceptos fundamentales de los procesos en sistemas operativos. Explica que un proceso es un programa en ejecución que incluye el contador de programa, registros y variables. Los procesos pueden encontrarse en diferentes estados como listo, ejecutando o bloqueado. También describe el bloque descriptor de proceso, la creación de procesos, las listas y colas de procesos, y el cambio de contexto. Por último, introduce los conceptos de hilos a nivel de usuario y núcleo.
Este documento trata sobre la interoperabilidad entre sistemas operativos. Explica que la interoperabilidad se refiere a la habilidad de sistemas diversos para interactuar con objetivos comunes. También discute las dimensiones técnicas, semánticas y organizacionales de la interoperabilidad y describe formatos de archivos abiertos e estándares.
La segmentación de memoria permite dividir un programa en segmentos lógicos de tamaño variable que pueden ser cargados en memoria de forma independiente según sean necesarios, optimizando el uso de la memoria limitada. Cada segmento contiene información lógica del programa como subrutinas o arreglos y son mapeados a direcciones de memoria física mediante una tabla de segmentos.
Arquitectura y caracteristicas de los sistemas operativos windowsslipkdany21
Este documento describe la arquitectura y características de los sistemas operativos Windows. Explica que Windows tiene una arquitectura modular compuesta de varios componentes que ejecutan tareas específicas y proveen servicios a otros componentes siguiendo un modelo cliente-servidor. Describe los componentes clave del núcleo como la Capa de Abstracción de Hardware, el Microkernel y el Ejecutor de Windows, y sus funciones principales como la planificación, manejo de interrupciones y abstracción del hardware.
El documento describe la historia de los procesadores utilizados en las computadoras Mac de Apple, desde Motorola hasta Intel, y las capas del sistema operativo Mac OS X, incluyendo las aplicaciones Cocoa, Carbon y Java, así como las tecnologías subyacentes Darwin, Aqua, Quartz, OpenGL, QuickTime, Core Video y Core Audio. Explica brevemente el propósito de cada capa y tecnología para proveer gráficos, multimedia, compatibilidad multiplataforma y funcionalidad básica en Mac OS X.
Este programa en ensamblador 8086 calcula el máximo común divisor (MCD) y mínimo común múltiplo (MCM) de dos números. Usa un bucle para encontrar el mayor número que divide a ambos números de forma exacta. Almacena este número como el MCM y luego calcula el MCD dividiendo el producto de los dos números originales entre el MCM.
El documento describe el origen y características del sistema operativo Linux. Se explica que Linux surgió a partir de Unix y fue desarrollado por Linus Torvalds como una alternativa a Minix que permitiera modificaciones. Linux aprovechó el sistema GNU para proveer la mayoría de las utilidades excepto el núcleo, desarrollado por Torvalds.
El documento describe los conceptos fundamentales de los procesos en sistemas operativos. Explica que un proceso es un programa en ejecución que incluye el contador de programa, registros y variables. Los procesos pueden encontrarse en diferentes estados como listo, ejecutando o bloqueado. También describe el bloque descriptor de proceso, la creación de procesos, las listas y colas de procesos, y el cambio de contexto. Por último, introduce los conceptos de hilos a nivel de usuario y núcleo.
Este documento trata sobre la interoperabilidad entre sistemas operativos. Explica que la interoperabilidad se refiere a la habilidad de sistemas diversos para interactuar con objetivos comunes. También discute las dimensiones técnicas, semánticas y organizacionales de la interoperabilidad y describe formatos de archivos abiertos e estándares.
La segmentación de memoria permite dividir un programa en segmentos lógicos de tamaño variable que pueden ser cargados en memoria de forma independiente según sean necesarios, optimizando el uso de la memoria limitada. Cada segmento contiene información lógica del programa como subrutinas o arreglos y son mapeados a direcciones de memoria física mediante una tabla de segmentos.
Arquitectura y caracteristicas de los sistemas operativos windowsslipkdany21
Este documento describe la arquitectura y características de los sistemas operativos Windows. Explica que Windows tiene una arquitectura modular compuesta de varios componentes que ejecutan tareas específicas y proveen servicios a otros componentes siguiendo un modelo cliente-servidor. Describe los componentes clave del núcleo como la Capa de Abstracción de Hardware, el Microkernel y el Ejecutor de Windows, y sus funciones principales como la planificación, manejo de interrupciones y abstracción del hardware.
El documento describe la historia de los procesadores utilizados en las computadoras Mac de Apple, desde Motorola hasta Intel, y las capas del sistema operativo Mac OS X, incluyendo las aplicaciones Cocoa, Carbon y Java, así como las tecnologías subyacentes Darwin, Aqua, Quartz, OpenGL, QuickTime, Core Video y Core Audio. Explica brevemente el propósito de cada capa y tecnología para proveer gráficos, multimedia, compatibilidad multiplataforma y funcionalidad básica en Mac OS X.
Linux is an open-source operating system that can be used as an alternative to proprietary operating systems like Windows. The document provides an overview of Linux, including its history beginning as a free Unix-like kernel developed by Linus Torvalds. It discusses the GNU project and how Linux combined with GNU software to form a complete free operating system. Additionally, it covers topics like Debian Linux, package management, GUI and CLI interfaces, and basic Linux commands.
Protección y Seguridad de los Sistemas OperativosRichard J. Nuñez
El documento compara la seguridad de los sistemas operativos Windows y Linux. Explica que Windows tiene más vulnerabilidades debido a su diseño cerrado, mientras que Linux es más seguro gracias a su código abierto y falta de usuarios comunes. También describe varios métodos de protección como usar cuentas de usuario con menos privilegios, mantener software actualizado y crear contraseñas seguras.
SISTEMAS OPERATIVOS WINDOWS, LINUX, MACOS, ANDROIDC C
El documento describe los principales sistemas operativos Windows, Linux, MacOS y Android. Detalla las características clave de cada uno y enumera algunas de sus versiones más importantes, como Windows 95, Ubuntu, OS X 10.9 Mavericks y las versiones de Android nombradas en postres como KitKat.
Este documento compara diferentes sistemas operativos para servidores, incluyendo Linux, Windows Server, Mac OS X Server, y el servidor web de Google. Describe las ventajas y desventajas de cada uno, como la estabilidad, seguridad, compatibilidad de software, y costo. Concluye que los sistemas operativos para servidores continúan evolucionando para mejorar la interacción entre usuarios y hardware.
Linux es un sistema operativo libre y gratuito desarrollado inicialmente por Linus Torvalds como un hobby en 1991. Se caracteriza por ser estable, confiable y tener muchas distribuciones disponibles. Algunas de las distribuciones más populares son Ubuntu, Mint y Fedora. Linux puede ser personalizado a través de diferentes entornos de escritorio como GNOME, KDE, LXDE y XFCE. Ofrece ventajas como ser gratuito, tener código abierto, ser más seguro y permitir mayor personalización en comparación con Windows y macOS.
Este documento describe tres paradigmas de desarrollo de software: el paradigma tradicional o cascada, el paradigma orientado a objetos, y el paradigma ágil. Explica las características clave de cada uno y sus ventajas y desventajas.
Desde hace algunos años, el diseño de los microprocesadores han tenido cambios, distinguiéndose entre las filosofías CISC y RISC. CISC se refiere a procesadores tradicionales con complejas operaciones poco utilizadas, mientras que RISC reduce la potencia e instrucciones pero aumenta la velocidad. No se puede decir que un diseño sea inherentemente mejor, ya que los nuevos microprocesadores incluyen características de ambas filosofías.
Este documento presenta una introducción a los sistemas operativos. Define un sistema operativo y explica que su función es permitir la comunicación entre el usuario y la computadora y gestionar los recursos de la máquina de manera eficiente. Luego describe los diferentes tipos de sistemas operativos clasificados por su estructura, los servicios que ofrecen y la forma en que brindan dichos servicios.
El documento describe las cinco generaciones de sistemas operativos, desde la generación cero en la década de 1940 hasta la quinta generación actual. Explica las características clave de cada generación, como el procesamiento por lotes en la primera generación, la multiprogramación y el multiprocesamiento en la segunda generación, y el desarrollo de redes y sistemas operativos distribuidos en la quinta generación. El documento concluye que los sistemas operativos son fundamentales para el funcionamiento de las computadoras modernas.
Este documento compara tres herramientas CASE: BOUML, Visible Analyst y Visual Paradigm. BOUML es de código abierto y permite generar código en varios lenguajes. Visible Analyst ofrece soporte completo para análisis y diseño de proyectos y está disponible en varias versiones. Visual Paradigm es multiplataforma, permite modelado de procesos de negocio y generación de código en 10 lenguajes.
Este documento presenta una línea de tiempo de los principales sistemas operativos desde 1961 hasta 2012. Comienza con los primeros sistemas operativos como MCP y GM-NAA I/O desarrollados en la década de 1960, y continúa describiendo versiones posteriores de Unix, DOS, Windows y Mac OS. Concluye con descripciones breves de sistemas operativos recientes como Windows 8 y Mac OS X Snow Leopard. El documento proporciona una visión general histórica del desarrollo de los sistemas operativos a lo largo
El documento describe los conceptos fundamentales de los procesos y la multitarea. Explica que un proceso es la unidad de ejecución gestionada por el sistema operativo y está compuesto por código, datos y estado. También describe el modelo de procesos de cinco estados y cómo el sistema operativo mantiene la información de cada proceso en una estructura llamada Bloque de Control de Proceso.
Este documento presenta información sobre el sistema operativo OS/2. Explica que OS/2 fue desarrollado por IBM y Microsoft como un sistema operativo multitarea para reemplazar a MS-DOS. Detalla algunas versiones clave de OS/2 como la 1.0 de 1987, la 2.0 de 1992 y la Warp 3.0 y 4.0 de los años 90. Finalmente, menciona que a partir de 2001 el desarrollo de OS/2 continuó bajo el nombre eComStation.
Red Hat fue fundada en 1994 y lanzó la primera versión de Red Hat Linux en noviembre de ese año, siendo una de las primeras distribuciones comerciales de Linux. A lo largo de los años ha lanzado varias versiones mejoradas y en la actualidad ofrece dos productos principales: Fedora Core para usuarios finales y Red Hat Enterprise Linux para entornos empresariales.
Sistemas Operativos I- Algoritmo de QUANTUMMari Cruz
Este documento describe el algoritmo de planificación por turnos o Round Robin. Explica que la planificación consiste en políticas que rigen el orden en que se completa el trabajo para optimizar el rendimiento. En la planificación por turnos, se define un pequeño intervalo de tiempo llamado "cuanto" y el planificador asigna la CPU a cada proceso preparado por hasta 1 cuanto antes de pasar al siguiente. El documento también define el cuanto como el tiempo máximo que un proceso puede usar el procesador y discute ventajas y desventajas de valores de cuanto grandes
Este documento resume la historia y propósito del proyecto Fedora. Comenzó como una rama de innovación rápida de Red Hat Linux para probar nuevas funciones antes de incluirlas en Red Hat Enterprise Linux. Fedora se actualiza cada 6 meses y es la base de muchas distribuciones. Su objetivo es permitir la innovación de software libre de manera rápida y colaborativa a través de su comunidad global de desarrolladores y usuarios.
The document provides an overview of the Linux kernel, including its architecture, startup process, functionality, configuration, and compilation. It discusses the differences between micro and monolithic kernels. It also explains the Linux kernel architecture with user space and kernel space separated by a system call interface. Key aspects covered include process management, memory management, device management, and the kernel build system.
El documento describe la historia, componentes y características de GNU/Linux. Explica que el núcleo Linux fue creado por Linus Torvalds, mientras que las herramientas básicas del sistema operativo fueron desarrolladas por el proyecto GNU, por lo que muchos se refieren al sistema completo como GNU/Linux. Describe también algunas de las distribuciones 100% libres de GNU/Linux y los enlaces externos relacionados.
MANUAL DE PRACTICAS DE LINUX (Alberto Hdz) Alberto Hdz
1. El documento contiene ejercicios sobre sistemas operativos Linux y sus distribuciones. Incluye preguntas sobre conceptos básicos de Linux como sistemas operativos, distribuciones, comandos y directorios.
2. También incluye ejercicios prácticos sobre la creación y modificación de usuarios, grupos, archivos y directorios en Linux. Se pide crear estructuras de directorios, copiar y mover archivos entre directorios.
3. Los ejercicios cubren temas como permisos de archivos y directorios
La interfaz tiene un número de ventajas sobre el BIOS , incluyendo más espacio para el código de firmware , una interfaz de usuario más accesible , y la ...
El documento describe los conceptos básicos de los sistemas de archivos. Explica que proporcionan una organización lógica para acceder a archivos organizados en directorios de forma jerárquica. También detalla las operaciones básicas sobre archivos como crear, abrir, leer y escribir. Finalmente, resume las diferentes estructuras e implementaciones comunes utilizadas en sistemas de archivos como la asignación contigua de bloques, archivos enlazados e indexados.
El modelo entidad-relación describe los datos en una base de datos como entidades, relaciones y atributos. Las entidades representan objetos del mundo real y se conectan mediante relaciones. Las entidades tienen atributos que las describen y al menos un atributo clave que las identifica de forma única. Las relaciones conectan diferentes entidades y tienen cardinalidad que especifica el número de entidades vinculadas.
Linux is an open-source operating system that can be used as an alternative to proprietary operating systems like Windows. The document provides an overview of Linux, including its history beginning as a free Unix-like kernel developed by Linus Torvalds. It discusses the GNU project and how Linux combined with GNU software to form a complete free operating system. Additionally, it covers topics like Debian Linux, package management, GUI and CLI interfaces, and basic Linux commands.
Protección y Seguridad de los Sistemas OperativosRichard J. Nuñez
El documento compara la seguridad de los sistemas operativos Windows y Linux. Explica que Windows tiene más vulnerabilidades debido a su diseño cerrado, mientras que Linux es más seguro gracias a su código abierto y falta de usuarios comunes. También describe varios métodos de protección como usar cuentas de usuario con menos privilegios, mantener software actualizado y crear contraseñas seguras.
SISTEMAS OPERATIVOS WINDOWS, LINUX, MACOS, ANDROIDC C
El documento describe los principales sistemas operativos Windows, Linux, MacOS y Android. Detalla las características clave de cada uno y enumera algunas de sus versiones más importantes, como Windows 95, Ubuntu, OS X 10.9 Mavericks y las versiones de Android nombradas en postres como KitKat.
Este documento compara diferentes sistemas operativos para servidores, incluyendo Linux, Windows Server, Mac OS X Server, y el servidor web de Google. Describe las ventajas y desventajas de cada uno, como la estabilidad, seguridad, compatibilidad de software, y costo. Concluye que los sistemas operativos para servidores continúan evolucionando para mejorar la interacción entre usuarios y hardware.
Linux es un sistema operativo libre y gratuito desarrollado inicialmente por Linus Torvalds como un hobby en 1991. Se caracteriza por ser estable, confiable y tener muchas distribuciones disponibles. Algunas de las distribuciones más populares son Ubuntu, Mint y Fedora. Linux puede ser personalizado a través de diferentes entornos de escritorio como GNOME, KDE, LXDE y XFCE. Ofrece ventajas como ser gratuito, tener código abierto, ser más seguro y permitir mayor personalización en comparación con Windows y macOS.
Este documento describe tres paradigmas de desarrollo de software: el paradigma tradicional o cascada, el paradigma orientado a objetos, y el paradigma ágil. Explica las características clave de cada uno y sus ventajas y desventajas.
Desde hace algunos años, el diseño de los microprocesadores han tenido cambios, distinguiéndose entre las filosofías CISC y RISC. CISC se refiere a procesadores tradicionales con complejas operaciones poco utilizadas, mientras que RISC reduce la potencia e instrucciones pero aumenta la velocidad. No se puede decir que un diseño sea inherentemente mejor, ya que los nuevos microprocesadores incluyen características de ambas filosofías.
Este documento presenta una introducción a los sistemas operativos. Define un sistema operativo y explica que su función es permitir la comunicación entre el usuario y la computadora y gestionar los recursos de la máquina de manera eficiente. Luego describe los diferentes tipos de sistemas operativos clasificados por su estructura, los servicios que ofrecen y la forma en que brindan dichos servicios.
El documento describe las cinco generaciones de sistemas operativos, desde la generación cero en la década de 1940 hasta la quinta generación actual. Explica las características clave de cada generación, como el procesamiento por lotes en la primera generación, la multiprogramación y el multiprocesamiento en la segunda generación, y el desarrollo de redes y sistemas operativos distribuidos en la quinta generación. El documento concluye que los sistemas operativos son fundamentales para el funcionamiento de las computadoras modernas.
Este documento compara tres herramientas CASE: BOUML, Visible Analyst y Visual Paradigm. BOUML es de código abierto y permite generar código en varios lenguajes. Visible Analyst ofrece soporte completo para análisis y diseño de proyectos y está disponible en varias versiones. Visual Paradigm es multiplataforma, permite modelado de procesos de negocio y generación de código en 10 lenguajes.
Este documento presenta una línea de tiempo de los principales sistemas operativos desde 1961 hasta 2012. Comienza con los primeros sistemas operativos como MCP y GM-NAA I/O desarrollados en la década de 1960, y continúa describiendo versiones posteriores de Unix, DOS, Windows y Mac OS. Concluye con descripciones breves de sistemas operativos recientes como Windows 8 y Mac OS X Snow Leopard. El documento proporciona una visión general histórica del desarrollo de los sistemas operativos a lo largo
El documento describe los conceptos fundamentales de los procesos y la multitarea. Explica que un proceso es la unidad de ejecución gestionada por el sistema operativo y está compuesto por código, datos y estado. También describe el modelo de procesos de cinco estados y cómo el sistema operativo mantiene la información de cada proceso en una estructura llamada Bloque de Control de Proceso.
Este documento presenta información sobre el sistema operativo OS/2. Explica que OS/2 fue desarrollado por IBM y Microsoft como un sistema operativo multitarea para reemplazar a MS-DOS. Detalla algunas versiones clave de OS/2 como la 1.0 de 1987, la 2.0 de 1992 y la Warp 3.0 y 4.0 de los años 90. Finalmente, menciona que a partir de 2001 el desarrollo de OS/2 continuó bajo el nombre eComStation.
Red Hat fue fundada en 1994 y lanzó la primera versión de Red Hat Linux en noviembre de ese año, siendo una de las primeras distribuciones comerciales de Linux. A lo largo de los años ha lanzado varias versiones mejoradas y en la actualidad ofrece dos productos principales: Fedora Core para usuarios finales y Red Hat Enterprise Linux para entornos empresariales.
Sistemas Operativos I- Algoritmo de QUANTUMMari Cruz
Este documento describe el algoritmo de planificación por turnos o Round Robin. Explica que la planificación consiste en políticas que rigen el orden en que se completa el trabajo para optimizar el rendimiento. En la planificación por turnos, se define un pequeño intervalo de tiempo llamado "cuanto" y el planificador asigna la CPU a cada proceso preparado por hasta 1 cuanto antes de pasar al siguiente. El documento también define el cuanto como el tiempo máximo que un proceso puede usar el procesador y discute ventajas y desventajas de valores de cuanto grandes
Este documento resume la historia y propósito del proyecto Fedora. Comenzó como una rama de innovación rápida de Red Hat Linux para probar nuevas funciones antes de incluirlas en Red Hat Enterprise Linux. Fedora se actualiza cada 6 meses y es la base de muchas distribuciones. Su objetivo es permitir la innovación de software libre de manera rápida y colaborativa a través de su comunidad global de desarrolladores y usuarios.
The document provides an overview of the Linux kernel, including its architecture, startup process, functionality, configuration, and compilation. It discusses the differences between micro and monolithic kernels. It also explains the Linux kernel architecture with user space and kernel space separated by a system call interface. Key aspects covered include process management, memory management, device management, and the kernel build system.
El documento describe la historia, componentes y características de GNU/Linux. Explica que el núcleo Linux fue creado por Linus Torvalds, mientras que las herramientas básicas del sistema operativo fueron desarrolladas por el proyecto GNU, por lo que muchos se refieren al sistema completo como GNU/Linux. Describe también algunas de las distribuciones 100% libres de GNU/Linux y los enlaces externos relacionados.
MANUAL DE PRACTICAS DE LINUX (Alberto Hdz) Alberto Hdz
1. El documento contiene ejercicios sobre sistemas operativos Linux y sus distribuciones. Incluye preguntas sobre conceptos básicos de Linux como sistemas operativos, distribuciones, comandos y directorios.
2. También incluye ejercicios prácticos sobre la creación y modificación de usuarios, grupos, archivos y directorios en Linux. Se pide crear estructuras de directorios, copiar y mover archivos entre directorios.
3. Los ejercicios cubren temas como permisos de archivos y directorios
La interfaz tiene un número de ventajas sobre el BIOS , incluyendo más espacio para el código de firmware , una interfaz de usuario más accesible , y la ...
El documento describe los conceptos básicos de los sistemas de archivos. Explica que proporcionan una organización lógica para acceder a archivos organizados en directorios de forma jerárquica. También detalla las operaciones básicas sobre archivos como crear, abrir, leer y escribir. Finalmente, resume las diferentes estructuras e implementaciones comunes utilizadas en sistemas de archivos como la asignación contigua de bloques, archivos enlazados e indexados.
El modelo entidad-relación describe los datos en una base de datos como entidades, relaciones y atributos. Las entidades representan objetos del mundo real y se conectan mediante relaciones. Las entidades tienen atributos que las describen y al menos un atributo clave que las identifica de forma única. Las relaciones conectan diferentes entidades y tienen cardinalidad que especifica el número de entidades vinculadas.
Este documento describe los diferentes tipos de memoria RAM, incluyendo DRAM, SDRAM, DDR, DDR2 y SODIMM. Explica que la RAM es una memoria de acceso aleatorio donde la CPU almacena datos e instrucciones en uso. También cubre conceptos como la velocidad de acceso, capacidad y nomenclatura de las memorias RAM.
Vip 174 pags muy interesante opc imprimir soporte-tecnicoxavazquez
Este documento presenta la información de un curso de Soporte Técnico de 64 horas que incluye temas como electrónica básica, tecnologías de sistemas de cómputo, sistemas operativos y mantenimiento preventivo y correctivo. El curso es obligatorio para la licenciatura en Informática con énfasis en Redes y Telecomunicaciones. El documento provee el temario detallado, introducciones a cada unidad, recomendaciones para el estudio independiente y referencias bibliográficas.
El documento describe la estructura modular de los sistemas operativos, la cual se caracteriza por carecer de una estructura definida ya que consiste en una colección de procedimientos que pueden llamarse unos a otros. Esta estructura sugiere un programa principal que llama a los procedimientos de servicio requeridos y conjuntos de procedimientos de servicio y utilidad que ayudan a completar las llamadas del sistema.
Estructura jerarquica de un sistema operativoYurley Ochoa
Este documento describe y compara diferentes estructuras jerárquicas de sistemas operativos. Introduce los sistemas monolíticos, donde todas las funciones se ejecutan en el mismo nivel del núcleo, haciéndolos vulnerables. Luego describe los sistemas de micronúcleo, que dividen el código en un pequeño núcleo y servicios en procesos de usuario para mayor fiabilidad. Finalmente, presenta los sistemas por capas y por módulos, donde el sistema operativo se organiza modularmente en diferentes capas
Este documento presenta información sobre las arquitecturas de 32 y 64 bits. Explica que las versiones de 64 bits pueden direccionar más memoria de forma más eficiente y que ofrecen mayores prestaciones para aplicaciones que requieren procesar grandes cantidades de datos. También analiza las ventajas e inconvenientes de cada arquitectura y provee ejemplos como videojuegos y software de diseño donde se benefician de la arquitectura de 64 bits.
La segunda generación de computadoras surgió en la década de 1950 con la introducción del transistor, un dispositivo más pequeño y eficiente que el tubo de vacío utilizado anteriormente. El primer computador con transistores, el IBM 1401, apareció en 1960 iniciando esta nueva era. Las computadoras de segunda generación eran más rápidas, pequeñas y eficientes energéticamente que sus predecesoras, almacenaban datos en núcleos magnéticos en lugar de tambores, y utilizaban lenguajes de programación de alto nivel como FOR
La segunda generación de computadoras se desarrolló en la década de 1960, cuando los transistores reemplazaron a los tubos de vacío, haciendo que las computadoras sean más pequeñas, rápidas y económicas. Se desarrollaron nuevos lenguajes de programación como COBOL y FORTRAN. Las computadoras se usaban para aplicaciones como reservas aéreas y simulaciones.
El documento habla sobre sistemas operativos. Explica que un sistema operativo coordina el hardware de la computadora como la memoria, impresoras y discos, organiza archivos en dispositivos de almacenamiento, y maneja errores de hardware. También describe cómo un sistema operativo controla procesos, puede ser de tarea única o multitarea, y usa técnicas como memoria virtual. Menciona sistemas operativos comunes como UNIX, Mac OS, MS-DOS, OS/2 y Windows-NT.
El documento define software y sistemas operativos, y describe la historia y características de varios sistemas operativos importantes. Define software como instrucciones que permiten que el hardware realice tareas, y divide el software en sistemas operativos y software de aplicación. Define sistemas operativos como software que controla la computadora coordinando el hardware y organizando archivos. Explora la evolución de sistemas operativos como MS-DOS, Mac OS, Windows y Linux a través de las décadas.
Este documento proporciona información sobre varios sistemas operativos, incluidos MS-DOS, Windows, Linux y OS/400. Explica brevemente la historia y características de estos sistemas operativos, así como conceptos generales sobre sistemas operativos como su función de administrar hardware y facilitar el trabajo del usuario. También incluye tablas de ventas que muestran las ventas de DOS y Windows a lo largo de los años.
El documento habla sobre los sistemas operativos. Define software, sistemas operativos y sus funciones principales. Explica la historia de los primeros sistemas operativos como MS-DOS, Mac OS, y Windows. También describe cómo funciona un sistema operativo, cómo se utiliza, sus características deseables y clasificaciones como sistemas operativos multitareas.
El documento describe varios sistemas operativos incluyendo DOS, Windows, Mac OS, Linux, UNIX y Mac OS X Leopard. Explica brevemente las funciones de cada uno y algunas de sus características clave. También incluye comandos comunes de DOS y UNIX.
1) El documento describe un taller sobre sistemas operativos que incluye preguntas sobre conceptos como el master boot record, bootstrap, el núcleo, las funciones de los sistemas operativos y más.
2) Se explican varios conceptos clave de sistemas operativos como el master boot record, bootstrap, las funciones del núcleo y las clasificaciones de sistemas operativos.
3) El documento provee información sobre diferentes sistemas operativos incluyendo Windows, MacOS, Linux y sus distribuciones.
El documento describe el Master Boot Record (MBR), que contiene información para iniciar los sistemas operativos instalados. Explica que el MBR puede dañarse por la instalación de otro sistema operativo o por virus. También describe los componentes del MBR y define Bootstrap y sistemas operativos.
Este documento describe los sistemas operativos y dispositivos de almacenamiento. Define un sistema operativo como el software que controla los recursos de hardware y coordina el uso entre programas y usuarios. También describe las funciones de un sistema operativo como proveer una máquina virtual y administrar los recursos de forma eficiente. Brevemente menciona algunos sistemas operativos populares como DOS, Windows y Mac OS. Finalmente, define los dispositivos de almacenamiento como componentes que leen y escriben datos en medios de almacenamiento secundario.
El documento describe brevemente los diferentes tipos de software, incluyendo sistemas operativos, software de aplicación, software de red y software de lenguaje. Explica que los sistemas operativos controlan las tareas del ordenador y que el software de aplicación dirige tareas específicas.
El documento describe brevemente los diferentes tipos de software, incluyendo sistemas operativos, software de aplicación, software de red y software de lenguaje. Explica que los sistemas operativos controlan los trabajos del ordenador y que el software de aplicación dirige las distintas tareas para las que se utilizan las computadoras.
1) El documento describe los conceptos básicos de los sistemas operativos, incluyendo su función de controlar los recursos de hardware y proveer una interfaz de alto nivel para los programadores. 2) Explica que el sistema operativo actúa como una capa entre el hardware y el software de aplicaciones para ocultar la complejidad del hardware. 3) También clasifica los diferentes tipos de sistemas operativos como monousuario, multiusuario, por lotes y tiempo real.
El documento describe las características y funciones principales de los sistemas operativos y sus componentes. Explica que el MBR es el primer sector del disco duro que contiene instrucciones para cargar el sistema operativo y la tabla de particiones. También define bootstrap, los estados de un proceso, y las funciones del núcleo o kernel, que administra los recursos y permite la comunicación con el hardware. Finalmente, compara las arquitecturas y características del kernel de Linux y Windows.
El documento habla sobre los conceptos básicos de los sistemas operativos. Explica que el MBR contiene el código de arranque y la tabla de particiones, bootstrap es una biblioteca para diseño web, y el sistema operativo administra los recursos y organiza la interacción entre hardware, software y usuario.
El documento describe varios tipos de software, incluyendo sistemas operativos como Windows 95, 98, NT Server, XP y sistemas operativos más antiguos como MS-DOS. Explica las funciones básicas de los sistemas operativos como controlar hardware, organizar archivos, manejar errores y tareas. También describe brevemente el firmware como instrucciones de máquina grabadas en memoria para propósitos específicos.
Un sistema operativo es software que controla los recursos de hardware de una computadora y facilita la ejecución de otros programas. Administra el tiempo de procesamiento, la memoria, los dispositivos de entrada/salida y otros recursos compartidos, además de proveer una interfaz de usuario unificada que aísla a los programadores de las complejidades del hardware subyacente.
Un sistema operativo es software que controla los recursos de hardware de una computadora y facilita la ejecución de otros programas. Administra el tiempo de procesamiento, la memoria, los dispositivos de entrada/salida y otros recursos compartidos, además de proveer una interfaz de usuario unificada que aísla a los programadores de las complejidades del hardware subyacente.
El documento describe las funciones de un sistema operativo. Un sistema operativo administra los recursos del hardware entre programas y usuarios, y provee una interfaz de máquina virtual para ejecutar programas de manera conveniente protegiendo a los usuarios de las complejidades del hardware subyacente. Además, un sistema operativo administra el uso compartido de recursos cuando hay múltiples programas ejecutándose simultáneamente.
Asistente de Windows es un agente inteligente que puede responder
preguntas, encontrar información en Internet y completar tareas comunes.
El asistente de Windows puede ayudar con:
- Preguntas generales como "¿Qué hora es?" o "¿Cuál es el clima hoy?"
- Búsquedas en Internet para encontrar información sobre temas específicos
- Configuración de recordatorios y alarmas
- Cálculos matemáticos básicos
- Reproducción de música, videos y otros contenidos
- Y más
Para acceder al asistente, haga cl
Este documento presenta una introducción a los sistemas operativos. Explica brevemente qué es un sistema operativo, sus funciones principales y algunos de los sistemas operativos actuales más importantes como Windows, Linux, Mac OS y otros. También resume brevemente la evolución de los sistemas operativos a través del tiempo.
Similar a Clase 1 conceptos básicos de los SO (20)
Este documento discute la noción de libertad y cómo en realidad está limitada por factores como el sexo, clase social y privilegios desde el nacimiento. Señala que la mayoría de la población tiene deficiencias en su alimentación, educación y oportunidades laborales, mientras que la clase privilegiada obtiene una "bonanza" en todos los aspectos de la vida. Aunque existen leyes que prometen derechos para todos, en realidad favorecen a la élite y encasillan a la gente dentro de parámetros establecidos, limit
Método de la regla falsa (o metodo de la falsa posición)Tensor
Este documento describe el método de la regla falsa para encontrar las raíces de una función. Explica cómo establecer un intervalo inicial y calcular nuevas aproximaciones iterativamente hasta converger en una raíz. También muestra cómo implementar este método numéricamente usando Visual Basic para graficar las iteraciones y calcular las raíces de un polinomio de ejemplo.
Este documento describe el método de la bisección para encontrar raíces de una función. El método requiere dos valores iniciales en ambos lados de la raíz donde los valores funcionales tengan signos opuestos. A continuación, se muestra un ejemplo de aplicación del método de bisección para encontrar una raíz de la función x^3 + 2x^2 + 10x - 20 entre 0 y 4 a través de 13 iteraciones.
El documento describe los pasos para realizar una simulación del tráfico vehicular en Promodel utilizando una imagen de Google Maps que muestra las calles alrededor de un campus universitario. Se importa la imagen a Promodel, se marcan los semáforos y rutas, y se configuran los vehículos, tiempos de tránsito y paradas para simular el flujo vehicular durante 30 minutos.
Este documento presenta las fórmulas y conceptos básicos de la teoría de colas para sistemas con un solo canal y múltiples canales. Para sistemas con un solo canal, introduce las fórmulas para calcular la probabilidad de que el sistema esté vacío, el número promedio de unidades en la cola y en el sistema, los tiempos promedio de espera y en el sistema. Para sistemas con múltiples canales, extiende estas fórmulas para cuando hay k canales en paralelo.
Este documento presenta 5 problemas de programación en C++ sobre el uso de constantes simbólicas y macros. El objetivo es que los estudiantes aprendan a definir constantes con #define y const, y a crear macros para funciones como calcular el volumen de una esfera. Los problemas incluyen programas para calcular sumas, acceder a miembros de estructuras de datos, mostrar registros de empleados y seleccionar caracteres de una cadena.
Este documento presenta la práctica número 6 de la asignatura Fundamentos y Lógica de Programación. La práctica se enfoca en algoritmos de búsqueda como la búsqueda binaria. Incluye código C++ para la implementación de un juego espacial y una explicación de un algoritmo de búsqueda binaria. El objetivo es que los estudiantes aprendan y apliquen diferentes métodos de búsqueda.
El documento describe la herramienta Game Maker, la cual permite a usuarios crear sus propios videojuegos bidimensionales sin necesidad de conocimientos avanzados de programación. Game Maker fue creado en 1990 y ofrece diferentes versiones con características variables. Explica los pasos básicos para diseñar un juego en Game Maker como crear sprites, objetos, rooms y eventos.
Este documento presenta una práctica sobre el uso de punteros en C++. Incluye código de ejemplo de un juego espacial y varios programas que demuestran funciones básicas de punteros como almacenar y acceder a direcciones de memoria. También presenta conclusiones sobre el aprendizaje de punteros y enlaces a recursos bibliográficos adicionales sobre el tema.
El documento describe cómo crear y procesar archivos en C++. Explica que los archivos se utilizan para almacenar datos de forma permanente, mientras que las variables solo almacenan datos de forma temporal. Luego, presenta un ejemplo de programa que crea un archivo secuencial para almacenar registros de clientes con deudas, con el número de cuenta como clave de cada registro. El programa abre el archivo, comprueba si la apertura fue exitosa, y luego recopila datos de cliente e introduce cada registro en el archivo de forma secuencial.
Este documento describe cadenas y funciones de cadena en C++. Explica que las cadenas se almacenan como arrays de caracteres terminados en nulo y presenta conceptos como inicialización, declaración y asignación de cadenas. También resume funciones importantes para manipular cadenas en la biblioteca string.h como strcpy(), strcmp() y getline() y cómo pasar arrays y cadenas como parámetros en funciones.
El documento describe la simulación de un proceso de producción utilizando el software ProModel. Específicamente, se presenta un ejemplo de simulación de una prensa que procesa piezas que llegan cada 5 minutos de forma aleatoria y tarda 4 minutos en procesar cada pieza. Se explican los pasos para definir las localizaciones, entidades, frecuencia de llegadas y otros elementos necesarios para configurar el modelo en ProModel y simular el proceso durante 100 días.
1) El documento habla sobre ecuaciones diferenciales de segundo orden y cómo reducirlas a ecuaciones de primer orden. 2) Explica un método llamado reducción de orden que involucra sustituir una solución conocida de la ecuación de segundo orden para encontrar otra solución. 3) Presenta dos ejercicios como ejemplos de aplicar este método para resolver ecuaciones diferenciales de segundo orden.
El documento describe el método de Cauchy-Euler para resolver ecuaciones diferenciales y presenta el método de variación de parámetros como un enfoque alternativo más eficiente. Se explican tres casos para las raíces de la ecuación auxiliar de Cauchy-Euler y se proporcionan fórmulas para determinar las soluciones mediante variación de parámetros. Finalmente, se ilustra el método con dos ejemplos numéricos.
Coeficientes indeterminados enfoque de superposiciónTensor
Este documento describe el método de coeficientes indeterminados para resolver ecuaciones diferenciales lineales no homogéneas de primer y segundo orden con coeficientes constantes. Explica cómo encontrar una solución particular al igual que la solución general, la cual es la suma de la solución complementaria y la solución particular. También incluye ejemplos ilustrativos y dos problemas resueltos paso a paso usando este método.
Este documento presenta diferentes tipos de ecuaciones diferenciales, incluyendo la ecuación de Bernoulli, la ecuación de Ricatti y métodos para resolverlas. La ecuación de Bernoulli puede transformarse en una ecuación lineal mediante una sustitución, mientras que la ecuación de Ricatti puede resolverse encontrando primero una solución particular y luego realizando sustituciones para convertirla en una ecuación de Bernoulli. El documento también proporciona ejemplos resueltos de ambos tipos de ecuaciones.
Este documento presenta una guía para generar muestras aleatorias de distribuciones de probabilidad discretas y continuas usando el software Stat::Fit. Como ejemplo, se simula el tiempo de espera y ocioso de una fotocopiadora universitaria donde los tiempos de llegada son exponenciales y el número de copias por estudiante es uniforme. Se pide generar tres muestras de 40 clientes cada una y calcular los tiempos promedio de llegada, servicio y en el sistema, además del porcentaje de tiempo ocioso.
Este documento trata sobre ondas reflejadas y la profundidad de penetración. Explica las leyes de Snell para la incidencia oblicua y presenta varios problemas resueltos sobre ángulos de transmisión. También cubre temas como polarización perpendicular y paralela, y define el vector de Poynting para describir la dirección del flujo de energía en ondas planas.
Este documento presenta las ondas electromagnéticas. Describe las ecuaciones de Maxwell que unificaron los fenómenos eléctricos y magnéticos y predijeron la existencia de las ondas electromagnéticas. Explica que las ondas electromagnéticas consisten en campos eléctricos y magnéticos variables que se propagan a través del espacio a la velocidad de la luz. Finalmente, analiza el caso de ondas electromagnéticas planas monocromáticas que se propagan en una dirección.
El documento describe las ondas electromagnéticas y su propagación. Establece que un campo eléctrico variable produce un campo magnético variable y viceversa, generando ondas electromagnéticas capaces de propagarse. Estas ondas pueden viajar en medios con o sin fronteras, y su propagación depende de las propiedades del medio como la permitividad, permeabilidad y conductividad.
José Luis Jiménez Rodríguez
Junio 2024.
“La pedagogía es la metodología de la educación. Constituye una problemática de medios y fines, y en esa problemática estudia las situaciones educativas, las selecciona y luego organiza y asegura su explotación situacional”. Louis Not. 1993.
Durante el desarrollo embrionario, las células se multiplican y diferencian para formar tejidos y órganos especializados, bajo la regulación de señales internas y externas.
Ofrecemos herramientas y metodologías para que las personas con ideas de negocio desarrollen un prototipo que pueda ser probado en un entorno real.
Cada miembro puede crear su perfil de acuerdo a sus intereses, habilidades y así montar sus proyectos de ideas de negocio, para recibir mentorías .
2. Una computadora moderna consta de uno o más procesos, una memoria principal,
discos, impresoras, un teclado, un ratón, una pantalla o monitor, interfaces de red
y otros dispositivos de entrada y salida.
3. En general es un sistema complejo. Si todos los programadores de aplicaciones
tuvieran que comprender el funcionamiento de todas estas partes, no escribirán
código alguno.
4.
5. Es más: el trabajo de administrar todos estos componentes y utilizarlos de manera
optima es una tarea muy desafiante.
Por esta razón las computadoras están equipadas con una capa de software
llamado sistema operativo, cuyo trabajo es proporcionar a los programas de
usuario un modelo de computadora mejor, mas simple, mas pulcro, así como
encargarse de la administración de todos los recursos antes mencionados.
6. La mayoría de nosotros hemos tenido experiencia con un sistema operativo como
Windows, Linux, FreeBSD o Mac OS X, pero las apariencias pueden ser
engañosas.
El programa con los que los usuarios generalmente interactúan se denomina shell,
cuando esta basado en texto y GUI (Graphical User Interface; Interfaz gráfica de
usuario) cuando utiliza elementos gráficos o iconos.
En realidad no forma parte del sistema operativo, aunque lo utiliza para llevar a
cabo su trabajo.
7. Lector de Correo
Electrónico
Programa de Interfaz de
Usuario
Sistema Operativo
Modo de usuario
Modo Kernel
Software
Hardware
Navegador Web
Reproductor de
Música
Figura 1-1Ubicación del Sistema Operativo
8. La figura 1-1 presenta un esquema general de los componentes principales que
aquí se analizan. En la parte inferior se muestra el hardware que consiste en
circuitos integrados (chips), tarjetas, discos, un teclado, un monitor y objetos
físicos similares.
Por encima del hardware se encuentra el software. La mayoría de las
computadoras tienen dos modos de operación: modo kernel y modo usuario.
El sistema operativo es la pieza fundamental del software y se ejecuta en modo
kernel (también conocido como modo supervisor).
9. En este modo, el sistema operativo tiene acceso completo a todo el hardware y
puede ejecutar cualquier instrucción que la maquina sea capaz de ejecutar.
El resto del software se ejecuta en modo usuario, en el cual solo un subconjunto de
las instrucciones de maquina es permitido.
En particular, las instrucciones que afectan el control de la maquina o que se
encargan de la E/S (entrada/salida) están prohibidas para los programas en modo
usuario.
10. El programa de interfaz de usuario, shell o GUI, es el nivel mas bajo del software
en modo usuario y permite la ejecución de otros programas, como un navegador
Web, lector de correo electrónico o reproductor de música.
Estos programas también utilizan en forma intensiva el sistema operativo.
Los sistemas operativos difieren de los programas de usuario (es decir de
aplicación) en varias cuestiones además del lugar en el que residen. En particular
son enormes, complejos y de larga duración.
11. El código fuente de un sistema operativo como Linux o Windows contiene cerca de
cinco millones de líneas de código. Para tener una idea de lo que esto significa
considere el trabajo de imprimir cinco millones de líneas en formato libro: con 50
líneas por pagina y 1000 paginas por volumen, se requerirían 100 volúmenes para
listar un sistema operativo de este tamaño.
12. Imagine que tiene un trabajo como encargado de dar mantenimiento a un sistema
operativo y que en su primer día su jefe le presenta un libro con código y le dice:
“Aprenda todo esto”.
Y esta solo seria la parte del kernel. Los programas de usuario como interfaz
gráfica, las bibliotecas y el software de aplicación básico (como le Explorador de
Windows) pueden abarcar fácilmente de 10 o 20 veces esa cantidad.
13. En este punto, debemos tener una idea clara de porque los sistemas operativos
tienen una larga vida, es muy difícil escribir uno y, por lo tanto, el propietario se
resiste a tirarlo y empezar uno nuevo. En vez de ellos evolucionan durante
periodos extensos. Por ejemplo Microsoft se Todos sus sistemas operativos tiene
una apariencia similar a la versión anterior.
14. Línea de Tiempo de la
Evolución de los sistemas
Operativos de Microsoft
15. Otro ejemplo principal que utilizaremos es UNIX, con sus variantes y clones.
También ha evolucionado a través de los años con versiones tales como System V,
Solaris y FreeBSD que se derivan del sistema original, mientras que Linux tienen
una base de código nueva, modelada estrechamente de acuerdo con UNIX y
altamente compatible con él.
17. Es difícil definir un sistema operativo aparte de decir que es el software que se
ejecuta en modo kernel (además de que esto no siempre es cierto). Parte del
problema es que los sistemas operativos realizan dos funciones básicas que no
están relacionadas: proporcionar a los programadores de aplicaciones ( y a los
programas de aplicaciones, naturalmente) un conjunto abstracto de recursos
simples, en vez de complejos conjuntos de hardware; y administrar estos recursos
de hardware.
18. Arquitectura (conjunto de instrucciones, organización de memoria, E/S y
estructura de bus) de la mayoría de las computadoras a nivel de lenguaje maquina
es primitiva y compleja de programar en especial para la entrada y salida.
Ejemplo
Para hacer este punto mas concreto, considere la forma en que se lleve a cabo la
E/S de disco duro (ya se HDD, SDD o un disque flexible ya obsoleto en la
actualidad) mediante los dispositivos de controladores (device controllers) que se
utilizan en la mayoría de las computadoras personales basadas en Intel.
19. Los comandos más básicos son read y write (lectura y escrituta), cada uno de los
cuales requiere 13 parámetros, empaquetados en 9 bytes. Estos parámetros
especifican elementos tales como dirección del bloque del disco a leer, el numero de
sectores por pista, el modo de grabación utilizado en el medio físico, el espacio de
separación entre sectores y lo que se debe hacer con una marca de dirección de
datos eliminados.
Cuando la operación se completa el chip del dispositivo controlador devuelve 23
capos de estado y error, empaquetados en 7 bytes.
20. Como si esto no fuera suficiente, el programador del disco HDD, SDD o disco
flexible también debe estar constantemente al tanto de si el motor de si el motor
esta encendido o apagado. Si el motor esta apagado, debe encenderse con un
retraso largo de arranque para que los datos puedan ser leídos o escritos.
El motor no debe dejar demasiado tiempo encendido porque se desgastara. Por lo
tanto el programador se ve obligado con el problema de elegir entre tener retrasos
largos de arranque o desgastar los discos por ejemplo flexibles y llegar a perder los
datos.
21.
22.
23. Sin entrar en detalles reales, debe quedar claro que el programador promedio tal
vez no desee involucrarse demasiado con la programación de los discos duros. En
vez de ello, lo que desea es una abstracción simple de alto nivel que se encargue de
lidiar con el disco.
En el caso de una abstracción común seria que el disco contiene una colección de
archivos con nombre. Cada archivo puede ser abierto para lectura o escritura,
después, después puede ser leído o escrito, y por ultimo cerrado.
25. La abstracción es la clave para lidiar con la complejidad.
Las buenas abstracciones convierten una tarea casi imposible en dos tareas
manejables. La primera de estas es definir e implementar las abstracciones, la
segunda, utilizarlas para resolver el problema en cuestión.
El trabajo del sistema operativo es crear buenas abstracciones para después
implementar y administrar los objetos abstractos entonces creados.
26. La abstracción es la clave para lidiar con la complejidad.
Las buenas abstracciones convierten una tarea casi imposible en dos tareas
manejables. La primera de estas es definir e implementar las abstracciones, la
segunda, utilizarlas para resolver el problema en cuestión.
El trabajo del sistema operativo es crear buenas abstracciones para después
implementar y administrar los objetos abstractos entonces creados.
27.
28. Una de las principales tareas del sistema operativo es ocultar el hardware y
presentar a los programas (y a sus programadores) abstracciones agradables,
elegantes, simples y consistentes, con las que puedan trabajar. Los sistemas
operativos ocultan la parte fea con la parte hermosa, como se muestra en la figura
1-2.
29. Programas de
Aplicación
Sistema Operativo
Hardware
Interfaz hermosa
Interfaz fea
Figura 1-2 Los sistemas operativos ocultan el hardware feo con
abstracciones hermosas
30. El concepto de un sistema operativo cuya función principal es proporcionar abstracciones a los
programas de aplicación responde una perspectiva de arriba hacia abajo.
La perspectiva alterna, de abajo hacia arriba, sostiene que el sistema operativo está presente
para administrar todas las piezas de un sistema complejo. Las computadoras modernas constan
de procesadores, memorias, temporizadores, discos, ratones, interfaces de red, impresoras y una
amplia variedad de otros dispositivos.
En la perspectiva alterna, el trabajo del sistema operativo es proporcionar una asignación
ordenada y controlada de los procesadores, memorias y dispositivos de E/S, entre los diversos
programas que compiten por estos recursos.
31. Cuando una computadora (o red) tiene varios usuarios, la necesidad de
administrar y proteger la memoria, los dispositivos de E/S y otros recursos es cada
vez mayor; de lo contrario, los usuarios podrían interferir unos con otros. Además,
los usuarios necesitan con frecuencia compartir no sólo el hardware, sino también
la información (archivos o bases de datos, por ejemplo). En resumen, esta visión
del sistema operativo sostiene que su tarea principal es llevar un registro de qué
programa está utilizando qué recursos, de otorgar las peticiones de recursos, de
contabilizar su uso y de mediar las peticiones en conflicto provenientes de
distintos programas y usuarios.
32. La administración de recursos incluye el multiplexaje (compartir) de recursos en dos
formas distintas: en el tiempo y en el espacio.
Cuando un recurso se multiplexa en el tiempo, los distintos programas o usuarios
toman turnos para utilizarlo: uno de ellos obtiene acceso al recurso, después otro, y así
en lo sucesivo.
Por ejemplo, con sólo una CPU y varios programas que desean ejecutarse en ella, el
sistema operativo primero asigna la CPU a un programa y luego, una vez que se ha
ejecutado por el tiempo suficiente, otro programa obtiene acceso a la CPU, después
otro, y en un momento dado el primer programa vuelve a obtener acceso al recurso.
33. Un sistema operativo está íntimamente relacionado con el hardware de la
computadora sobre la que se ejecuta. Extiende el conjunto de instrucciones de la
computadora y administra sus recursos. Para trabajar debe conocer muy bien el
hardware, por lo menos en lo que respecta a cómo aparece para el programador.
Por esta razón, revisaremos brevemente el hardware de computadora como se
encuentra en las computadoras personales modernas. Después de eso, podemos
empezar a entrar en los detalles acerca de qué hacen los sistemas operativos y
cómo funcionan.
34. Conceptualmente, una computadora personal simple se puede abstraer mediante
un modelo como el de la figura 1-3.
Figura 1-3 Algunos componentes de una computadora personal simple
35. Un sistema operativo está íntimamente relacionado con el hardware de la
computadora sobre la que se ejecuta. Extiende el conjunto de instrucciones de la
computadora y administra sus recursos. Para trabajar debe conocer muy bien el
hardware, por lo menos en lo que respecta a cómo aparece para el programador.
Por esta razón, revisaremos brevemente el hardware de computadora como se
encuentra en las computadoras personales modernas. Después de eso, podemos
empezar a entrar en los detalles acerca de qué hacen los sistemas operativos y
cómo funcionan.
36. El “cerebro” de la computadora es la CPU, que obtiene las instrucciones de la
memoria y las ejecuta.
El ciclo básico de toda CPU es obtener la primera instrucción de memoria,
decodificarla para determinar su tipo y operandos, ejecutarla y después obtener,
decodificar y ejecutar las instrucciones subsiguientes.
El ciclo se repite hasta que el programa termina. De esta forma se ejecutan los
programas.
37. Además de los registros generales utilizados para contener variables y resultados
temporales, la mayoría de las computadoras tienen varios registros especiales que
están visibles para el programador.
Uno de ellos es el contador de programa (program counter), el cual contiene la
dirección de memoria de la siguiente instrucción a obtener. Una vez que se obtiene
esa instrucción, el contador de programa se actualiza para apuntar a la siguiente.
38. Otro registro es el apuntador de pila (stack pointer), el cual apunta a la parte
superior de la pila (stack) actual en la memoria.
La pila contiene un conjunto de valores por cada procedimiento al que se ha
entrado pero del que todavía no se ha salido.
El conjunto de valores en la pila por procedimiento contiene los parámetros de
entrada, las variables locales y las variables temporales que no se mantienen en
los registros.
39. Otro de los registros es PSW (Program Status Word; Palabra de estado del
programa). Este registro contiene los bits de código de condición, que se asignan
cada vez que se ejecutan las instrucciones de comparación, la prioridad de la CPU,
el modo (usuario o kernel) y varios otros bits de control. Los programas de usuario
pueden leer normalmente todo el PSW pero por lo general sólo pueden escribir en
algunos de sus campos. El PSW juega un papel importante en las llamadas al
sistema y en las operaciones de E/S.
40. Para mejorar el rendimiento, los diseñadores de CPUs abandonaron desde hace
mucho tiempo el modelo de obtener, decodificar y ejecutar una instrucción a la vez.
Muchas CPUs modernas cuentan con medios para ejecutar más de una
instrucción al mismo tiempo.
41. Por ejemplo, una CPU podría tener unidades separadas de obtención,
decodificación y ejecución, de manera que mientras se encuentra ejecutando la
instrucción n, también podría estar decodificando la instrucción n+1 y obteniendo
la instrucción n+2. A dicha organización se le conoce como canalización (pipeline);
la figura 1-4(a) ilustra una canalización de tres etapas.
Figura 1-4a Canalización de tres
Etapas
42. Aún más avanzada que el diseño de una canalización es la CPU superescalar, que se muestra en la
figura 1-4(b). En este diseño hay varias unidades de ejecución; por ejemplo, una para la aritmética de
enteros, una para la aritmética de punto flotante y otra para las operaciones Booleanas.
Dos o más instrucciones se obtienen a la vez, se decodifican y se vacían en un búfer de contención
hasta que puedan ejecutarse. Tan pronto como una unidad de ejecución se encuentre libre, busca en el
búfer de contención para ver si hay una instrucción que pueda manejar; de ser así, saca la instrucción
del búfer y la ejecuta. Una consecuencia de este diseño es que con frecuencia las instrucciones del
programa se ejecutan en forma desordenada. En gran parte, es responsabilidad del hardware
asegurarse de que el resultado producido sea el mismo que hubiera producido una implementación
secuencial, pero una cantidad molesta de complejidad es impuesta al sistema operativo, como veremos
más adelante.
44. La mayoría de las CPU, con excepción de las extremadamente simples que se
utilizan en los sistemas integrados, tienen dos modos: modo kernel y modo
usuario, como dijimos antes. Por lo general, un bit en el PSW controla el modo.
Al operar en modo kernel, la CPU puede ejecutar cualquier instrucción de su
conjunto de instrucciones y utilizar todas las características del hardware. El
sistema operativo opera en modo kernel, lo cual le da acceso al hardware completo.
45. En contraste, los programas de usuario operan en modo de usuario, el cual les
permite ejecutar sólo un subconjunto de las instrucciones y les da acceso sólo a un
subconjunto de las características.
En general, no se permiten las instrucciones que implican operaciones de E/S y
protección de la memoria en el modo usuario. Desde luego que también está
prohibido asignar el bit de modo del PSW para entrar al modo kernel.
46. Para obtener servicios del sistema operativo, un programa usuario debe lanzar
una llamada al sistema (system call), la cual se atrapa en el kernel e invoca al
sistema operativo. La instrucción TRAP cambia del modo usuario al modo kernel e
inicia el sistema operativo. Cuando se ha completado el trabajo, el control se
devuelve al programa de usuario en la instrucción que va después de la llamada al
sistema.
47. El siguiente paso obvio es multiplicar no sólo las unidades funcionales, sino
también parte de la lógica de control.
El Pentium 4 y algunos otros chips de CPU tienen esta propiedad, conocida como
multihilamiento (multithreading) o hiperhilamiento (hyperthreading) (el nombre
que puso Intel al multihilamiento).
48. Para una primera aproximación, lo que hace es permitir que la CPU contenga el
estado de dos hilos de ejecución (threads) distintos y luego alterne entre uno y otro
con una escala de tiempo en nanosegundos (un hilo de ejecución es algo así como
un proceso ligero, que a su vez es un programa en ejecución). Por ejemplo, si uno
de los procesos necesita leer una palabra de memoria (que requiere muchos ciclos
de reloj), una CPU con multihilamiento puede cambiar a otro hilo. El
multihilamiento no ofrece un verdadero paralelismo. Sólo hay un proceso en
ejecución a la vez, pero el tiempo de cambio entre un hilo y otro se reduce al orden
de un nanosegundo.
49. Más allá del multihilamiento, tenemos chips de CPU con dos, cuatro o más
procesadores completos, o núcleos (cores) en su interior. Los chips de multinúcleo
(multicore) de la figura 1-5 contienen efectivamente cuatro minichips en su
interior, cada uno con su propia CPU independiente (más adelante hablaremos
sobre las cachés). Para hacer uso de dicho chip multinúcleo se requiere en
definitiva un sistema operativo multiprocesador.