You are on page 1of 5

Introduccin

Como se recordara las primeras computadoras realizaban funciones bsicas con gran cantidad de energa y se
dispona de poco almacenamiento, para la siguiente dcada se empez a armar un dispositivo ms pequeo aun
as la tecnologa no haba avanzado lo suficiente pero se invent la cinta magntica para guardar mayor cantidad
de datos y aun funcionaba con tarjetas perforadas como sus instrucciones a seguir, siendo que esas primeras
computadoras trabajaban con tubos de vaco construidas las primeras por un equipo de Betchley Park en
Inglaterra por Howard Aiken en Harvard llamada Mark I y la ENIAC por William Mauchcley y Presper Eckert
en la universidad de Pennsylvania algunas de estas eran binarias, otras con bulbos y algunas mnimas
programables pero rudimentarias ya que se tardaban muchsimo al hacer una simple operacin y todo se
realizaba a travs de lenguaje mquina, aunque se tena ya algn lenguaje tipo ensamblador este era
desconocido a principios de los aos 50 se empezaron a utilizar las tarjetas perforadas, ya que en ellas era ms
fcil escribir cierto cdigo y leerse que ir cambiando circuitos como se haca con las de bulbos.
Para los aos siguientes se empezaron a utilizar los transistores y con ellos sistemas ms complejos como los
procesamientos por lotes, para ello ya haba divisin en las personas que realizaban la fabricacin de
computadoras, como diseador, constructor, operador, programador y las personas encargadas del
mantenimiento de estas y cambiaron el nombre a Mainframes que ya tenan aire acondicionado pero las que
podan tener acceso a ellas eran grandes empresas y universidades, aqu ya se empleaba lo que se conoce como
lenguaje ensamblador o se programaba en Fortran todo ello se pasaba a las tarjetas perforadas para que los
Mainframes pudieran leerlos y ejecutar lo que ah se pona, de eso se encargaban los operadores, la cinta
magntica fue entonces cuando hizo su aparicin con el fin de reducir tiempo en la ejecucin de entrada y salida
de datos, con ello los Mainframes fueron ms pequeos sin embargo no desaparecieron las tarjetas perforadas
porque en ellas se ponan los programas con los que funcionaban los mainframes, con estas cintas se empez a
imprimir fuera de lnea ya que se guardaba la informacin en ellas y se pasaba a otra que solo imprimiera los
resultados. Casi una dcada despus aparecieron los circuitos integrados y la multiprogramacin, las ventajas de
estas fue que los sistemas operativos se trataron de ser para una sola familia de computadoras es decir todos los
primeros modelos de IBM traan el sistema el mismo sistema que las que funcionaban con las tarjetas
perforadas y ello provoco que si traan errores no haba manera de componer el error, con ello empez a surgir
la multiprogramacin con ello se resolvieron parte de los conflictos al ejecutar tareas y poder obtener
resultados, por ejemplo en los clculos matemticos, tambin se cre lo que se conoce como tiempo
compartido, esto ayudo a que varias personas trabajaran a su vez ya que mientras alguien no ocupaba el espacio
en memoria se liberaba y otro podra empezar a realizar un trabajo nuevo a esto se le llamo espacio compartido.
Para la siguiente generacin que es aun la de nuestros das se lleg a los circuitos integrados a gran escala
tambin llamados chips que contienen miles de transistores en una placa de silicio, y asi naci la era de la
computadora personal, las computadoras personales no eran diferentes de las minicomputadora, pero en
trminos de precio s que eran diferentes, por lo regular estas mquinas estn interconectadas mediante una red
y su amplia disponibilidad de la potencia de cmputo interactiva que acompaada con los grficos, dio pie al
crecimiento de una importante industria productora de software para computadoras personales.
Dos sistemas operativos dominaron inicialmente el campo de las computadoras personales y las estaciones de
trabajo: MS-DOS de Microsoft y UNIX, esto marco el inicio de WINDOWS, que originalmente se ejecutaba
encima de MS-DOS, pero a partir de 1995 se produjo una versin autosuficiente de WINDOWS, de modo que
ya no se necesitaba MS-DOS para montarlo, estas se dedicaban a un solo usuario, por lo cual tienen un sistema
operativo diseado originalmente para minicomputadoras, una tendencia fue el crecimiento de redes de
computadoras personales en las que se ejecutan sistemas operativos de red o sistemas operativos distribuidos en
un sistema operativo de red los usuarios estn conscientes de la existencia de mltiples computadoras y pueden
ingresar en mquinas remotas y copiar archivos de una mquina a otra.

Estos sistemas necesitan un controlador de la interfaz con la red y software de bajo nivel para operarlo, as
como programas para realizar inicios de sesin remotos y acceso a archivos remotos, pero estas adiciones no
alteran la estructura esencial del sistema operativo, un sistema operativo distribuido, en cambio, presenta el
mismo aspecto a los usuarios que un sistema tradicional de un solo procesador, aunque en realidad se compone
de mltiples procesadores. Los sistemas distribuidos, permiten a las aplicaciones ejecutarse en varios
procesadores al mismo tiempo, por lo que requieren algoritmos de planificacin ms complejos a fin de
optimizar el grado las funciones de la memoria, en muchos casos los retardos de comunicacin dentro de la red
implican que los algoritmos deban ejecutarse con informacin incompleta o incorrecta as que se puede o no
enviar la informacin, otro sistema operativo importante fue Minix el cual se hizo una dcada despus que
UNIX su ventaja fue que elimino problemas legales adems de una estructura ms modular su sistema de
archivos no forma parte del sistema operativo y se ejecuta como programa de usuario.
Otra diferencia es que UNIX se dise de modo que fuera eficiente, su cdigo incluye miles de comentarios y
se dise originalmente de modo que fuera compatible con UNIX este tambin se escribi en lenguaje C, no
requera un disco duro para ejecutarse, lo que lo pona al alcance de cualquier presupuesto, Al crecer MINIX en
funcionalidad y tamao, lleg al punto en que se hizo necesario un disco duro, pero MINIX solo requiere una
particin de 30 megabytes. En contraste, algunos sistemas UNIX comerciales ahora recomiendan una particin
de disco de 200 MB como mnimo indispensable, lo cual lo hace eficiente y rpido.
Desarrollo
La interfaz entre el sistema operativo y los programas de usuario se pueden definir como un conjunto de
operaciones que el sistema operativo ofrece, las llamadas disponibles en la interfaz varan de un sistema
operativo a otro, por lo tanto, se obliga a escoger entre los sistemas operativos que tienen llamadas al sistema
para leer archivos y algn sistema especfico; MINIX tiene una llamada al sistema con tres parmetros: uno
para especificar el archivo, uno para indicar dnde deben colocarse los datos y uno para indicar cuntos bytes
deben leerse; A cada proceso tambin se asocia un conjunto de registros, que incluyen el contador del
programa, el apuntador de la pila y otros registros de hardware, as como toda la dems informacin necesaria
para ejecutar el programa sin embargo una forma ms fcil de adquirir una idea intuitiva de lo que es un proceso
es pensar en los sistemas de tiempo compartido, en varios sistemas operativos, toda la informacin acerca de
cada proceso, forma parte del contenido de su propio espacio de direcciones, se almacena en una tabla llamada
de procesos, que es una lista enlazada de estructuras, una para cada proceso existente en ese momento.
Las llamadas al sistema de administracin para procesos son la clave para la creacin y terminacin de procesos
en el cual el Shell debe crear ahora un proceso nuevo que ejecute el compilador. Cuando ese proceso haya
terminado la compilacin, ejecutar una llamada al sistema para terminarse a s mismo, cuando un proceso crea
uno o ms procesos se les denomina a cada uno de ellos, ya sea padre o hijo y se crea un rbol de procesos, los
procesos relacionados que estn cooperando para realizar alguna tarea se comunican entre s y sincronizan sus
actividades, una vez que el manejador da seales termina, el proceso en ejecucin se reinicia en el estado en que
estaba justo antes de la seal, pero existen muchas trampas detectadas por el hardware, como la ejecucin de
una instruccin no permitida o el empleo de una direccin no vlida, tambin se convierten en seales que se
envan al proceso culpable.
El administrador del sistema asigna un identificador de usuario a cada persona autorizada para usar el sistema
operativo, en las instalaciones grandes, slo el administrador del sistema conoce la contrasea necesaria para
convertirse en super usuario, pero muchos de los usuarios ordinarios tratan de encontrar alguna vulnerabilidad
en el sistema, las jerarquas de procesos y de archivos estn organizadas como rboles, pero hasta ah llega la
similitud; las jerarquas de procesos no suelen ser muy profundas ya que solo constan de 3 niveles en tanto que
las de archivos comnmente tienen cuatro, cinco o incluso ms niveles de profundidad, las jerarquas de
procesos por lo regular tienen una vida corta, generalmente de unos cuantos minutos como mximo, en tanto
que la jerarqua de directorios podra existir durante aos. Cada archivo dentro de la jerarqua de directorios se

puede especificar dando su nombre de ruta a partir del tope de la jerarqua de directorios, el directorio raz. En
todo momento, cada proceso tiene un directorio de trabajo actual, en el cual se buscan los archivos cuyos
nombres de ruta no comienzan con una diagonal.
Los archivos y directorios en los sistemas operativos se protegen asignando a cada uno un cdigo de proteccin
binario de 9 bits. El cdigo de proteccin consiste en tres campos de 3 bits, uno para el propietario, uno para
otros miembros del grupo del propietario, el administrador del sistema divide a los usuarios en grupos y uno
para toda la dems gente, algunos propietarios puede leer, escribir o ejecutar archivos, otros miembros del grupo
pueden leer o ejecutar sin escribir en el archivo, y el resto de la gente puede ejecutar, pero no leer ni escribir el
archivo, existen unos archivos especiales que sirven para hacer que los dispositivos de E/S semejen archivos, al
abrir un archivo especial por bloques y leer algn bloque un programa puede acceder directamente al bloque del
dispositivo, pasando por alto la estructura del sistema de archivos que contiene. De forma similar, los archivos
especiales por caracteres se usan para modelar impresoras, mdems y otros dispositivos que aceptan o producen
flujos de caracteres.
Las llamas al sistema contienen 3 elementos dentro de los sistemas operativos, ya que sin ellos no se podra
realizar ningn trabajo, tienen un segmento de programacin llamado texto, el segmento de datos que son las
variables de cmo se manda a llamar cada parte y ya depende como este programado tendr ordenacin por
medio de pilas o por medio de colas o quizs ambas dependiendo la mera en que se llame a los archivos dentro
de ese sistema, con ello se cumple el tamao de espacio de memoria que puede ocupar cierto proceso o tarea y
el tiempo que tambin puede especificarse para que se pueda trabajar.
La mayora de los sistemas operativos se escribe como una coleccin de procedimientos, cada uno de los cuales
puede invocar a cualquiera de los otros cuando necesite hacerlo, en este caso cada procedimiento del sistema
tiene una interfaz bien definida en trminos de parmetros y resultados, y cada uno est en libertad de invocar a
cualquier otro, si este ltimo realiza algn clculo til que el primero necesita, para poder construir el programa
lo primero que se hace es compilar todos los procedimientos individuales o archivos que contienen los
procedimientos, y luego se vinculan en un solo archivo objeto usando el vnculo del sistema.
En lo que se refiere a ocultar informacin, prcticamente no hay tal, ya que las llamadas al sistema
proporcionadas por el sistema operativo se solicitan colocando los parmetros en puntos definidos como en
registros o en la pila, y ejecutndose despus en la llamada al ncleo o llamada al supervisor, esa instruccin
conjunta la mquina del modo de usuario al modo de ncleo y transfiere el control al sistema operativo y una
vez que se ha completado el trabajo y la llamada al sistema ha terminado, se devuelve el control al programa de
usuario a fin de que pueda continuar su ejecucin con la instruccin que sigue a la llamada al sistema.
Por lo anterior se puede definir que la estructura bsica de un sistema operativo consiste en procesos
secuenciales, cada uno de los cuales puede programarse sin tener que preocuparse por mltiples procesos que se
estn ejecutando en un solo procesador, el software de cada capa se puede encargar de colocar en la memoria las
pginas en el momento que se necesiten, dentro de la capa de comunicacin que se efectu entre cada proceso y
la consola del operador, y la capa encargada de administrar los dispositivos de entrada y salida para colocar en
los buffers las corrientes de informacin provenientes y dirigidas a ellos, mientras eso sucede el proceso del
operador del sistema est en espera de mandar ms instrucciones a los diferentes niveles.
Una forma ms generalizada del concepto de capas es que estuvo presente en el sistema MULTICS; en vez de
estar organizado en capas, MULTICS estaba organizado como una serie de anillos concntricos, siendo los
interiores ms privilegiados que los exteriores, cuando un procedimiento de un anillo exterior quera invocar a
uno de un anillo interior, tena que emitir el equivalente de una llamada al sistema, es decir, ejecutar una
instruccin llamada TRAP cuyos parmetros se examinaban cuidadosamente para comprobar su validez antes
de permitir que la llamada procediera aunque todo el sistema operativo formara parte del espacio de direcciones
de cada proceso de usuario en MULTICS, el hardware permita designar procedimientos individuales en

segmentos de memoria protegidos contra lectura, escritura o ejecucin; en tanto el esquema por capas del
sistema THE era en realidad slo una ayuda para el diseo, ya que todas las partes del programa en ltima
instancia se vinculaban en un solo programa objeto y en MULTICS el mecanismo de anillo estaba muy presente
en el momento de la ejecucin y el hardware obligaba a ajustarse a l, sin embargo un grupo del Centro
Cientfico de IBM en Cambridge, Massachusetts, produjo un sistema llamado originalmente CP/CMS y que se
rebautizado como VM/ 370 (Seawright y MacKinnon, en 1979, el cual se basaba en observacin: que es un
sistema de tiempo compartido ofrece multiprogramacin y una mquina extendida con una interfaz ms cmoda
que el hardware, la esencia de VM!370 consisti en separar por completo estas dos funciones; el corazn del
sistema, conocido como monitor de mquina virtual, se ejecuta en el hardware y realiza la multiprogramacin,
proporcionando no una, sino varias mquinas virtuales a la siguiente capa superior, las diferentes mquinas
virtuales pueden, ejecutar diferentes sistemas operativos.
Algunos ejecutan uno de los descendientes de OS/360 para procesamiento por lotes o de transacciones mientras
que otros ejecutan un sistema interactivo monousuario llamado CMS (Sistema de Monitoreo de
Conversaciones) para usuarios de tiempo compartido y cuando un programa de usuario ejecuta una llamada al
sistema, la llamada se atrapa y se enva al sistema operativo de su propia mquina virtual, no al VM/370, tal
como se hara si el programa se estuviera ejecutando en una mquina real en lugar de una virtual que al separar
por completo las funciones de multiprogramacin y de suministro de una mquina extendida, cada uno de los
componentes puede ser mucho ms sencillo, flexible y fcil de mantener.
El concepto de mquina virtual en la actualidad es muy usado pero en un contexto totalmente diferente ya que
la ejecucin de viejos programas para MS-DOS se ejecutan como un programa de aplicacin y ya no como un
sistema operativo aparte, sin embargo, cuando un programa trata de entrar por una trampa al sistema operativo
para efectuar una llamada al sistema, o trata de realizar una Entrada o Salida protegida directamente, ocurre una
trampa al monitor de la mquina virtual.
Para lo anterior existen dos posibles variantes del diseo, en la primera se puede carga el MS-DOS mismo en el
espacio de direcciones de la 8086 virtual, de modo que el monitor de la mquina virtual simplemente refleja la
trampa de vuelta a MS-DOS, tal como ocurrira en una 8086 real y despus, cuando MS-DOS trata de efectuar
la Entrada y Salida esa operacin es atrapada y llevada a cabo por el monitor de la mquina virtual.
En la otra variante el monitor de la mquina virtual simplemente atrapa la primera trampa y efecta la Entrada y
Salida ya que conoce todas las llamadas al sistema de MS-DOS y por lo tanto, sabe lo que se supone que debe
hacer cada trampa pero todo ello supone una desventaja adicional al ejecutar realmente MS-DOS en modo 8086
virtual y es que MS-DOS se mete mucho con el bit que habilita o inhabilita las interrupciones, y la ejecucin de
esto resulta muy costosa.
Por lo anterior es importante sealar que ninguno de esos enfoques es realmente idntico al de VM/370, ya que
la mquina que est siendo emulada no es una Pentium completa, sino slo una 8086. 286 que es lo mnimo
incluso para la versin ms antigua, y no se proporciona emulacin de 286 y por consiguiente tampoco en una
Pentium, con VM/T7 cada proceso de usuario obtiene una copia exacta de la computadora real y han construido
un sistema que proporciona a cada usuario un clon de la computadora real, pero con un subconjunto de los
recursos, as, una mquina virtual podra obtener los bloques de disco O a 1023 y el siguiente podra obtener los
bloques 1024 a 2047, y as sucesivamente.
En la capa ms baja, se encuentra ejecutndose en modo kernel un programa llamado exokernel, cuyo trabajo
consiste en repartir recursos a las mquinas virtuales y luego verificar los intentos por usarlos para asegurarse
de que ninguna mquina est tratando de usar los recursos de alguien ms y cada mquina virtual en el nivel de
usuario puede ejecutar su propio sistema operativo, como en VM/370 y el modo 8086 virtual de la Pentium,
excepto que cada uno slo puede usar los recursos que ha solicitado y que le han sido asignados, la ventaja del
esquema de exokernel es que ahorra una capa de mapeo, este mtodo sigue teniendo la ventaja de separar la

multiprogramacin en el exokernel y el cdigo del sistema operativo del usuario, pero el gasto extra es menor,
ya que todo lo que el exokernel tiene que hacer es evitar que las mquinas virtuales tomen ciclos que no les
pertenecen y al dividir el sistema operativo en partes cada una de ellas slo se encarga de una faceta del sistema,
como el servicio de archivos, de procesos, de terminales o de memoria, cada parte puede ser pequea y
manejable y los controladores de dispositivos de Entrada y Salida se ejecutan realmente dentro del ncleo, con
acceso completo a todo el hardware, pero que se comuniquen con los dems procesos empleando el mecanismo
de mensajes normal.
La otra solucin consiste en incorporar una cantidad mnima de mecanismo en el nucleo pero dejar las
decisiones de poltica a los servidores en el espacio de usuarios, el ncleo podra darse cuenta de que un
mensaje se ha enviado a cierta direccin especial e implica que debe tomarse el contenido de ese mensaje y
cargarlo en los registros de dispositivo de Entrada y Salida dentro de algn disco, a fin de iniciar una lectura
dentro del mismo disco.
Conclusin
De este captulo se puede decir que antes que tener un sistema operativo se debe entender la arquitectura de
hardware que se tiene para poder entonces determinar qu sistema operativo se realizara o en todo caso cual
conviene instalar ya que cada sistema operativo tiene diferentes mtodos de almacenamiento y de distribucin
de archivos que se determina en que espacio de memoria y cuanta cantidad de espacio ocupara, dependiendo si
son archivos de instalacin del sistema, o de drivers o de aplicaciones, esta asignacin se efectuara

You might also like