You are on page 1of 524
Parte uno] Concepto de sistemas operativos £€ Asi como el trabajo de las abejas meliferas, criaturas que, por una regla en la naturaleza, ensefian el acto de ordenar un reino poblado. ?? William Shakespeare (1564-1616; en Enrique V) Todos los sistemas operativos poseen ciertas caracteristicas fundamentals en comiin: deben administrar la memoria, la capacidad de procesamiento, los dispositivos y periféricos, archi vos y redes. En la parte uno de este texto presentamos una visién general de estas caracteris ticas basicas de los sistemas operatives + El capitulo 1 presenta el tema * Los capitulos 2-3 analizan la administracién de la memoria principal. * Los capitulos 4-6 cubren la administracién del procesador. * El capitulo 7 se centra en la administraci6n de dispositivos. * El capitulo 8 esta dedicado a la administracién de archivos. © Los capitulos 9-10 revisan brevemente la administracién de red. * El capitulo 11 analiza cuestiones de seguridad del sistema. * Elcapitulo 12 explora la administracién del sistema e interaccién de los componentes de los sistemas operativos. Lu cos y la forma en que aplican la teoria presentada en la parte uno, 0, en la parte dos del texto (capitulos 13 a 16) se abordan sistemas operativos especifi- A lo largo de todo nuestro andlisis de estos temas bastante técnicos intentamos incluir defi niciones de términos que pudieran ser desconocidos para el lector. Sin embargo, no siempre es posible describir una funcién y definir los términos técnicos sin perder claridad en la explicacién, En consecuencia, al final de cada capitulo hemos escrito los términos clave Conceptos de sistemas operatives con las definiciones, y al final del texto se presenta un amplio glosario como referencia. Los ‘asunitos enuimerados en la seccién Términos clave se muestran en negritas la primera vez que aparecen. ‘A lo largo del libro hemos mantenido lo mas simple posible las descripciones y los ejemplos para introducir al lector en las complejidades del sistema sin enredarlo en detalles técnicos. No obstante, es necesario tomar en cuenta que para ¢asi todos los temas explicados en las paginas siguientes hay mas informacién que puede estudiarse. Nuestro objetivo es presentar él tema y animar al lector para que aleance sus intereses usando otros textos o fuentes pri marias en caso de requerir mas detalles. pitulo 1| INtroduccién a los | sistemas operativos ©€ Creo que hay un mercado mundial para tal vez cinco +” computadoras ‘Thomas J. Watson (1874-1956; presidente de IBM 1949-1956) Objetivos de aprendizaje Después de completar este capitulo, el lector debe ser capaz de describir © Innovaciones en el desarrollo de sistemas operativos * El rol fundamental de un sistema operativo. * Los administradores de subsistemas de software més importantes y sus funciones. * Los tipos de hardware de maquina en que funcionan los sistemas operativos. * Las diferencias entre sistemas operativos por lotes, interactivos, de tiempo real, hibridos e inmersos Multiprocesamiento y su impacto en la evolucién del software de los sistemas operatives. Virtualizacién y tendencias en la arquitectura de multiniicleo en sistemas operatives nuevos. Introduccién a los sistemas operatives Capitulo 1 Introduc ‘Comprender un sistema operativo significa entender el funcionamiento de todo un sistema informético, porque el sistema operativo gestiona todas y cada una de las partes de hard- ware y software. Este texto explora qué son los sistemas operativos, cémo funcionan, qué hacen y por qué Este capitulo describe brevemente la manera en que trabajan los sistemas operativos de uso comin y cémo, en general, han evolucionado. Los capitulos siguientes exploran cada componente con mayor profundidad y muestran cémo'su funci6n se relaciona con las otras partes del sistema operativo. En otras palabras, usted observara cémo las piezas trabajan en armonfa para que el sistema de cmputo funcione sin contratiempos. 2Qué es un sistema operativo? Un sistema de computo consta de software (programas) y hardware (la maquina fisica y sus componentes electrénicos). El sistema operativo es la parte fundamental del software, la porcién del sistema de computo que gestiona todo el hardware y el software. Para ser mas cespecificos, controla todos los archivos, todos los dispositivos, todas las secciones de la me- moria principal y todos los nanosegundos del tiempo de procesamiento. Controla quién y como puede usar el sistema. En resumen, es el jefe En consecuencia, cada que el usuario envia una orden, el sistema operativo debe asegurarse que ésta se ejecute 0, en caso de no ejecutarse, debe arreglarselas para que el usuario reciba tun mensaje que explique el error. Recuerde: esto no necesariamente significa que el sistema operativo ejecuta la orden o envia el mensaje de error, sino que controla las partes del siste- ma que lo hacen Software del sistema operativo La pirémide que se ve en la figura 1.1 es una representacién abstracta de un sistema operati- vo y muestra la manera en que las partes més importantes funcionan juntas. En la base de la pirémide estan los cuatro administradores esenciales de todo sistema operativo: el administrador de la memoria, el administrador del procesador, e! administrador de dispositi- vos y el administrador de archivos. De hecho, estos administradores constituyen la base de todos los sistemas operativos y cada uno se analiza en detalle a lo largo de la primera parte de este libro. Cada administrador trabaja estrechamente con los otros administradores y leva a cabo su papel tnico sin importar el sistema operativo especifico que se analice. En la parte superior de la pirdmide esté la interfaz. de comandos de usuario, desde la cual el usuario emite 6rdenes al sistema operativo. Este es un componente tinico en cada sistema operativo y difiere mucho de un sistema operative a otro: algunas veces incluso entre versiones diferentes del mismo sistema operativo. eet Peers ee eee eer paraeercs ar los sistema: erent capitulos 9 y 10 peri criey (Figura 1.) Este modelo de un sistema operativo no en red muestra cuatro ‘administradores de subsistema que atienden la interfaz de comandos de usuario, (Figura 1.2) Los sistemas de red cuentan con un administrador de red que asume la responsabilidad de los tareas de red, mientras trabaja en armonta con todos los demas administradores. Interfaz de comandos de usuario /Administrador del procesador ¥. \Administrador de la memoria NY Una red no siempre formaba parte integral de los sistemas operativos; los primeros sistemas ‘Administrador de dispositivos Iministrador de archivos ran independientes y toda la capacidad de red estaba montada en la parte superior de sis- temas operativos existentes. La mayor parte de los sistemas operativos actuales incorporan de manera rutinaria un administrador de red (que se analiza en los capitulos 9 y 10). En la figura 1.2 se muestra la base de la pirdmide de un sistema operativo de red. Sin importar el tamafio o la configuracién del sistema, cada uno de los administradores de subsistema, que se muestran en la figura 1.3, debe realizar las siguientes tareas: © Supervisar sus recursos de manera continua. * Reforzar las politicas que determinan quién obtiene qué, cusndo y cuanto. ‘© Asignar el recurso cuando sea convei © Desasignar el recurso cuando sea conveniente. [Administrador del procesador (cru, Administrador de ta memoria (memoria principal) ‘Administrador de red (comunicaciones por red, protocolos, etcétera) ‘Administrador de dispositivos. (teclado, impresora, tunidades de disco, médem, ‘monitor, etcétera) ‘Administrador de archivos (archivos de programa, archivos de datos, compiladores, etcétera) ongeiado ewaysis jap a1emyos Introduccién a los sistemas operativos Capitulo 1 ‘Administrador del procesador oe ‘Administrador de ta memoria —tp (memoria principal, también denominada memoria de acceso aleatorio, RAM) ‘Administrador de dispositivos (teado,impresra, unidaes de ssc, modem, monitor, etcetera) ‘Administrador de archivos (archivos de programa, archivos de datos, compiladores, etcétera) Adninistraci6n de la memoria principal El adminise principal, también conocida como RAM, siglas en inglés de Random Access Memory: me- moria de acceso aleatorio. El administrador de la memoria verifica la validez de cada solici- dor de la memoria (el tema de los capitulos 2 y 3) esté a cargo de la memoria tud por espacio de memoria y, si es una solicitud legal, asigna una porcién de la memoria que atin no esta en uso. En un entorno multiusuario, el administrador de la memoria crea una tabla para seguir la pista de quién esta usando qué seccién de la memoria. Finalmente, cuan- do llega el momento de reclamar memoria, el administrador de la memoria la desasigna. Una responsabilidad primordial del administrador de la memoria es proteger el espacio en la memoria principal ocupado por el sistema operativo en sf: no puede permitir que ninguna parte de éste sea asignada o modificada accidentalmente Administracién del procesador El administrador del procesador (el tema de los capitulos 4 a 6) decide cémo asignar la unidad central de procesamiento (CPU). Una funci6n importante del administrador del procesador es seguir la pista de estado de cada proceso. Aqui, un proceso se define como una instancia de la 6jecucién de un programa, El administrador del procesador supervisa si la CPU esta ejecutando un proceso en espera de un comando READ 0 WRITE para terminar la ejecucién. Debido a que maneja las tran- siciones de los procesos de un estado de ejecucién a otro, puede compararse con un contro- lador de trafico. Una vez que el administrador del procesador asigna el procesador, establece los registros y tablas necesarios y, cuando ha terminado el trabajo o ha expirado la cantidad maxima de tiempo, reclama el procesador Reflexione como sigue: el administrador del procesador tiene dos niveles de responsabil dad. Uno consiste en manejar trabajos en la medida en que ingresan al sistema y el otro es administrar cada proceso dentro de estos trabajos. La primera parte es manejada por el planificador de trabajos, la parte de alto nivel del administrador del procesador, que acepta 6 rechaza los trabajos de entrada. La segunda parte es manejada por el planificador de pro esos, la parte de bajo nivel del administrador del procesador, que es responsable de decidir cual proceso obtiene la CPU y durante cuanto tiempo. (Figura 1.3) Cada administrador del subsistema en la base de la pirémide asume la responsabilidad de sus propias tareas mientras trabaja en armonia con todos los demds ‘administradores. et a Administraci6n de dispositivos El administrador de dispositivos (tema del capitulo 7) supervisa cada dispositivo, canal y unidad de control. Su trabajo consiste en escoger la manera més eficiente para asignar todos los dispositivos del sistema, impresoras, puertos, unidades de disco, etcétera, con base en una politica de planificacién elegida por los disefiadores del sistema. El administrador de dispositivos efecttia esto al asignar cada recurso, empezar su operacién ¥; por iiltimo, desasignando el dispositivo, poniéndolo a disposicién para el siguiente proceso. o trabajo. Adminitraci6n de archivos E] administrador de archivos (tema del capitulo 8) sigue la pista de todos los archivos en el sistema, incluyendo archivos de datos, archivos de programa, compiladores y aplicaciones. Al usar politicas de acceso predeterminado, refuerza las restricciones sobre quién tiene acce- so a qué archivos. El administrador de archivos también controla lo que se permite hacer a acceso a éstos. Por ejemplo, un usuario puede tener acceso Jos usuarios una vez que tie de s6lo lectura, acceso de lectura y escritura 0 los permisos para crear y borrar archivos. La administracién del control de acceso forma parte fundamental de la administracién de archivos. Por tiltimo, el administrador de archivos asigna los recursos necesarios y después los desasigna. Administracién de redes Los sistemas operativos con internet 0 con capacidad de trabajar en red, tienen un quinto administrador esencial llamado administrador de redes (tema de los capitulos 9 y 10) que proporciona una forma conveniente para que los usuarios participen de los recursos mien tras controlan el acceso de los usuarios a los mismos. Estos recursos incluyen hardware (tal como CPUs, éreas de memoria, impresoras, controladores de cinta, médems y controladores de disco) y software (tal como compiladores, programas de aplicacién y archivos de datos). Interface de usuario Esta es la parte del sistema operativo que interacttia directamente con el usuario. En el pa: sado, la interface de usuario consistia de comandos escritos desde un teclado y desplegados ‘en un monitor, como se muestra en la figura 1.4. Ahora, muchos sistemas permiten a los usuarios seleccionar una opcién del menti de una lista. La interface de usuario, mquinas de escritorio y formatos varian ampliamente de un sistema operativo a otro, como se muestra en los capitulos 13 a 16 en la parte dos de este libro. onnerado ewiarsys jap a1emyos Introducci6n a los sistemas operativos Capitulo 1 i i i Hn (Figura 1.4) os interfaces de usuario de Linux: una interfaz comando-controlador (izquierda) y una interfaz ment- controlador (derecha).. Cuestiones de cooperaci6n Sin embargo, no basta que cada administrador realice sus tareas individuales. También debe ser ccapaz de trabajar en armonia con todos y cada uno de los demas administradores, A continuacién se presenta un ejemplo simplificado. Considere que alguien selecciona una opcién desde un meni para ejecutar un programa. Los siguientes pasos principales deben ocurrir de manera secuencial: L El administrador de dispositivos debe recibir los impulsos eléctricos desde el mouse (0 rat6n) 0 el teclado, formar la orden y enviarla a la interfaz de comandos de usua- rio, donde el administrador del procesador la valida, Luego, el administrador del procesador envia un mensaje de reconocimiento que debe desplegarse en el monitor de video para que el usuario se entere de que el co- mando ha sido enviado. Cuando el administrador del procesador recibe el comando, determina si el progra- ma debe obtenerse del almacenamiento o ya est en la memoria, y luego notifica este hecho al administrador idéneo. Si el programa esta en almacenamiento, el administrador de archivos debe calcular su ubicacién exacta en el disco y pasar esta informaci6n al administrador de dispo- sitivos, que recupera el programa y lo envia al administrador de la memoria, Después, el administrador de la memoria encuentra espacio para el programa y registra su ubicacién exacta en la memoria. Una vez que el programa esté en la ‘memoria, el administrador de la memoria debe seguir la pista de su ubicacion en la memoria (incluso si se ha movido), asi como su avance en la medida en que es eje- cutado por el administrador del procesador. Una vez que termina la ejecucién del programa, debe enviar un mensaje de termina- nistrador del procesador de modo que el procesador pueda ser asignado al siguiente programa que esté esperando en linea. Finalmente, el administrador del procesador debe enviar el mensaje de terminacién cién al adn al administrador de dispositivos, para que éste pueda enviar un mensaje al usuario y actualice la pantalla. Aunque esta es una demostracién bastante simplificada de una operacién complicada, ilustra algo de la increible precisién necesatia para que el sistema operativo pueda trabajar sin cor tratiempos. Asi, aunque durante gran parte de este texto analizaremos cada administrador de manera aislada, ningin administrador tinico es eapaz. de efectuar sus tareas sin la cooperaci6n tiva de cada una de las otras partes. (Figura 1.5) Representacién {6gica de la configuracion del hardware de un sistema de cémputo tipico. La torre comtiene Ia uunidad central de rocesamiento, la unidad aritmética y l6gica, registr la memoria caché yla memoria principal, ast como controladores e interfaces ‘mostradas con lineas discontinuas. Breve historia del hardware de la computadora Para apreciar el rol del sistema operativo (que es el software), es necesario analizar los as- pectos esenciales del hardware del sistema de cmputo, la maquina fisica y sus componentes electrénicos, incluyendo los circuitos integrados de la memoria, los dispositivos de entrada/ salida, los dispositivos de almacenamiento y la unidad central de procesamiento (CPU). + La memoria principal (memoria de acceso aleatorio RAM) es donde deben residir los datos y las instrucciones para su procesamiento. + Los dispositivos de E/S, abreviacién de dispositivos de entrada/salida, incluyen a todas las unidades perifé unidades de CD/DVD, memoria flash, teclados, etcétera. as en el sistema, como impresoras, unidades de disco, * La unidad central de procesamiento (CPU) es el cerebro con los circuitos (algunas 6n de las ins- veces denominados el chip) para controlar la interpretaciGn y ejecu trucciones. En esencia, controla la operacién de todo el sistema de cémputo, como se ilustra en la figura 1.5. Todas las referencias de almacenamiento, las manipula- ciones de datos y las operaciones de E/S son iniciadas o realizadas por la CPU. Hasta mediados de la década de 1970, las computadoras se clasificaban segiin su capacidad y precio. Una computadora central era una maquina grande en tamafio y capacidad de me- cee Gg | | e1opejndwod e} ap arempiey jap euorsiy anaig Pee y Macintosh OS x Introduccién a los sistemas operatives Capitulo 2 10 moria interna. La IBM 360, introducida en 1964, es un ejemplo clasico de una de las pri- meras computadoras centrales. La IBM 360 modelo 30 requeria una habitacién con aire acondicionado de alrededor de 18 pies cuadrados para alojar la CPU, la consola del ope- rador, una impresora, una lectora de tarjetas y una perforadora de tarjetas. La CPU media 5 pies de alto por 6 pies de ancho, y contaba con una memoria interna de 64 KB (considerada grande en esa época), y su precio era de $200 000 dolares estadunidenses de 1964. Debido su tamafo y precio en la época, sus aplicaciones estaban generalmente limitadas a grandes centtos de cémputo pertenecientes al gobierno federal, universidades y grandes empresas. La minicomputadora fue desarrollada para satisfacer las necesidades de insttuciones mas pe- ‘quefas; aquellas con sélo unas docenas de usuarios. Una de las primeras minicomputadoras fue ‘comercializada pot la Digital Equipment Corporation para satisfacer las necesidades de escuelas grandes y pequefias universidades que empezaron a ofrecer cursos de informatica a principios de la década de 1970, (El precio de su PDP-8 era inferior a $18 000.) El tamafio, la capacidad cde memoria y el costo de las minicomputadoras eran menores que los de las computadoras cen- trales. Hoy, las computadoras que se ubican entre las microcomputadoras y las computadoras centrales en cuanto a capacidad a menudo se denominan computadoras de rango intermedio. La supercomputadora fue desarrollada esen ialmente pa que requerian capacidad masiva y calculos numéricos répidos para realizar operaciones mi litares y predicciones meteorolégicas. Las actividades de negocios ¢ industriales comenzaron aplicaciones gubernamentales a interesarse en la tecnologia cuando las computadoras masivas se volvieron més rapidas y menos costosas. Un ejemplo tipico es la supercomputadora Cray, que cuenta con desde seis, hasta miles de procesadores que efecttian hasta 2.4 billones de operaciones de punto flotante por segundo (2.4 teraflops). Las supercomputadoras se usan para una amplia variedad de tareas, desde investigacién cientifica hasta atencién al consumidor y desarrollo de productos. Incluso a menudo se utilizaban para realizar célculos complicados necesarios para crear pe~ liculas de dibujos animados. Y son de ayuda para las compaiias petroleras en su biisqueda de petrdleo al analizar cantidades masivas de datos (Stair, 1999). La microcomputadora fue desarrollada a fines de la década de 1970 para ofrecer capacidad de cémputo poco costosa a usuarios individ les. Los primeros modelos contaban con una cantidad revolucionaria de memoria: 64 KB. Fisicamente eran menores que las minicompu tadoras de esa época, aunque mayores que las microcomputadoras actuales. Finalmente, las microcomputadoras crecieron para dar cabida a software con mayor capacidad y alta velo- cidad. El rasgo caracteristco de la primera microcomputadora era su condicién de usuario Las microcomputadoras poderosas desarrolladas para uso comercial, educativo y guberna- mental se denominan estaciones de trabajo. En términos generales, las estaciones de traba~ conectadas entre si y se usan para atender a usuarios de ingenieria y técnicos que los matematicos masivos, diseiio asistido por computadora (CAD) u otras apli- caciones que requieren una CPU bastante poderosa, grandes cantidades de memoria princi- pal y visualizacién grafica de alta resolucién para satisfacer sus necesidades. Los servidores son poderosas computadoras que proporcionan servicios especializados a otras computadoras en redes cliente/servidor. Los ejemplos pueden incluir servidores de im-

You might also like