CAPITULO 1. INTRODUCCIÓN

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
CAPITULO 1. INTRODUCCIÓN por Mind Map: CAPITULO 1. INTRODUCCIÓN

1. 1.4. Evolución de los Sistemas Operativos

1.1. Los primeros sistemas de cómputo electrónico datan de los años 1945-1950, pero estas computadoras no tenían S.O. y el usuario que las operaba estaba muy altamente capacitado.

1.2. En agosto de 1948, se comenzaba la construcción de la Manchester Mark 1, quedando operativa en abril de 1949 y ejecutó un programa para encontrar números primos.

1.3. La Mark 1 no tenía aún lenguaje ensamblador, ni sistema operativo.

1.4. A esta máquina le siguió Ferranti Mark 1, reconocida como la 1ra computadora de propósito general y disponible comercialmente en el mundo.

1.5. Grace Murray Hopper fue reconocida por haber desarrollado el primer compilador para un lenguaje de programación em 1951.

1.6. En 1956 se desarrolla el GM-NAA I/O, el cual se acepta como el primer sistema operativo de la historia que ejecutaba en una IBM 704.

1.7. Luego a partir de este sistema, se desarrolló el SOS, al que luego IBM introduciría en las máquinas IBM 7090 e IBM 7094.

1.8. En la década de 1960 IBM se abocó al desarrollo de la serie System/360.

1.9. El OS/360 apareció en 1964 y en 1967 IBM presentó a TSS/360, y fue de los primeros sistemas operativos de sistema compartido.

1.10. En 1961 apareció CTSS, desarrollado por el MIT para una IBM 7094.

1.11. El 25 de octubre de 1977 aparece la primera versión del sistema operativo VMS de la empresa DEC.

1.12. Poco antes de 1980 aparecen las computadoras hogareñas, sus procesadores eran de 8 bits.

1.13. Microsoft, en diciembre de 1980, compró un licencia no exclusiva a SCP del sistema 86-DOS.

1.14. A partir de la misma fecha, Microsoft comenzó a comercializar el MS-DOS.

1.15. En 1985, Microsoft presentó a Windows 1.0.

1.16. El 14 de mayo de 1991 sale a la luz el núcleo del sistema operativo Linux versión 0.01.

1.17. Windows 2000 es una línea de sistemas operativos producidos por Microsoft para ser usados en computadoras de escritorio.

1.18. Microsoft anunció la aparición de Windows Vista el 22 de julio de 2005.

1.19. El desarrollo de Windows 7 se completó el 22de julio de 2009.

1.20. 1.4.1. La API de Windows

1.20.1. La interfaz de programación de aplicaciones de Windows es la interfaz de programación de sistemas de la familia de los sistemas operativos Microsoft Windows.

1.20.2. La API de Windows consiste en miles de funciones que están divididas en as siguientes categorías principales:

1.20.2.1. Servicios Básicos

1.20.2.2. Servicios de Componentes

1.20.2.3. Servicios de Interfaz de Usuario

1.20.2.4. Servicios de Gráficos y Multimedios

1.20.2.5. Mensajería y Colaboración

1.20.2.6. Redes

1.20.2.7. Servicios Web

2. 1.1. Funciones Y Objetivos De Los Sistemas Operativos

2.1. Su fin es el de la operación o conducción del hardware.

2.2. Se encarga de manejar recursos, programa de control o programa que se ejecuta constantemente en una computadora.

2.3. Su propósito es crear un entorno en el que el usuario pueda ejecutar programas de forma cómoda y eficiente.

2.4. Los sistemas operativos son un conjunto de programas o algoritmos, que actúa como intermediario entre el usuario de un computador y el hardware puro.

2.5. 1.1.1. Funciones

2.5.1. Fácil administración, independencia de dispositivo y abstracción de hardware.

2.5.2. Seguridad y protección.

2.5.3. Provee ambiente multitareas y multiusuario.

2.5.4. Gestionar el hardware, brindando una interfaz con el usuario.

3. 1.5. Trabajos Prácticos

3.1. 1.5.1. Práctica con Linux

3.1.1. Para las prácticas de Linux, se usa la distribución Ubuntu. Se trata de un sistema GNU/Linux instalado en el CD-ROM. Es decir, que no es necesario que se instale en el disco

3.1.2. Ubuntu es un CD-ROM con arranque, es decir, que para cargarlo debe asegurarse de que la computadora es capaz de arrancar un sistema operativo desde el CD-ROM.

3.1.3. Al arrancar Ubuntu se verá una primera pantalla para la elección del lenguaje, que por omisión está en inglés.

3.1.3.1. Con F1 tiene a su disposición una ayuda

3.1.3.2. Con F2 vuelve a la pantalla de elección de lenguaje

3.1.3.3. Con F3 puede cambiar la distribución del teclado.

3.1.3.4. Con F4 puede cambiar los modos de arranque de Normal a Modo Gráfico Seguro.

3.1.3.5. Con F5 tiene opciones para lograr mejor accesibilidad.

3.1.3.6. Con F6 tiene otras opciones que son las que se le pueden pasar como parámetro al núcleo

3.1.4. En la parte superior del escritorio, tiene una barra de menúes descolgables y algunos íconos.

3.1.5. Al ejecutarse puede ser lento y dar la impresión de que el sistema esta congelado o lento, pero no es así.

3.1.6. Se provee de varias consolas desde las cuales puede iniciar sesión.

3.1.7. Se necesita tener acceso a una CLI, pero no estrictamente se cambian a las terminales virtuales.

3.1.8. Podemos tener acceso a una de ellas dentro de una ventana gráfica, para ellos, en la barra de menúes descolgables vaya a, aplicaciones, luego a accesorios y de ahí a terminal.

3.1.9. 1.5.1.1. Procfs

3.1.9.1. En muchos sistemas operativos tipo UNIX se utiliza el sistema de archivo proc, que es un sistema de archivos, generado dinámicamente, que muestra información de procesos.

3.1.9.2. Está implementado en el núcleo del sistema operativo y permite llevar a espacio de usuario datos del núcleo y de los procesos.

3.1.9.3. Podemos ver información del CPU colocando el comando cat/proc/cpuinfo

3.1.10. 1.5.1.2. Llamadas a sistema

3.1.10.1. Podemos utilizar el programa strace, que sigue la traza a las llamadas a sistema y las señales de un proceso.

3.1.10.2. Cada línea mostrada contiene el nombre de la llamada a sistema, seguido por sus argumentos en paréntesis y sus valore retornados.

3.1.11. 1.5.1.3. Apagando Linux

3.1.11.1. Para apagar o reiniciar la computadora haga clic con el mouse en el ícono superior derecho del escritorio.

3.1.11.2. Antes de que se apague o se reinicie por completo será expulsado el CD

3.1.11.3. Así la próxima vez que se inicie la computadora no vuelva a cargarse Ubuntu.

3.2. 1.5.2. Práctica con Windows

3.2.1. Para muchas prácticas con Windows se utilizan un grupo de herramientas desarrolladas por Mark Russinovich, quien fundó una empresa llamada Sysinternals.

3.2.2. Con los utilitarios de Sysinternals puede ver información mucho más específica para la cual no siempre necesita privilegios de administrador, es suficiente con los privilegios de la cuenta de invitado.

3.2.3. También se cuenta con herramientas de soporte de Windows.

3.2.4. Por otra parte, también se cuenta con los equipos de recursos de Windows.

3.2.5. 1.5.2.2. CoreInfo

3.2.5.1. Es un utilitario de línea de comando que nos muestra la equivalencia entre procesadores lógicos y físicos, nodo NUMA y el socket en el cual residen, como así también la caché asignada a cada procesador.

3.2.6. 1.5.2.3. Llamadas a Sistema

3.2.6.1. StraceNT es un trazador de llamadas a sistema para Windows.

3.2.6.2. Provee una funcionalidad similar a la que provee strace para Linux.

3.2.6.3. Muestra nombres de funciones, sus argumentos y valores devueltos.

3.2.7. 1.5.2.4. Administrador de Tareas

3.2.7.1. Nos permite ver la actividad de las aplicaciones en modo usuario y el efecto en modo núcleo.

3.3. 1.5.3. Una analogía

3.3.1. Un sistema operativo tiene acceso a ciertas partes que nosotros no podemos acceder en la memoria. La llamada de sistema es la >>ventanilla<< o >>mostrador<< al que podemos solicitar el servicio.

4. 1.2. Estructuras De Los Sistemas Operativos

4.1. El Sistema Operativo provee una máquina virtual a las aplicaciones.

4.2. Las llamadas a sistema o system call son el mecanismo utilizado por las aplicaciones para solicitarle un servicio al S.O.

4.3. Las tareas realizadas por un sistema operativo se pueden dividir en distintas áreas.

4.4. 1.2.1. Gestión de Procesos

4.4.1. Un proceso es un programa de ejecución. El S.O. provee llamadas a sistema para la gestión de procesos y debe administrar la asignación de reursos a ellos.

4.5. 1.2.2. Gestión de la Memoria Principal

4.5.1. El S.O. debe gestionar la asignación de memoria a los procesos y controlar el hardware de administración de esta.

4.6. 1.2.3. Gestión de Archivos

4.6.1. El sistema de archivos nos permite tener todo propiamente organizado y el S.O. debe nos permite manipularlos.

4.7. 1.2.4. Gestión de Dispositivos de Entrada y Salida

4.7.1. El S.O. intenta manejar estos dispositivos de manera tal que puedan ser compartidos eficientemente por los procesos que los solicitan.

4.8. 1.2.5. Archivos

4.8.1. Un S.O. crea un entorno para la ejecución de programas; proporciona ciertos servicios a los programas y usuarios.

4.9. 1.2.6. Tipos de Sistemas Operativos

4.9.1. Sistemas por lotes o batch, interactivos, monousuarios, de tiempo compartido, multiusuarios, paralelos, distribuidos, de red, de tiempo real y cliente - servidor.

4.9.2. 1.2.6.1. El Núcleo del Sistema Operativo

4.9.2.1. El núcleo del sistemaa operativo es el código diseñado para que sea ejecutado mientras el procesador está en modo núcleo.

5. 1.3. Estructura y Funcionamiento de la Computadora

5.1. La computadora es una máquina destinada a procesar datos, es una visión esquemática, este procesamiento involucra dos flujos de información: el de datos y el de instrucciones.

5.2. 1.3.1. Componentes de una computadora

5.2.1. Para llevar a cabo la función de procesamiento, una computadora con arquitectura de von Neumann está compuesta por:

5.2.1.1. Unidad Aritmética

5.2.1.2. Memoria Principal

5.2.1.3. Unidad de Control

5.2.1.4. Unidad de Entrada/Salida

5.2.2. 1.3.1.1. Dinámica de una Operación de Entrada y Salida

5.2.2.1. La CPU carga los registros apropiados del controlador del dispositivo con la acción que se ha de tomar y continúa su operación normal.

5.2.2.2. El controlador analiza los registros para ver qué acción realizar.

5.2.2.3. El controlador avisa a la CPU que la transferencia ya terminó.

5.2.2.4. La CPU suspende lo que estaba haciendo y transfiere la ejecución.

5.2.2.5. Dicha rutina transfiere los datos desde el buffer local del controlador a la memoria principal.

5.2.2.6. Una vez realizada la transferencia, la CPU puede continuar con los procesos interrumpidos.

5.2.2.7. Cada diseño de computadora tiene su esquema de interrupciones.

5.2.3. 1.3.1.2. El Vector de Interrupciones

5.2.3.1. Es un conjunto de posiciones ubicada normalmente en la parte baja de la memoria.

5.2.3.2. En esta se almacenan las direcciones de las rutinas de atención de las interrupciones.

5.2.3.3. Por lo general, cuando se está atendiendo una interrupción se desactivan otras. Se atienden asignando un esquema de prioridades.

5.2.4. 1.3.1.3. Hardware de las Interrupciones

5.2.4.1. Llega una petición a un chip.

5.2.4.2. Cuando el procesador puede atenderla el chip envía por el bus de datos el número de interrupción.

5.2.4.3. El procesador utiliza este valor como índice en la tabla IDT para localizar la rutina que sirve la interrupción.

5.2.5. 1.3.1.4. Tratamiento de la Interrupción

5.2.5.1. La rutina de tratamiento de la interrupción se han considerado parte del sistema operativo.

5.2.5.2. Interrupt Request (IRQ)

5.2.5.2.1. Todos los dispositivos que deseen comunicarse con el procesador por medio de interrupciones.

5.2.5.2.2. Deben tener asignada una línea capaz de avisar al CPU cuando le requiere para realizar una operación.

5.2.5.3. Interrupt Request Level (IRQL)

5.2.5.3.1. El nivel de pedido de interrupción es un esquema de prioridades.

5.2.5.3.2. Los niveles más altos representan a interrupciones de mayor prioridad.

5.2.5.4. Interrupt Service Routine (ISR)

5.2.5.4.1. Es la rutina del sistema operativo cuya ejecución se dispara por la recepción de una interrupción.

5.2.5.5. Interrupt Priority Level (IPL)

5.2.5.5.1. Es el nivel de prioridad de la interrupción y se refiere al estado actual de las interrupciones en el sistema.

5.2.6. 1.3.1.5. Tratamiento Diferido

5.2.6.1. Deferred Procedure Call (DPC)

5.2.6.1.1. Windows cuenta con una rutina que ejecuta a un nivel de IRQL que es menor que el ISR para evitar bloquear otras interrupciones innecesariamente.

5.2.6.2. Top and Bottom Half

5.2.6.2.1. Linux utiliza un mecanismo que parte la tarea en >>la mitad de arriba<< y la >>mitad de abajo<<.

5.2.6.2.2. La primera recibe la interrupción de hardware y la segunda procesaba la parte más larga.

5.2.6.3. Lo que se busca con estos mecanismos es, en definitiva, no perder interrupciones que puedan llegar mientras se está tratando a otra.

5.2.7. 1.3.1.6. Clock Tick

5.2.7.1. Un tick de reloj es una interrupción especial que ocurre periódicamente.

5.2.7.2. La interrupción del tick de reloj permite que las tareas sean demoradas y proveer >>agotamientos de tiempo de espera<<, cuando las tareas están esperando que ocurra un evento.

5.2.8. 1.3.1.7. Llamadas al Sistema

5.2.8.1. Son la interfaz entre el sistema operativo y un programa en ejecución.

5.2.8.2. Pueden ser instrucciones en lenguaje ensamblador o pueden hacerse desde lenguajes de alto nivel.

5.2.8.3. Hay varias categorías de llamadas al sistema:

5.2.8.3.1. Control de procesos

5.2.8.3.2. Manipulación de archivos

5.2.8.3.3. Manipulación de Dispositivos

5.2.8.3.4. Mantenimiento de Información

5.2.8.3.5. Comunicaciones

5.3. 1.3.2. El Proceso de Arranque

5.3.1. Después de ejecutar algunas comprobaciones de diagnóstico, este programa comprueba la presencia de uno o más dispositivos de arranque.

5.3.2. En una PC, un dispositivo de arranque puede ser una unidad de discos flexibles, de CD-ROM o un disco rígido.

5.3.3. Una vez hallado el dispositivo, el programa lee el primer sector del dispositivo de arranque y lo carga en memoria principal.

5.3.4. Antes de transferir el control a la próxima etapa en el proceso de arranque, el programa de arranque acutal revisará que exista uno o más bytes al final del sector de arranque.

5.3.5. En un Computador Personal, que arranca desde disco rígido, el sector de arranque también contiene una tabla de partición.

5.3.6. El disco puede ser dividido como máximo en cuatro particiones de las llamadas primarias.

5.3.7. Al final del proceso de arranque, el sistema operativo ha sido cargado en la memoria y el programa de arranque ha bifurcado al mismo.

5.3.8. Una vez que el si sistema operativo está listo para atender a los procesos, crea todos los procesos que proveen servicios del sistema operativo.

6. VÍCTOR EMMANUEL PAZ CALDERÓN