Sistemas operativos modernos

ROM, el sistema se arranca desde el disco duro. Se lee el primer sector del dispositivo de arran­ que, se almacena en la memoria y se ejecuta. Este sector contiene un programa que por lo ge­ neral examina la tabla de particiones al final del sector de arranque para determinar cuál está activa. Luego se lee un cargador de arranque secundario de esa partición. El cargador lee el sis­ tema operativo de la partición activa y lo pone en marcha. Después, el sistema operativo consulta el BIOS para obtener la información de configura­ ción. Verifica que cada dispositivo cuente con el controlador de dispositivo correspondiente. Si falta alguno, pide al usuario insertar un disquete o CD-ROM con el controlador de dispositivo (proporcionado por el fabricante del dispositivo). Una vez que el sistema operativo tiene todos los controladores de dispositivo, los carga en el kemel. Luego asigna valores iniciales a sus ta­ blas, crea los procesos de segundo plano necesarios y arranca un programa de inicio de sesión o GUI en cada terminal. Al menos, así es como se supone que funciona. En la vida real, Plug and Play es tan poco confiable que muchos lo llaman Plug and Pray (conectar y rezar). 1.5 CONCEPTOS DE LOS SISTEMAS OPERATIVOS Todos los sistemas operativos tienen ciertos conceptos básicos, como procesos, memoria y ar­ chivos, que son fundamentales para entenderlos. En las secciones que siguen examinaremos de manera muy somera algunos de esos conceptos básicos, a modo de introducción. Regresare­ mos a cada uno de ellos con mucho mayor detalle más adelante. A fin de ilustrar estos concep­ tos, utilizaremos ejemplos ocasionales, casi siempre tomados de UNIX. Por lo regular pueden hallarse ejemplos similares en otros sistemas. 1.5.1 Procesos Un concepto clave en todos los sistemas operativos es el proceso. Un proceso es básicamente un programa en ejecución. Cada proceso tiene asociado un espacio de direcciones: una lista de po­ siciones de memoria desde algún mínimo (normalmente 0) hasta algún máximo, que el proceso puede leer y en las que puede escribir El espacio de direcciones contiene el programa ejecutable, sus datos y su pila. Cada proceso está asociado también con algún conjunto de registros, inclui­ do el contador de programa, el apuntador de pila y otros registros de hardware, así como toda la demás información necesaria para ejecutar el programa. Regresaremos al concepto proceso con mucho mayor detalle en el capítulo 2, pero por aho­ ra la mejor forma de adquirir un entendimiento intuitivo de qué es un proceso es pensar en los sistemas de tiempo compartido. Periódicamente, el sistema operativo decide dejar de ejecutar un proceso y comenzar a ejecutar otro, por ejemplo, porque el primero ya acaparó la CPU du­ rante más de su porción equitativa de tiempo en el último segundo. Cuando un proceso se suspende de manera temporal en esta situación, más adelante se le deberá reiniciar en el mismo estado que tenía cuando se paró. Esto implica que toda la informa­ ción acerca del proceso debe guardarse en forma explícita en algún lado durante la suspensión. Por ejemplo, el proceso podría tener varios archivos abiertos para lectura en forma simultánea.

RkJQdWJsaXNoZXIy MjI4NDcx