Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unix
Unix
Pgina 1
www.monografias.com
Pgina 2
iferentes usuarios pueden 6ver6 versiones distintas del sistema operativo de!ido a la capacidad del s+ell para configurar diversos am!ientes de ejecuci&n. Por ejemplo, se puede +acer que un usuario entre directamente a su secci&n, ejecute un programa en particular y salga automticamente del sistema al terminar de usarlo.
Pgina 3
Pgina 4
El 1ernel consta de dos artes principales: la secci&n de control de procesos y la de control de dispositivos. $a primera asigna recursos, programas, procesos y atiende sus requerimientos de servicio5 la segunda, supervisa la transferencia de datos entre la memoria principal y los dispositivos perifricos. En trminos generales, cada ve. que alg0n usuario oprime una tecla de una terminal, o que se de!e leer o escri!ir informaci&n del disco magntico, se interrumpe al procesador central y el n0cleo se encarga de efectuar la operaci&n de transferencia.
Cuando se inicia la operaci&n de la computadora, de!e cargarse en la memoria una copia del n0cleo, que reside en e: disco magntico 7operaci&n denominada !ootstrap8. Para ello, se de!en iniciali.ar algunas interfaces !sicas de +ard(are5 entre ellas, el reloj que proporciona interrupciones peri&dicas. El 1ernel tam!in prepara algunas estructuras de datos que a!arcan una secci&n de almacenamiento temporal para transferencia de informaci&n entre terminales y
Pgina 5
procesos, una secci&n para almacenamiento de descriptores de arc+ivos y una varia!le que indica la cantidad de memoria principal. 9 continuaci&n, el 1ernel iniciali.a un proceso especial, llamado proceso ;. En general, los procesos se crean mediante una llamada a una rutina del sistema 7for<8, que funciona por un mecanismo de duplicaci&n de procesos. "in em!argo, esto no es suficiente para crear el primero de ellos, por lo que el 1ernel asigna una estructura de datos y esta!lece apuntadores a una secci&n especial de la memoria, llamada ta!la de procesos, que contendr los descriptores de cada uno de los procesos e*istentes en el sistema. espus de +a!er creado el proceso ;, se +ace una copia del mismo, con lo que se crea el proceso =5 ste muy pronto se encargar de 6dar vida6 al sistema completo, mediante la activaci&n de otros procesos que tam!in forman parte del n0cleo. Es decir, se inicia una cadena de activaciones de procesos, entre los cuales destaca el conocido como despac+ador, o sc+eduler, que es el responsa!le de decidir cul proceso se ejecutar y cules van a entrar o salir de la memoria central. 9 partir de ese momento se conoce el n0mero = como proceso de iniciali.aci&n del sistema, init. El proceso init es el responsa!le de esta!lecer la estructura de procesos en 2ni*. /ormalmente, es capa. de crear al menos dos estructuras distintas de procesos: el modo monousuario y el multiusuario. Comien.a activando el intrprete del lenguaje de control 7"+ell8 en la terminal principal, o consola, del sistema y proporcionndole privilegios de 6superusuario6. En la modalidad de un solo usuario la consola permite iniciar una primera sesi&n, con privilegios especiales, e impide que las otras lneas de comunicaci&n acepten iniciar sesiones nuevas. Esta modalidad se usa con frecuencia para revisar y reparar sistemas de arc+ivos, reali.ar prue!as de funciones !sicas del sistema y para otras actividades que requieren uso e*clusivo de la computadora. 3nit crea otro proceso, que espera pacientemente a que alguien entre en sesi&n en alguna lnea de comunicaci&n. Cuando esto sucede, reali.a ajustes en el protocolo de la lnea y ejecuta el programa login, que se encarga de atender inicialmente a los nuevos usuarios. "i la clave del usuario, y la contrase'a proporcionadas son las correctas, entonces entra en operaci&n el programa "+ell, que en lo sucesivo se encargar de la atenci&n normal del usuario que se dio de alta en esa terminal. 9 partir de ese momento el responsa!le de atender al usuario en esa terminal es el intrprete "+ell. Cuando se desea terminar la sesi&n +ay que desconectarse de "+ell 7y, por lo tanto, de 2ni*8, mediante una secuencia especial de teclas 7usualmente. > C)$ ? - 8. 9 partir de ese momento la terminal queda disponi!le para atender a un nuevo usuario.
Pgina 6
Pgina 7
u,gerencia,a!rilBCl,cartaD tiene toda esta trayectoria como nom!re a!soluto, pero se llama gerencia,a!rilBCl,cartaD, sin =ra diagonal inicial, si se o!serva desde el directorio ,u. Para los usuarios que estn normalmente en el directorio ,u,gerencia, el arc+ivo se llama a!rilBCl,cartaD. 9s, tam!in puede e*istir otro arc+ivo llamado cartaD, pero dentro de alg0n otro directorio y en caso de ser necesario se empleara el nom!re de la trayectoria 7completa o en partes, de derec+a a i.quierda8 para distinguirlos. 2ni* ofece medios muy sencillos para colocarse en diferentes puntos del r!ol que forma el sistema de arc+ivos, que para el ejemplo anterior podra ser el siguiente:
Como se dijo antes, desde el punto de vista del directorio a!rilBC, que a su ve. pertenece al directorio gerencia del directorio ,u, !asta con el nom!re cartaD para apuntar al arc+ivo en cuesti&n. En esta forma se maneja el sistema completo de arc+ivos y se dispone de un conjunto de &rdenes de "+ell 7adems de m0ltiples variantes8 para +acer diversas manipulaciones, como crear directorios, moverse dentro del sistema de arc+ivos, copiarlos, etctera. 2ni* incluye, adems, m0ltiples esquemas para crear, editar y procesar documentos. E*isten varios tipos de editores, formadores de te*tos, macroprocesadores para te*tos, formadores de ta!las, preprocesadores de e*presiones matemticas y un gran n0mero de ayudas y utileras diversas, que se mencionan ms adelante. 9 continuaci&n se descri!e el modo de funcionamiento de 2ni*, con !ase en un modelo de estudio de sistemas operativos que lo divide en 6capas6 jerrquicas para su mejor comprensi&n.
Pgina 8
Pgina 9
%tra caracterstica de 2ni* es que no requiere que el conjunto de sistemas de arc+ivos resida en un mismo dispositivo. Es posi!le definir uno o varios sistemas 6desmonta!les6, que residen fsicamente en diversas unidades de disco. E*iste una orden 7m<fs8 que permite crear un sistema de arc+ivos adicional, y una llamada al sistema 7mount8 con la que se a'ade 7y otra con la que se desmonta8 uno de ellos al sistema de arc+ivos glo!al. E3 control de las impresoras de una computadora que funciona con el sistema operativo 2ni* consiste en un su!sistema 7"P%%$8 que se encarga de coordinar los pedidos de impresi&n de m0ltiples usuarios. E*iste un proceso de 1ernel que en forma peri&dica revise las colas de servicio de las impresoras para detectar la e*istencia de pedidos e iniciar entonces las tareas de impresi&n. Este tipo de procesos, que son activados en forma peri&dica por el n0cleo del sistema operativo, reci!en en 2ni* el nom!re de daemons 7duendes8, tal ve. porque se despiertan y aparecen sin previo aviso. %tros se encargan de activar procesos en tiempos previamente determinados por el usuario, o de escri!ir peri&dicamente los contenidos de los !uffers de memoria en el disco magntico.
Pgina 10
"e conoce como imagen a una especie de fotografa del am!iente de ejecuci&n de un proceso, que incluye una descripci&n de la memoria, valores de registros generales, status de arc+ivos a!iertos, el directorio actual, etctera. 2na imagen es el estado actual de una computadora virtual, dedicada a un proceso en particular. 2n proceso se define como la ejecuci&n de una imagen. Eientras el procesador ejecuta un proceso, la imagen de!e residir en la memoria principal5 durante la ejecuci&n de otros procesos permanece primera en la memoria principal a men0s que la aparici&n de un proceso activo de mayor prioridad la o!ligue a ser copiada al disco, como ya se dijo. 2n proceso puede encontrarse en uno de varios estados: en ejecuci&n5 listo para ejecutar, o en espera. Cuando se invoca una funci&n del sistema, el proceso de usuario llama al 1ernel como su!rutina. #ay un cam!io de am!ientes y, como resultado, se tiene un proceso del sistema. Estos dos procesos son dos fases del mismo original, que nunca se ejecutan en forma simultnea. E*iste una ta!la de procesos que contiene una entrada por cada uno de ellos con los datos que requiere el sistema: identificaci&n, direcciones de los segmentos que emplea en la memoria, informaci&n que necesita el sc+eduler y otros. la entrada de la ta!la de procesos se asigna cuando se crea el proceso y se li!era cuando ste termina. Para crear un proceso se requiere la iniciali.aci&n de una entrada en la ta!la, as como la creaci&n de segmentos de te*to y de datos. 9dems, es necesario modificar la ta!la cuando cam!ia el estado del proceso o cuando reci!e un mensaje de otro 7para sincroni.aci&n, por ejemplo8. Cuando un proceso termina, su entrada en la ta!la se li!era y queda otro disponi!le para que otro nuevo la utilice. En el sistema operativo 2ni* los procesos pueden comunicarse internamente entre s, mediante el envo de mensajes o se'ales. El mecanismo conocido como intercone*i&n 7pipe8 crea un canal entre dos procesos mediante una llamada a una rutina del 1ernel, y se emplea tanto para pasar datos unidireccionalmente entre las imgenes de am!os, como para sincroni.arlos, ya que si un proceso intenta escri!ir en un pipe ocupado, de!e esperar a que el receptor lea los datos pendientes. $o mismo ocurre en el caso de una lectura de datos ine*istentes: el proceso que intenta leer de!e esperar a que el proceso productor deposite los datos en el canal de intercomunicaci&n. Entre las diferentes llamadas al sistema para el manejo de procesos que e*isten en 2ni* estn las siguientes, algunas de las cuales ya +an sido mencionadas: for< 7sacar una copia a un proceso85 e*ec 7cam!iar la identidad de un proceso85 <ill 7enviar una se'al a un proceso85 signal 7especificar la acci&n por ejecutar cuando se reci!e una se'al de otro proceso8, y e*it 7terminar un proceso8. entro de las tareas del manejo del procesador destaca la asignaci&n dinmica 7sc+eduling8, que en 2ni* resuelve el sc+eduler mediante un mecanismo de prioridades. Cada proceso tiene asignada una prioridad5 las prioridades de los procesos de usuario son menores que la ms peque'a de un proceso del sistema. El 6motor6 que mantiene en movimiento un esquema de multiprogramaci&n es, por un lado, el conjunto de interrupciones que genera el desempe'o de los
Pgina 11
procesos y, por otro, los constantes recordatorios que +ace el reloj del procesador para indicar que se termin& la fracci&n de tiempo dedicada a cada proceso. En el sistema 2ni*, las interrupciones son causadas por lo que se conoce como eventos, entre los cuales se consideran: la ejecuci&n de una tarea de entrada,salida5 la terminaci&n de los procesos dependientes de otro5 la terminaci&n de la fracci&n de tiempo asignada a un proceso, y la recepci&n de una se'al desde otro proceso. En un sistema de tiempo compartido se divide el tiempo en un determinado n0mero de intervalos o fracciones y se asigna cada una de ellas a un proceso. 9dems 2ni* toma en consideraci&n que +ay procesos en espera de una operaci&n de E," y que ya no pueden aprovec+ar su fracci&n. Para asegurar una distri!uci&n adecuada del procesador entre los procesos se calculan dinmicamente las prioridades de estos 0ltimos, con el fin de determinar cul ser el proceso que se ejecutar cuando se suspenda el proceso activo actual.
Manejo De Memoria
Pgina 12
ependiendo de la computadora en la que se ejecute, 2ni* utili.a dos tcnicas de manejo de memoria: s(apping y memoria virtual. $o estndar en 2ni* es un sistema de intercam!io de segmentos de un proceso entre memoria principal y memoria secundaria, llamado s(apping lo que significa que se de!e mover la imagen de un proceso al disco si ste e*cede la capacidad de la memoria principal, y copiar el proceso completo a memoria secundaria. Es decir, durante su ejecuci&n, los procesos son cam!iados de y +acia memoria secundaria conforme se requiera. "i un proceso necesita crecer, pide ms memoria al sistema operativo y se le da una nueva secci&n, lo suficientemente grande para acomodarlo. Entonces, se copia el contenido de la secci&n usada al rea nueva, se li!era la secci&n antigua y se actuali.an las ta!las de descriptores de procesos. "i no +ay suficiente memoria en el momento de la e*pansi&n, el proceso se !loquea temporalmente y se le asigna espacio en memoria secundaria. "e copia a disco y, posteriormente, cuando se tiene el espacio adecuado - lo cual sucede normalmente en algunos segundos - se devuelve a memoria principal. Est claro que el proceso que se encarga de los intercam!ios entre memoria y disco 7llamado s(apper8 de!e ser especial y jams podr perder su posici&n privilegiada en la memoria central. El 1ernel se encarga de que nadie intente siquiera interrumpir este proceso, del cual dependen todos los dems. Este es el proceso ; mencionado antes. Cuando se decide traer a la memoria principal un proceso en estado de 6listo para ejecutar6, se le asigna memoria y se copian all sus segmentos. Entonces, el proceso cargado compite por el procesador con todos los dems procesos cargados. "i no +ay suficiente memoria, el proceso de intercam!io e*amine la ta!la de procesos para determinar cul puede ser interrumpido y llevado al disco. #ay una pregunta que surge entonces es Fcul de los posi!les procesos que estn cargados ser desactivado y cam!iado a memoria secundariaG $os procesos que se eligen primero son aquellos que estn esperando operaciones lentas 7E,"8, o que llevan cierto tiempo sin +a!erse movido al disco. $a idea es tratar de repartir en forma equitativa las oportunidades de ejecuci&n entre todos los procesos, tomando en cuenta sus +istorias recientes y sus patrones de ejecuci&n. %tra pregunta es Fcul de todos los procesos que estn en el disco ser trado a memoria principalG. $a decisi&n se toma con !ase en el tiempo de residencia en memoria secundaria. El proceso ms antiguo es el que se llama primero, con una peque'a penali.aci&n para los grandes. Cuando 2ni* opera en mquinas ms grandes, suele disponer de manejo de memoria de paginaci&n por demanda. En algunos sistemas el tama'o de la pgina en 2ni* es de H=D !ytes5 en otros, de =;DC. Para reempla.o se usa un algoritmo que mantiene en memoria las pginas empleadas ms recientemente. 2n sistema de paginaci&n por demanda ofrece muc+as ventajas en cuanto a fle*i!ilidad y agilidad en la atenci&n concurrente de m0ltiples procesos y proporciona, adems, memoria virtual, es decir, la capacidad de tra!ajar con procesos mayores que el de la memoria central. Estos esquemas son !astante complejos y requieren del apoyo de +ard(are especiali.ado.
Pgina 13
Pgina 14
Pgina 15
manejo de e*presiones regulares, lo que proporciona al lenguaje de control de 2ni* mayor potencia y capacidad e*presiva. En 2ni* e*iste tam!in la posi!ilidad de ejecutar programas sin tener que atenderlos en forma interactiva, sino simulando paralelismo 7es decir, atender de manera concurrente varios procesos de un mismo usuario8. Esto se logra agregando el sm!olo K al final de la lnea en la que se escri!e la orden de ejecuci&n. Como resultado, "+ell no espera que el proceso 6+ijoLL termine de ejecutar 7como +ara normalmente8, sino que regresa a atender al usuario inmediatamente despus de +a!er creado el proceso asincr&nico, simulando en esta forma el procesamiento por lotes 7 !atc+ 8 Para cada uno de estos procesos "+ell proporciona, adems, el n0mero de identificaci&n, por lo que si fuera necesario el usuario podra cancelarlo posteriormente, o averiguar el avance de la ejecuci&n. $a comunicaci&n interna entre procesos 7es decir, el envo de mensajes con los que los diversos procesos se sincroni.an y coordinan8 ocurre mediante el mecanismo de intercone*iones 7pipes8 ya mencionado, que conecta la salida estndar de un programa a la entrada estndar de otro, como si fuera un conducto con dos e*tremos, cada uno de los cuales est conectado a su ve. a un proceso distinto. esde "+ell puede emplearse este mecanismo con el sm!olo M en la lnea donde se escri!e la orden de ejecuci&n. 9s en el ejemplo: 7califica > tarea M sorte ? lista8 K se emplean las caractersticas de intercone*i&n, redireccionamiento y asincrona de procesos para lograr resultados difciles de o!tener en otros sistemas operativos. 9qu se pide que, en forma asincr&nica 7es decir, dejando que la terminal siga disponi!le para atender otras tareas del mismo usuario8, se ejecute el programa califica para que lea los datos que requiere del arc+ivo tareas5 al terminar, se conectar con el proceso sort 7es decir, pasar los resultados intermedios8 para que contin0e el procesamiento y se arreglen los resultados en orden alfa!tico5 al final de todo esto, los resultados quedarn en el arc+ivo lista. Con esta otra orden, por ejemplo, se !usca o!tener todos los renglones que contengan las pala!ras 6contrato6 o 6empleado6 en los arc+ivos en disco cuyos nom!res comiencen con la letra 6E6 7lo cual se denota mediante una e*presi&n regular8. Para lograrlo, se +ace uso de una funci&n llamada egrep, especial para el manejo de patrones y com!inaciones de e*presiones regulares dentro de los arc+ivos: egrep-n LcontratoL LempleadoL E J $os resultados aparecen as: Emple=: H: en caso de que un empleado decide +acer uso de la facilidad, Emple=:N: y el contrato as lo considere las o!ligaciones de la EmpleD:B: Clusula 33: El contrato colectivo de tra!ajo
Pgina 16
EmpleD:=H: Oracci&n ll3: El empleado tendr derec+o, de acuerdo con lo El tercer rengl&n, por ejemplo, muestra el noveno rengl&n del arc+ivo EmpleD, que contiene una de las pala!ras !uscadas. Como 2ni* fue dise'ado para servir de entorno en las la!ores de dise'o y producci&n de programas, ofrece - adems de su filosofa misma - un rico conjunto de +erramientas para la creaci&n de sistemas complejos, entre las que destaca el su!sistema ma<e. Este 0ltimo ofrece una especie de lenguaje muy sencillo, con el cual el programador descri!e las relaciones estructurales entre los m&dulos que configuran un sistema completo, para que de a+ en adelante ma<e se encargue de mantener el sistema siempre al da. Es decir, si se modifica alg0n m&dulo, se reempla.a o se a'ade otro, las compilaciones individuales, as como las cargas y ligas a que +aya lugar, sern reali.adas en forma automtica, por esta +erramienta. Con una sola orden, entonces, es posi!le efectuar decenas de compilaciones y ligas predefinidas entre m&dulos, y asegurarse de que en todo momento se tiene la 0ltima versi&n de un sistema, ya que tam!in se lleva cuenta automtica de las fec+as de creaci&n, modificaci&n y compilaci&n de los diversos m&dulos. e esta manera, se convierte en una +erramienta casi indispensa!le al desarrollar aplicaciones que requieren decenas de programas que interact0an entre s o que mantienen relaciones jerrquicas. %tras +erramientas interesantes son ar, dise'ado para crear y mantener !i!liotecas de programas 7que sern luego utili.adas por otros programas para efectuar las funciones ya definidas sin tener que duplicar el c&digo85 a(<, un lenguaje para reconocimiento de patrones y e*presiones regulares 7es decir, generadas por una gramtica regular o de tipo I8, 0til para e*traer informaci&n de arc+ivos en forma selectiva5 le*, un generador de anali.adores le*icogrfico, y yacc, un compilador de compiladores. Estos dos 0ltimos se emplean como +erramientas en la creaci&n de compiladores y procesadores de lenguajes. $a lista complete de funciones, &rdenes de su!sistemas que forman parte de las utileras del sistema operativo 2ni* es realmente grande, e incluye ms de un centenar, que se pueden agrupar en los siguientes ru!ros: Compiladores de compiladores. Ejecuci&n de programas. Oacilidades de comunicaciones. Ounciones para control de status. Ounciones para control de usuarios. Ounciones para impresi&n. #erramientas de desarrollo de programaci&n. $enguaje C, funciones y !i!liotecas asociados. Eacroprocesamiento. Eanejo de directorios y arc+ivos. Eanejo de grficas. Eanejo de informaci&n. Eanejo de terminales. Eantenimiento y respaldos. %tros lenguajes algortmicos integrados. Preparaci&n de documentos.
Pgina 17