Download sistema operativo
Document related concepts
Transcript
SISTEMA OPERATIVO El programa fundamental de todos los programas de sistema es el sistema operativo (SO), que controla todos los recursos de la computadora y proporciona la base sobre la cual pueden escribirse los programas de aplicación. ¿QUE ES EL SISTEMA OPERATIVO DE UN COMPUTADOR?. El sistema operativo, es el instrumento indispensable para hacer de la computadora un objeto útil. Bajo este nombre se agrupan todos aquellos programas que permiten a los usuarios la utilización de este enredo de cables y circuitos, que de otra manera serian difíciles de controlar. Un sistema operativo se define como un conjunto de procedimientos manuales y automáticos, que permiten a un grupo de usuarios compartir una instalación de computadora eficazmente. Un sistema operativo es el encargado de brindar al usuario una forma amigable y sencilla de operar, interpretar, codificar y emitir las ordenes al procesador central para que este realice las tareas necesarias y especificas para completar una orden. Además, el tiempo requerido para introducir un programa en aquellas grandes máquinas de lento proceso superaba por mucho el de ejecución y resultaba poco provechosa la utilización de computadoras para resolución de problemas prácticos. Desde su creación, las computadoras digitales han utilizado un sistema de codificación de instrucciones en sistema de numeración binaria, es decir con los 0S. Esto se debe a que los circuitos integrados funcionan con este principio, es decir, hay corriente o no hay corriente. En el origen de la historia de las computadoras ( hace unos cuarenta años), los sistemas operativos no existían y la introducción de un programa para ser ejecutado se convertía en un increíble esfuerzo que solo podía ser llevado a cabo por muy pocos expertos. Esto hacia que las computadoras fueran muy complicadas de usar y que se requiriera tener altos conocimientos técnicos para operarlas. Era tan complejo su manejo, que en algunos casos el resultado llegaba a ser desastroso. Se buscaron medios más elaborados para manipular la computadora, pero que a su vez simplificaran la labor del operador o el usuario. Es entonces cuando surge la idea de crear un medio para que el usuario pueda operar la computadora con un entorno, lenguaje y operación bien definido para hacer un verdadero uso y explotación de esta. Surgen los sistemas operativos. Un sistema Operativo (SO) es en sí mismo un programa de computadora. Sin embargo, es un programa muy especial, quizá el más complejo e importante en una computadora. El SO despierta a la computadora y hace que reconozca a la CPU, la memoria, el tecla do, el sistema de vídeo y las unidades de disco. Además, proporciona la facilidad para que los usuarios se comuniquen con la computadora y sirve de plataforma a partir de la cual se corran programas de aplicación. Cuando enciendes una computadora, lo primero que ésta hace es llevar a cabo un autodiagnóstico llamado autoprueba de encendido (Power On Self Test, POST). Durante la POST, la computadora identifica su memoria, sus discos, su teclado, su sistema de vídeo y cualquier otro dispositivo conectado a ella. Lo siguiente que la computadora hace es buscar un SO para arrancar (boot). Una vez que la computadora ha puesto en marcha su SO, mantiene al menos parte de éste en su memoria en todo momento. Mientras la computadora esté encendida, el SO tiene 4 tareas principales: 1. Proporcionar ya sea una interfaz de línea de comando o una interfaz gráfica al usuario, para que este último se pueda comunicar con la computadora. Interfaz de línea de comando: tú introduces palabras y símbolos desde el teclado de la computadora, ejemplo, el MS-DOS. Interfaz gráfica del Usuario (GUI), seleccionas las acciones mediante el uso de un Mouse para pulsar sobre figuras llamadas iconos o seleccionar opciones de los menús. 2. Administrar los dispositivos de hardware en la computadora · Cuando corren los programas, necesitan utilizar la memoria, el monitor, las unidades de disco, los puertos de Entrada/Salida (impresoras, módems, etc). El SO sirve de intermediario entre los programas y el hardware. 3. Administrar y mantener los sistemas de archivo de disco · Los SO agrupan la información dentro de compartimientos lógicos para almacenarlos en el disco. Estos grupos de información son llamados archivos. Los archivos pueden contener instrucciones de programas o información creada por el usuario. El SO mantiene una lista de los archivos en un disco, y nos proporciona las herramientas necesarias para organizar y manipular estos archivos. Apoyar a otros programas. Otra de las funciones importantes del SO es proporcionar servicios PRINCIPALES FUNCIONES Y USOS. Estas son algunas funciones que el sistema operativo desempeña en un computador. 1. Interpreta los comandos que permiten al usuario comunicarse con el ordenador. 2. Coordina y manipula el hardware de la computadora, como la memoria, las impresoras, las unidades de disco, el teclado o el mouse. 3. Organiza los archivos en diversos dispositivos de almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnéticas. 4. Gestiona los errores de hardware y la pérdida de datos. 5. Servir de base para la creación del software logrando que equipos de marcas distintas funcionen de manera análoga, salvando las diferencias existentes entre ambos. 6. Configura el entorno para el uso del software y los periféricos; dependiendo del tipo de máquina que se emplea, debe establecerse en forma lógica la disposición y características del equipo. Como por ejemplo, una microcomputadora tiene físicamente dos unidades de disco, puede simular el uso de otras unidades de disco, que pueden ser virtuales utilizando parte de la memoria principal para tal fin. En caso de estar conectado a una red, el sistema operativo se convierte en la plataforma de trabajo de los usuarios y es este quien controla los elementos o recursos que comparten. De igual forma, provee de protección a la información que almacena. SISTEMAS OPERATIVOS (Ventajas y Desventajas). Los sistemas operativos empleados normalmente son UNIX, Macintosh OS, MS-DOS, OS/2, Windows 98 o Windows 2000 y Windows NT. El UNIX y sus clones permiten múltiples tareas y múltiples usuarios. Otros SO multiusuario y multitarea son OS/2, desarrollado inicialmente por Microsoft e IBM, Windows NT y Win95 desarrollados por Microsoft. El SO multitarea de Apple se denomina Macintosh OS. El MS-DOS es un SO popular entre los usuarios de PCs pero solo permite un usuario y una tarea. LINUX Linux fue creado originalmente por Linus Benedict Torvalds en la Universidad de Helsinki en Finlandia. Este ha sido desarrollado con la ayuda de muchos programadores a través de Internet. Linus originalmente inició el hacking del núcleo como su proyecto favorito, inspirado por su interés en MINIX, un pequeño sistema Unís. El se propuso a crear lo que en sus propias palabras seria un mejor Minix que el Minix. El 5 de octubre de 1991, Linus anunció su primera versión "oficial" de linux, versión 0.02. Desde entonces, muchos programadoras han respondido a su llamado, y han ayudado a construir Linux como el sistema operativo completamente funcional que es hoy. La ultima versión estable es la versión 2.2, que soporta muchos más periféricos, desde procesadores hasta joysticks, sintonizadores de televisión, CD ROMs no ATAPI y reconoce buena cantidad de tarjetas de sonido. Incluye también soporte para tipos de archivos para Macintosh HFS, Unix UFS y en modo de lectura, HPFS de OS/2 y NTFS, de NT. Linux es una versión de Unix libremente distribuible e independiente, para plataformas con maquinas x86, Motorola 68k, Digital Alpha, Sparc, Mips y Motorola Power PC. En la actualidad, este sistema operativo es utilizado por miles de usuarios para desarrollo de software, redes y para plataformas de usuarios finales.Linux, entre los miles de sistemas operativos alternos que existen, se ha convertido en una opción interesante, independientemente de que estas vengan de UNIX o de las más conocidas donde se encuentra Windows y NT. Es una implantación de la especificación POSIX con la cual cumplen todas las verdaderas versiones de UNÍS. El núcleo de Linux no usa código de AT&T o de cualquier otra fuente propietaria, la mayoría de los programas disponibles para Linux es desarrollado por el proyecto GNU de la Free Software Foundation. Si quieres discutir respecto a este tema, visita el Foro de Software en este sitio. Este soporta un amplio espectro de aplicaciones o paquetes de programación tales como X Window, Emacs, redes de datos bajo protocolos TCP/IP (incluyendo SLIP, PPP, ISDN). Linux está disponible en Internet en cientos de servidores ftp y en distribuidores en discos CD-ROM de revendedores que lo ofrecen empacado con manuales e información que es realmente la del costo, pues el programa es grautuito. Algunos de estos son: Caldera, Debian, Slackware, Red Hat, etc. Uno de los servidores más populares que ofrecen Linux está ubicado en ftp://sunsite.unc.edu/pub/Linux/distributions, con una gran cantidad de mirrors alrededor del mundo. El núcleo del Linux está legalmente protegido por la licencia publica GNU (GPL). Linux incluye compiladores, ensambladores, debuggers, editores de texto, paquetes de email, lectores de noticias, navegadores, servidores y programas para la creación y edición gráfica. Linux, maneja los archivos de forma jerárquica, de la misma forma que DOS, con la diferencia que el DOS está diseñado para procesadores x86 que no soportan verdaderas capacidades de múltiples tareas. VENTAJAS 1. 2. 3. 4. 5. 6. 7. Precio. Estabilidad, no se traba a cada rato. Seguridad, es mucho mas seguro que otros servidores. Compatibilidad,reconoce la mayoría de los otros sistemas operativos en una red. Velocidad, es mucho mas veloz para realizar las tareas. Posee el apoyo de miles de programadores a nivel mundial. El paquete incluye el código fuente, lo que permite modificarlo de acuerdo a las necesidades del usuario. 8. Ideal para la programación, ya que se puede programar en Linux para distintas plataformas, como para Windows. 9. Un sistema de crecimiento rápido. 10. Se puede usar en casi cualquier computadora, desde una 386. 11. Multitareas REAL. 12. Puede manejar múltiples procesadores. Incluso hasta 16 procesadores. 13. Libre de virus, aun no se conoce ningún virus para Linux. 14. Maneja discos duros de hasta 16 TeraBytes. 15. Se consiguen parches con facilidad, además de ser gratuitos. 16. Se posee el apoyo de millones de usuarios a nivel mundial. 17. Los fabricantes de Hardware le están dando su apoyo, como IBM y COMPAQ. 18. Vendedores y desarrolladores implementan un sistema de certificación para Linux. 19. La corporación DATA Internacional predice que el crecimiento de este programa será del orden de un 25 por ciento anual en el nuevo milenio. DESVENTAJAS 1. Linux no cuenta con una empresa que lo respalde, por lo que no existe un verdadero soporte como el de otros sistemas operativos. 2. Linux corre el riesgo de llegar a fragmentarse como fue el caso de UNIX. 3. Algunas empresas pueden llegar a ayudar a Linux con la intención de mejorar sus relaciones públicas, aunque en el fondo no tengan ninguna intención de utilizarlo fielmente. Si quieres aprender mas de linux haz click en CURSOS_ZIP dentro de EL PLANETA INFORMATICO y ahí encontraras un curso referente a linux. Estos son algunos sitios en los cuales puedes conocer aún mas de este sistema operativo: The Linux Home Page. El sitio oficial de Linux con todos los recursos sobre este sistema operativo disponibles. Linux Preview. Un sitio Web para el usuario serio de linux con muchas información actualizada regularmente. Proyecto Lucas. Biblioteca en español dedicada a Linux de todo el planeta. El rincon linuxero de Fidonet. Información y recursos sobre Linux en Fidonet. HispaLinux. La asociación de usuarios españoles de Linux. Asociación Informática Abierta. Entidad sin fines de lucro que difunde el conocimiento de las nuevas tecnologías y promueve el uso de software libre. UNIX HISTORIA DEL SISTEMA OPERATIVO UNIX. Bajo el término UNIX, se hace referencia no a un solo sistema operativo sino a un grupo amplio de sistemas. 1969 El Unix nace en los laboratorios Bell, creado por Ken Thompson. Se desarrollo sobre un dec pdp-4. 1970 Thompson reescribe todo el sistema en "Lenguaje B". Dennis Ritchie lo desarrolla y denomina "Lenguaje C", resscribiendo todo el Unix en este lenguaje. 1973 El Unix es transportado a distintos ordenadores, naciendo el Unix versión 5. 1974 AT&T cede la licencia de explotación del Unix a Universidades y centros de investigación. Nace entonces la versión 6. 1977 se crea la versión 7. 1981 Se incluyen numerosas utilidades. Lanzamiento comercial del Unix System III. 1982 AT&T comercializa el Unix y presenta el System V. 1988 Se creó la OSF (Open Software Fundation) para elaborar una norma universal Unix . CARACTERISTICAS BASICAS DEL UNIX El Unix es un Sistema Operativo de propósito general con las siguientes características : 1. Sistema Multiusuario. 2. Sistema Multitarea. 3. Trabaja en tiempo compartido. 4. Sistema interactivo. 5. Estandarizado. 6. Potente. 7. Versátil. 8. Software y sistema operativo portable. 9. Permite ejecutar procesos en Background y Foreground. 10. Presenta niveles altos de seguridad. 11. Presenta una estructura jerárquica de ficheros. 12. Posee un gran número de utilidades : Editores de línea , de pantalla, formateadores, depuradores de programas... 13. Posibilidad de comunicación Unix - Unix (UUCP) 14. Fácil integración en sistemas de red. 15. Posibilidad de usar distintos lenguajes de programación: C, Fortran, Cobol, Pascal,... Ø Gran cantidad de software disponible en el mercado. Unix es un SO multiusuario y multitarea, que corre en diferentes computadoras, desde supercomputadoras, Mainframes, Minicomputadoras, computadoras personales y estaciones de trabajo. Es un sistema operativo que fue creado a principios de los setentas por los científicos en los laboratorios Bell. Fue específicamente diseñado para proveer una manera de manejar científica y especializadamente las aplicaciones computacionales. Este SO se adapto a los sistemas de computo personales así que esta aceptación reciente lo convierte en un sistema popular. Unix es más antiguo que todos los demás SO de PC y de muchas maneras sirvió como modelo para éstos. Aun cuando es un SO extremadamente sólido y capaz, la línea de comandos Unix, no es apta para cardiacos, debido a que ofrece demasiados comandos. COMPONENTES DEL SISTEMA OPERATIVO UNIX. El sistema operativo Unix tiene dos componentes fundamentales: El Kernel. El Shell. EL KERNEL. · Constituye el núcleo del sistema operativo. · Actúa como interface con el hardware del sistema. · Se encarga de realizar las funciones de más bajo nivel , como son : 1. 2. 3. 4. 5. Manejo y control de los dispositivos físicos. Control de interrupciones. Control de procesos y tiempos. Control de ficheros. Control de memoria. Está escrito fundamentalmente en lenguaje "C" (90%) y el resto en lenguaje ensamblador. EL SHELL. Interface del sistema operativo con los usuarios del mismo. Actúa como interprete de comandos. Características semejantes a un lenguaje de programación de alto nivel. Shellscripts. · Permite configurar diferentes entornos de trabajo. Es un comando : /sbin/sh. Si quieres aprender mas de Unix haz click en CURSOS_ZIP dentro de EL PLANETA INFORMATICO y ahí encontraras un curso referente a Unix. MS-DOS Es el más común y popular de todos los Sistemas Operativos para PC. La razón de su continua popularidad se debe al aplastante volumen de software disponible y a la base instalada de computadoras con procesador Intel. Cuando Intel liberó el 80286, D OS se hizo tan popular y firme en el mercado que DOS y las aplicaciones DOS representaron la mayoría del mercado de software para PC. En aquel tiempo, la compatibilidad IBM, fue una necesidad para que los productos tuvieran éxito, y la "compatibilidad IBM" significaba computadoras que corrieran DOS tan bien como las computadoras IBM lo hacían. El significado de estas letras es el de Microsoft Disk Operating System. Microsoft es el nombre de la compañía que diseño este sistema operativo, e IBM la compañía que lo hizo estándar al adoptarlo en sus microordenadores. Este sistema operativo emplea discos flexibles con una organización determinada. Los discos se pueden grabar por una o por dos caras y la información se organiza en 40 pistas de 8 ó 9 sectores de un tamaño de 512 caracteres, reservándose el sistema para la propia información del disco, que puede ser disco removible o disco duro, teniendo en el segundo más capacidad pero similar estructura. Este sistema operativo emplea discos flexibles con una organización determinada. Los discos se pueden grabar por una o por dos caras y la información se organiza en 40 pistas de 8 ó 9 sectores de un tamaño de 512 caracteres, reservándose el sistema para la propia información del disco, que puede ser disco removible o disco duro, teniendo en el segundo más capacidad pero similar estructura. Los de extensión .EXE precisan que el cargador del DOS los coloque en memoria, lo que significa que el sistema operativo debe estar en memoria. Los del tipo .BAT son los compuestos de comandos que se ejecutan secuencialmente. El sistema operativo tiene varios componentes que son: - Rutinas de control, que funcionan con el programa IBM.DOS, y se encargan de las operaciones de entrada / salida. - Procesador de comandos, también llamado COMMAND.COM, que procesa los dos tipos de comandos de que dispone el DOS; es decir, los residentes en memoria o internos, y los no residentes o externos, que residen en el disco del sistema operativo. - Rutinas de servicios accesibles desde el programa control. También existe la posibilidad de subdividir el disco en subdirectorios que permiten un empleo más ágil de toda la información. MS-DOS esta lejos de ser el sistema operativo ideal, ya que, de momento, se trata de un sistema monotarea, pero aunque esto se resolviera, seguiría presentando problemas de diseño que provocan que el comportamiento de la máquina sea poco fiable. A pesar de estas desventajas y de que existen otros sistemas operativos en el mundo de la microinformática, hay que tener siempre presente la enorme cantidad de software que se ha desarrollado para DOS y que conviene aprovechar en lo posible. OS/2 Después de la introducción del procesador Intel 80286, IBM y Microsoft reconocieron la necesidad de tomar ventaja de las capacidades multitarea de esta CPU. Se unieron para desarrollar el OS/2, un moderno SO multitarea para los microprocesadores Intel. < BR>Sin embargo, la sociedad no duró mucho. Las diferencias en opiniones técnicas y la percepción de IBM al ver a Windows como una amenaza para el OS/2 causó una desavenencia entre las Compañías que al final las llevó a la disolución de la sociedad. IBM continuó el desarrollo y promoción del OS/2. Es un sistema operativo de multitarea para un solo usuario que requiere un microprocesador Intel 286 o mejor. Además de la multitarea, la gran ventaja de la plataforma OS/2 es que permite manejar directamente hasta 16 MB de la RAM ( en comparación con 1 MB en el caso del MS-DOS ). Por otra parte, el OS/2 es un entorno muy complejo que requiere hasta 4 MB de la RAM. Los usuarios del OS/2 interactuan con el sistema mediante una interfaz gráfica para usuario llamada Administrador de presentaciones. A pesar de que el OS/2 rompe la barrera de 1 MB del MS-DOS, le llevo tiempo volverse popular. Los vendedores de software se muestran renuentes a destinar recursos a la creación de un software con base en el OS/2 para un mercado dominado por el MS-DOS. Los usuarios se rehusan a cambiar al OS/2 debido a la falta de software que funcione en la plata forma del OS/2 y a que muchos tendrían que mejorar la configuración de su PC para que opere con el OS/2. Desarrollado inicialmente por Microsoft Corporation e International Business Machines (IBM), después de que Intel introdujera al mercado su procesador 80286. Pero la sociedad no duro mucho ya que IBM veía a Windows como una amenaza para el SO/2. Pero IBM continuo desarrollando este sistema operativo. El OS/2 al principio fue muy parecido al MS-DOS, tiene una línea de comando, pero la diferencia que existe con el DOS es el intérprete de comandos, el cual es un programa separado del kernel del sistema operativo y aparece únicamente cuando se hace clic en uno de los iconos “OS/2 prompt” dentro del Workplace Shell. Otra diferencia es que este sí en un sistema operativo multitarea En el OS/2 muchos de los comandos son idénticos a los de su contra parte pero tiene más comandos debido a que es más grande, completo y moderno El ambiente gráfico es el Workplace Shell (WS), es el equivalente a un administrador del área de trabajo para el WS. MACINTOSH OS La Macintosh es una máquina netamente gráfica. De hecho, no existe una interfaz de línea de comando equivalente para ésta. Su estrecha integración de SO, GUI y área de trabajo la hacen la favorita de la gente que no quiere saber nada de interfaces de línea de comando. Las capacidades gráficas de la Macintosh hicieron de esa máquina la primera precursora en los campos gráficos computarizados como la autoedición por computadora. La familia de microcomputadoras de Apple Macintosh y su sistema operativo define otra plataforma importante. Las PC de Macintosh, que se basan en la familia de microprocesadores de Motorola, usan la arquitectura de Bus de 32 bits. La plataforma para Macintosh incluye muchas capacidades sofisticadas que comprende la multitarea, una GUI, la memoria virtual y la capacidad para emular la plataforma MS-DOS. Las PC de Macintosh también tiene la capacidad integrada de compartir archivos y comunicarse con o tras PC de Macintosh en una red. El sistema operativo constituye la interfaz entre las aplicaciones y el hardware del Macintosh. El administrador de memoria obtiene y libera memoria en forma automática para las aplicaciones y el sistema operativo. Esta memoria se encuentra normalmente en un área llamada cúmulo. El código de procedimientos de una aplicación también ocupa espacio en el cúmulo. Ahora se presenta una lista de los principales componentes del sistema operativo. El cargador de segmentos carga los programas por ejecutar. Una aplicación se puede cargar completa o bien puede dividirse en segundos individuales que se pueden cargar de manera dinámica conforme se necesiten. El administrador de eventos del sistema operativo informa de la ocurrencia de diversos eventos de bajo nivel, como la presión de un botón del mouse o el tecleo. En condiciones normales, el administrador de eventos de la caja de herramientas transfiere estos eventos a las aplicaciones. El administrador de archivos se encarga de la entrada / salida de archivos; el administrador de dispositivos se encarga de la entrada / salida de dispositivos. Con el manejador de impresoras las aplicaciones pueden imprimir datos en diversas impresoras Los manejadores de dispositivos son programas con los cuales los diversos tipos de dispositivos pueden presentar interfaces uniformes de entrada / salida a las aplicaciones. Tres manejadores de dispositivo están integrados al sistema operativo en ROM: el manejador de disco se encarga del acceso a la información en discos, el manejador de sonido controla los generadores de sonido, y el manejador en serie envía y recibe datos a través de los puertos seriales (estableciendo así la comunicación con dispositivos periféricos en serie como impresoras y módems). Con el administrador de AppleTalk las aplicaciones pueden transmitir y recibir información en una red de comunicaciones AppleTalk. El Administrador de retrazado vertical programa las actividades por realizar durante las interrupciones de retrazado vertical que ocurren 60 veces cada segundo cuando se refresca la pantalla de vídeo. El manejador de errores del sistema toma el control cuando ocurre un error fatal del sistema y exhibe un cuadro de error apropiado. Los programas de utilidad general del sistema operativo ofrecen diversas funciones útiles como la obtención de la fecha y la hora, la comparación de cadenas de caracteres y muchas más. El paquete de iniciación es llamado por el paquete de archivos estándar para iniciar y nombrar discos; se aplica con más frecuencia cuando el usuario inserta un disco al que no se le han asignado valores iniciales. El paquete de aritmética de punto flotante ofrece aritmética de doble precisión. El paquete de funciones trascendentales ofrece un generador de números aleatorios, así como funciones trigonométricas, logarítmicas, exponenciales y financieras. Los compiladores de Macintosh generan en forma automática llamadas a estos paquetes para realizar manipulaciones numéricas. WINDOWS NT Con Windows NT, Microsoft ha expresado su dedicación a escribir software no sólo para PC de escritorio sino también para poderosas estaciones de trabajo y servidores de red y bases de datos. Microsoft Windows NT no es necesariamente un sustituto de DOS ni una nueva versión de éste; es, en conjunto, un nuevo SO diseñado desde sus bases para las máquinas más modernas y capaces disponibles. Windows NT de Microsoft ofrece características interconstruidas que ningún otro SO para PC ofrece, con excepción de Unix. Además de las características tradicionales de estricta seguridad de sistema, red interconstruida, servicios de comunicación y correo electrónico interconstruidos, herramientas de administración y desarrollo de sistema y una GUI, Windows NT puede correr directamente aplicaciones de Windows de Microsoft y de Unix. Windows NT, al igual que el OS/2 ver 2.0 y algunas versiones de Unix, es un SO de 32 bits, que puede hacer completo uso de los procesadores de estas características. Además de ser multitarea, está diseñado para tomar ventaja del multiproceso simétrico. CONTROL Y MANEJO DE INTERRUPCIONES DENTRO DE UN COMPUTADOR. Una Interrupción son principalmente subrutinas de la BIOS o el DOS que pueden ser llamadas por un programa. Su función es controlar el hardware, servir de contacto entre los programas y las funciones del BIOS y del dos. Interrupciones internas de hardware Las interrupciones internas son generadas por ciertos eventos que surgen durante la ejecución de un programa. Este tipo de interrupciones son manejadas en su totalidad por el hardware y no es posible modificarlas. Un ejemplo claro de este tipo de interrupciones es la que actualiza el contador del reloj interno de la computadora, el hardware hace el llamado a esta interrupción varias veces durante un segundo para mantener la hora actualizada. Aunque no podemos manejar directamente esta interrupción (no podemos controlar por software las actualizaciones del reloj), es posible utilizar sus efectos en la computadora para nuestro beneficio, por ejemplo para crear un "reloj virtual" actualizado continuamente gracias al contador del reloj interno. Unicamente debemos escribir un programa que lea el valor actual del contador y lo traduzca a un formato entendible para el usuario. Interrupciones externas de hardware Las interrupciones externas las generan los dispositivos perifericos, como pueden ser: teclado, impresoras, tarjetas de comunicaciones, etc. También son generadas por los coprocesadores. No es posible desactivar a las interrupciones externas. Estas interrupciones no son enviadas directamente a la UCP, sino que se mandan a un circuito integrado cuya función es exclusivamente manejar este tipo de interrupciones. El circuito, llamado PIC 8259A, si es controlado por la UCP utilizando para tal control una serie de vias de comunicación llamadas puertos. Interrupciones de software Las interrupciones de software pueden ser activadas directamente por el ensamblador invocando al número de interrupción deseada con la instrucción INT. El uso de las interrupciones nos ayuda en la creación de programas, utilizandolas nuestros programas son más cortos, es más fácil entenderlos y usualmente tienen un mejor desempeño debido en gran parte a su menor tamaño. Este tipo de interrupciones podemos separarlas en dos categorias: las interrupciones del sistema operativo DOS y las interrupciones del BIOS. La diferencia entre ambas es que las interrupciones del sistema operativo son más fáciles de usar pero también son más lentas ya que estas interrupciones hacen uso del BIOS para lograr su cometido, en cambio las interrupciones del BIOS son mucho más rápidas pero tienen la desventaja que, como son parte del hardware son muy específicas y pueden variar dependiendo incluso de la marca del fabricante del circuito. La elección del tipo de interrupción a utilizar dependerá unicamente de las caracteristicas que le quiera dar a su programa: velocidad (utilizando las del BIOS) o portabilidad (utilizando las del DOS). Interrupción 21H Propósito: Llamar a diversas funciones del DOS. Sintaxis: Int 21H Nota: Cuando trabajamos en MASM es necesario especificar que el valor que estamos utilizando es hexadecimal. Esta interrupción tiene varias funciones, para accesar a cada una de ellas es necesario que el el registro AH se encuentre el número de función que se requiera al momento de llamar a la interrupción. Funciones para desplegar información al video. 02H Exhibe salida 09H Impresión de cadena (video) 40H Escritura en dispositivo/Archivo Funciones para leer información del teclado. 01H Entrada desde teclado 0AH Entrada desde teclado usando buffer 3FH Lectura desde dispositivo/archivo Funciones para trabajar con archivos. En esta sección unicamente se expone la tarea específica de cada función, para una referencia acerca de los conceptos empleados refierase a la unidad 7, titulada: "Introducción al manejo de archivos". Método FCB 0FH Abrir archivo 14H Lectura secuencial 15H Escritura secuencial 16H Crear archivo 21H Lectura aleatoria 22H Escritura aleatoria Handles 3CH Crear archivo 3DH Abrir archivo 3EH Cierra manejador de archivo 3FH Lectura desde archivo/dispositivo 40H Escritura en archivo/dispositivo 42H Mover apuntador de lectura/escritura en archivo CATEGORIAS DE LOS SISTEMAS OPERATIVOS. Sistema Operativo Multitareas. Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. La conmutación de contextos (context Switching) es un tipo muy simple de multitarea en el que dos o más aplicaciones se cargan al mismo tiempo, pero en el que solo se esta procesando la aplicación que se encuentra en primer plano (la que ve el usuario). Para activar otra tarea que se encuentre en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que contenga esa aplicación. En la multitarea cooperativa, la que se utiliza en el sistema operativo Macintosh, las tareas en segundo plano reciben tiempo de procesado durante los tiempos muertos de la tarea que se encuentra en primer plano (por ejemplo, cuando esta aplicación esta esperando información del usuario), y siempre que esta aplicación lo permita. En los sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la atención del microprocesador durante una fracción de segundo. Para mantener el sistema en orden, cada tarea recibe un nivel de prioridad o se procesa en orden secuencial. Dado que el sentido temporal del usuario es mucho más lento que la velocidad de procesamiento del ordenador, las operaciones de multitarea en tiempo compartido parecen ser simultáneas. El término multitarea se refiere a la capacidad del SO para correr mas de un programa al mismo tiempo. Existen dos esquemas que los programas de sistemas operativos utilizan para desarrollar SO multitarea, el primero requiere de la cooperación entre el SO y los programas de aplicación. Los programas son escritos de tal manera que periódicamente inspeccionan con el SO para ver si cualquier otro programa necesita a la CPU, si este es el caso, entonces dejan el control del CPU al siguiente programa, a este método se le llama multitarea cooperativa y es el método utilizado por el SO de las computadoras de Machintosh y DOS corriendo Windows de Microsoft. El segundo método es el llamada multitarea con asignación de prioridades. Con este esquema el SO mantiene una lista de procesos (programas) que están corriendo. Cuando se inicia cada proceso en la lista el SO le asigna una prioridad. En cualquier momento el SO puede intervenir y modificar la prioridad de un proceso organizando en forma efectiva la lista de prioridad, el SO también mantiene el control de la cantidad de tiempo que utiliza con cualquier proceso antes de ir al siguiente. Con multitarea de asignación de prioridades el SO puede sustituir en cualquier momento el proceso que esta corriendo y reasignar el tiempo a una tarea de mas prioridad. Unix OS-2 y Windows NT emplean este tipo de multitarea. Sistema Operativo Monousuario. Los sistemas monousuarios son aquellos que nada más puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicación que se este ejecutando. Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada, salida y control dependen de la tarea que se esta utilizando, esto quiere decir, que las instrucciones que se dan, son procesadas de inmediato; ya que existe un solo usuario. Y están orientados principalmente por los microcomputadores. Sistema Operativo Monotareas. Los sistemas operativos monotareas son más primitivos y es todo lo contrario al visto anteriormente, es decir, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. Por ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresión. .Sistema Operativo Multiusuario. Es todo lo contrario a monousuario; y en esta categoría se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes. En otras palabras consiste en el fraccionamiento del tiempo (timesharing). Un SO multiusuario permite a mas de un solo usuario accesar una computadora. Claro que, para llevarse esto a cabo, el SO también debe ser capaz de efectuar multitareas. Unix es el Sistema Operativo Multiusuario más utilizado. Debido a que Unix fue originalmente diseñado para correr en una minicomputadora, era multiusuario y multitarea desde su concepción. Actualmente se producen versiones de Unix para PC tales como The Santa Cruz Corporation Microport, Esix, IBM,y Sunsoft. Apple también produce una versión de Unix para la Machintosh llamada: A/UX.Unix Unix proporciona tres maneras de permitir a múltiples personas utilizar la misma PC al mismo tiempo. 1.) Mediante Módems. 2.) Mediante conexión de terminales a través de puertos seriales 3.) Mediante Redes. MULTIPROCESO Las computadoras que tienen mas de un CPU son llamadas multiproceso. Un sistema operativo multiproceso coordina las operaciones de la computadoras multiprocesadoras. Ya que cada CPU en una computadora de multiproceso puede estar ejecutando una instrucción, el otro procesador queda liberado para procesar otras instrucciones simultáneamente. Al usar una computadora con capacidades de multiproceso incrementamos su velocidad de respuesta y procesos. Casi todas las computadoras que tienen capacidad de multiproceso ofrecen una gran ventaja. Los primeros Sistemas Operativos Multiproceso realizaban lo que se conoce como: Multiproceso asimétrico: Una CPU principal retiene el control global de la computadora, así como el de los otros procesadores. Esto fue un primer paso hacia el multiproceso pero no fue la dirección ideal a seguir ya que la CPU principal podía convertirse en un cuello de botella. Multiproceso simétrico: En un sistema multiproceso simétrico, no existe una CPU controladora única. La barrera a vencer al implementar el multiproceso simétrico es que los SO tienen que ser rediseñados o diseñados desde el principio para trabajar en u n ambiente multiproceso. Las extensiones de Unix, que soportan multiproceso asimétrico ya están disponibles y las extensiones simétricas se están haciendo disponibles. Windows NT de Microsoft soporta multiproceso simétrico. SECUENCIA POR LOTES TIEMPO REAL Y TIEMPO COMPARTIDO Secuencia por Lotes. La secuencia por lotes o procesamiento por lotes en microcomputadoras, es la ejecución de una lista de comandos del sistema operativo uno tras otro sin intervención del usuario. En los ordenadores más grandes el proceso de recogida de programas y de conjuntos de datos de los usuarios, la ejecución de uno o unos pocos cada vez y la entrega de los recursos a los usuarios. Procesamiento por lotes también puede referirse al proceso de almacenar transacciones durante un cierto lapso antes de su envío a un archivo maestro, por lo general una operación separada que se efectúa durante la noche. Los sistemas operativos por lotes (batch), en los que los programas eran tratados por grupos (lote) en ves de individualmente. La función de estos sistemas operativos consistía en cargar en memoria un programa de la cinta y ejecutarlo. Al final este, se realizaba el salto a una dirección de memoria desde donde reasumía el control del sistema operativo que cargaba el siguiente programa y lo ejecutaba. De esta manera el tiempo entre un trabajo y el otro disminuía considerablemente. Tiempo Real y Tiempo Compartido. Un sistema operativo en tiempo real procesa las instrucciones recibidas al instante, y una vez que han sido procesadas muestra el resultado. Este tipo tiene relación con los sistemas operativos monousuarios, ya que existe un solo operador y no necesita compartir el procesador entre varias solicitudes. Su característica principal es dar respuestas rápidas; por ejemplo en un caso de peligro se necesitarían respuestas inmediatas para evitar una catástrofe. El tiempo compartido en ordenadores o computadoras consiste en el uso de un sistema por más de una persona al mismo tiempo. El tiempo compartido ejecuta programas separados de forma concurrente, intercambiando porciones de tiempo asignadas a cada programa (usuario). En este aspecto, es similar a la capacidad de multitareas que es común en la mayoría de los microordenadores o las microcomputadoras. Sin embargo el tiempo compartido se asocia generalmente con el acceso de varios usuarios a computadoras más grandes y a organizaciones de servicios, mientras que la multitarea relacionada con las microcomputadoras implica la realización de múltiples tareas por un solo usuario. EL KERNEL Y EL SHELL. Las funciones centrales de un SO son controladas por el núcleo (kernel) mientras que la interfaz del usuario es controlada por el entorno (shell). Por ejemplo, la parte más importante del DOS es un programa con el nombre "COMMAND.COM" Este programa tiene dos partes. El kernel, que se mantiene en memoria en todo momento, contiene el código máquina de bajo nivel para manejar la administración de hardware para otros programas que necesitan estos servicios, y para la segunda parte del COMMAND.COM el shell, el cual es el interprete de comandos. Las funciones de bajo nivel del SO y las funciones de interpretación de comandos están separadas, de tal forma que puedes mantener el kernel DOS corriendo, pero utilizar una interfaz de usuario diferente. Esto es exactamente lo que sucede cuando carga s Microsoft Windows, el cual toma el lugar del shell, reemplazando la interfaz de línea de comandos con una interfaz gráfica del usuario. Existen muchos shells diferentes en el mercado, ejemplo: NDOS (Norton DOS), XTG, PCTOOLS, o inclusive el mismo SO MS-DOS a partir de la versión 5.0 incluyó un Shell llamado DOS SHELL. METODOS DE ACCESO. MULTIPROGRAMACIÓN. La multiprogramación es un modo de trabajo en el que se pueden ejecutar varios programas simultaneamente con el fin de aprovechar al maximo los recursos de la computadora. Surgio de la imposibilidad, para los sistemas o modos de trabajos anteriores, de que con un solo trabajo se pudiese tener ocupados al procesador y a los dispositivos de entrada y salida durante todo el tiempo. TELEPROCESO. Nota: Si quieres mas información y conceptos con todo al respecto a lo que se refiere un Sistema Operativo y a los sistemas operativos mas conocidos entonces visita: http://www.geocities.com/cvicario_so3cv3/