Beruflich Dokumente
Kultur Dokumente
SISTEMAS OPERATIVOS 1
6to. SEMESTRE
Contenido
Introduccin ...................................................................................................... 3
1. Introduccin a los sistemas operativos ......................................................... 3
1.1. S.O Definicin y concepto ...................................................................... 3
1.3. Evolucin histrica ................................................................................. 4
1.4. Tipos de sistemas operativos ............................................................... 11
1.5 Conceptos de los sistemas operativos .................................................. 15
1.6 LLAMADAS AL SISTEMA ..................................................................... 18
1.6.1 Llamadas al sistema para la administracin de procesos............... 18
1.6.3 Llamadas al sistema para la administracin de directorios ............. 20
1.6.4 Miscelnea de llamadas al sistema ................................................ 21
1.6.5 La API Win32 de Windows ............................................................. 21
1.7 ESTRUCTURA DE UN SISTEMA OPERATIVO ................................... 22
1.7.1 Sistemas monolticos ...................................................................... 22
1.7.2 Sistemas de capas ......................................................................... 22
1.7.3 Microkernels ................................................................................... 23
1.7.4 Modelo cliente-servidor ................................................................... 23
1.7.5 Mquinas virtuales .......................................................................... 24
1.7.6 Exokernels ...................................................................................... 24
Introduccin
Hablar sobre sistemas operativos es hablar sobre una alta gama de procesos
en el cual, se pueden manipular diferentes caractersticas de una computadora. Pero
no es solo eso, los sistemas operativos abarcan gran parte del software de nuestros
equipos electrnicos.
La investigacin del tema es de tipo documental y la informacin fue obtenida
del libro de sistemas operativos modernos Andrew S. Tanenbaum.
El subtema 1.1 lleva como nombre Sistema Operativo definicin y concepto, en
el cual se explican los conceptos bsicos que maneja un sistema operativo. El subtema
1.3 es la evolucin histrica que han tenido los sistemas operativos a travs de los
aos. En el 1.4 hablamos sobre los tipos de sistemas operativos adems de sus
caractersticas que tienen cada uno de ellos. El 1.5 lleva como nombre conceptos de
los sistemas operativos, que conceptos se manejan y como con implementados. 1.6
lleva como nombre Llamadas al sistema y como ltimo subtema es la investigacin de
estructura de un sistema operativo.
Tercera generacin
Para tener varios trabajos de forma segura en memoria a la vez, se requiere hardware
especial para proteger cada trabajo y evitar que los otros se entrometan y lo malogren;
el 360 y los dems sistemas de tercera generacin estaban equipados con este
hardware.
Spooling:
Leer trabajos en tarjetas y colocarlos en el disco tan pronto como se llevaban al cuarto
de computadoras. As, cada vez que terminaba un trabajo en ejecucin, el sistema
operativo poda cargar un nuevo trabajo del disco en la particin que entonces estaba
vaca y lo ejecutaba.
Timesharing:
Cada usuario tena una terminal en lnea. En un sistema de tiempo compartido, si 20
usuarios estn conectados y 17 de ellos estn pensando en dar un paseo o tomar caf,
la CPU se puede asignar por turno a los tres trabajos que desean ser atendidos. Como
las personas que depuran programas generalmente envan comandos cortos (por
ejemplo, compilar un procedimiento de cinco hojas) en vez de largos (por ejemplo,
ordenar un archivo con un milln de registros), la computadora puede proporcionar un
servicio rpido e interactivo a varios usuarios y, tal vez, tambin ocuparse en trabajos
grandes por lotes en segundo plano, cuando la CPU estara inactiva de otra manera.
El primer sistema de tiempo compartido de propsito general, conocido como CTSS
(Compatible Time Sharing System, Sistema compatible de tiempo compartido), se
desarroll en el M.I.T. en una 7094 modificada en forma especial (Corbat y
colaboradores, 1962). Sin embargo, en realidad el tiempo compartido no se populariz
sino hasta que el hardware de proteccin necesario se empez a utilizar ampliamente
durante la tercera generacin.
Multics:
Despus del xito del sistema CTSS, el M.I.T., Bell Labs y General Electric (que en
ese entonces era un importante fabricante de computadoras) decidieron emprender el
desarrollo de una utilera para computadora, una mquina capaz de servir a varios
cientos de usuarios simultneos de tiempo compartido.
MULTICS (MULTiplexed Information and Computing Service; Servicio de Informacin
y Cmputo MULTiplexado). El comercio electrnico ya est evolucionando en esta
direccin, en donde varias compaas operan centros comerciales electrnicos en
servidores multiprocesador a los que se conectan las mquinas clientes simples, algo
muy parecido al diseo de MULTICS.
Durante la tercera generacin fue el increble crecimiento de las minicomputadoras,
empezando con la DEC PDP-1 en 1961. La PDP-1 tena slo 4K de palabras de 18
bits, pero a $120,000 por mquina (menos de 5 por ciento del precio de una 7094) se
vendi como pan caliente. Para cierta clase de trabajo no numrico, era casi tan rpida
como la 7094 y dio origen a una nueva industria.
Ken Thompson uno de los cientficos de cmputo en Bell Labs que trabaj en el
proyecto MULTICS, encontr una pequea minicomputadora PDP-7 que nadie estaba
usando y se dispuso a escribir una versin simple de MULTICS para un solo usuario.
Ms adelante, este trabajo se convirti en el sistema operativo UNIX, que se hizo
popular en el mundo acadmico, las agencias gubernamentales y muchas compaas.
Debido a que el cdigo fuente estaba disponible ampliamente, varias organizaciones
desarrollaron sus propias versiones (incompatibles entre s), lo cual produjo un caos.
Se desarrollaron dos versiones principales: System V de AT&T y BSD (Berkeley
Software Distribution, Distribucin de Software de Berkeley) de la Universidad de
California en Berkeley. El IEEE desarroll un estndar para UNIX conocido como
POSIX.
En 1987 el autor liber un pequeo clon de UNIX conocido como MINIX, con fines
educativos. El deseo de una versin de produccin (en vez de educativa) gratuita de
MINIX llev a un estudiante finlands, llamado Linus Torvalds, a escribir Linux.
Durante esta generacin aparecen los sistemas operativos que proporcionan una
interfaz ms amigable al usuario, esto se traduce en mejores herramientas de
interaccin con el computador, tales como capacidades grficas, conos, sistemas de
mens, etc.
Los sistemas operativos que cobran gran popularidad en este perodo son MS-DOS
de Microsoft y UNIX. Este ltimo tuvo sus primeros desarrollos en Berkeley y
posteriormente en AT&T.
Esto ahora parece intrascendente ya que todos los sistemas operativos (Windows,
Windows9.x, unix, linux, etc..) Estn ocupando algunos de los discos duros del
ordenador pero al principio los ordenadores no tenan disco duro ya que an no se
haban inventado y por tanto se encontraba en un diskette que deba estar
permanentemente introducido con el agravante de que solo haba una disquetera.
Entre todas las versiones que salieron al mercado y omitiendo las primeras muy
dependientes de la rudimentaria tecnologa de entonces son las versiones 3.3, 4.0 y
6.2 las que tuvieron un mayor xito comercial. En la actualidad la versin 7.0 aun
siendo la ms reciente no es la ms difundida ya que est muy arraigada la 6.22. Por
otro lado estas versiones han dejado paso a aquellas otras que dependen de
Windows como sistema mayoritariamente extendido pasando a adoptar la
numeracin de la versin de Windows.
Se desarroll el microprocesador.
Un sistema de procesamiento por lotes procesa los trabajos de rutina sin que
haya un usuario interactivo presente.
Los sistemas de procesamiento de transacciones manejan grandes cantidades
de pequeas peticiones, por ejemplo: el procesamiento de cheques en un banco o
las reservaciones en una aerolnea
Los sistemas de tiempo compartido permiten que varios usuarios remotos
ejecuten trabajos en la computadora al mismo tiempo, como consultar una gran base
de datos. Estas funciones estn ntimamente relacionadas; a menudo los sistemas
operativos de las mainframes las realizan todas. Un ejemplo de sistema operativo de
mainframe es el OS/390, un descendiente del OS/360. Sin embargo, los sistemas
operativos de mainframes estn siendo reemplazados gradualmente por variantes de
UNIX, como Linux.
Servidores:
Dan servicio a varios usuarios a la vez a travs de una red y les permiten
compartir los recursos de hardware y de software. Los servidores pueden
proporcionar servicio de impresin, de archivos o Web. Los proveedores de Internet
operan muchos equipos servidores para dar soporte a sus clientes y los sitios Web
utilizan servidores para almacenar las pginas Web y hacerse cargo de las
peticiones entrantes. Algunos sistemas operativos de servidores comunes son
Solaris, FreeBSD, Linux y Windows Server 200x
Multiprocesadores:
Una manera cada vez ms comn de obtener poder de cmputo de las
grandes ligas es conectar varias CPU en un solo sistema. Dependiendo de la
exactitud con la que se conecten y de lo que se comparta, estos sistemas se
conocen como computadoras en paralelo, multicomputadoras o multiprocesadores.
Con la reciente llegada de los chips multincleo para las computadoras
personales, hasta los sistemas operativos de equipos de escritorio y porttiles
Nodos sensores:
Estos nodos son pequeas computadoras que se comunican entre s con una
estacin base, mediante el uso de comunicacin inalmbrica.
Cada nodo sensor es una verdadera computadora, con una CPU, RAM, ROM
y uno o ms sensores ambientales. Ejecuta un sistema operativo pequeo pero real,
por lo general manejador de eventos, que responde a los eventos externos o realiza
mediciones en forma peridica con base en un reloj interno. El sistema operativo
tiene que ser pequeo y simple debido a que los nodos tienen poca RAM y el tiempo
de vida de las bateras es una cuestin importante, el ms comn es TinyOS.
En tiempo real:
Estos sistemas se caracterizan por tener el tiempo como un parmetro clave.
Por ejemplo, si un auto se desplaza sobre una lnea de ensamblaje, deben
llevarse a cabo ciertas acciones en determinados instantes. Si un robot soldador
realiza su trabajo de soldadura antes o despus de tiempo, el auto se arruinar. Si la
accin debe ocurrir sin excepcin en cierto momento (o dentro de cierto rango),
tenemos un sistema en tiempo real duro. Muchos de estos sistemas se encuentran
en el control de procesos industriales, en aeronutica, en la milicia y en reas de
aplicacin similares.
Otro tipo de sistema en tiempo real es el sistema en tiempo real suave, en el
cual es aceptable que muy ocasionalmente se pueda fallar a un tiempo
predeterminado. Los sistemas de audio digital o de multimedia estn en esta
categora. Los telfonos digitales tambin son ejemplos de sistema en tiempo real
suave.
Tarjetas inteligentes:
Los sistemas operativos ms pequeos operan en las tarjetas inteligentes, que
son dispositivos del tamao de una tarjeta de crdito que contienen un chip de CPU.
Tienen varias severas restricciones de poder de procesamiento y memoria.
Algunas tarjetas inteligentes funcionan con Java. Lo que esto significa es que
la ROM en la tarjeta inteligente contiene un intrprete para la Mquina virtual de Java
(JVM). Los applets de Java (pequeos programas) se descargan en la tarjeta y son
interpretados por el intrprete de la JVM. Algunas de estas tarjetas pueden manejar
varias applets de Java al mismo tiempo, lo cual conlleva a la multiprogramacin y a la
necesidad de planificarlos.
Cada computadora tiene cierta memoria principal que utiliza para mantener los
programas en ejecucin. En un sistema operativo muy simple slo hay un programa
a la vez en la memoria. Para ejecutar un segundo programa se tiene que quitar el
primero y colocar el segundo en la memoria.
Sin embargo, en muchas computadoras las direcciones son de 32 o 64 bits,
con lo cual se obtiene un espacio de direcciones de 232 o 264 bytes,
respectivamente. Si un proceso requiere ms memoria, tcnica llamada memoria
virtual, como se mencion antes, en la cual el sistema operativo mantiene una parte
del espacio de direcciones en memoria principal y otra parte en el disco, moviendo
pedazos de un lugar a otro segn sea necesario.
Archivos:
Una de las funciones principales del sistema operativo es ocultar las
peculiaridades de los discos y dems dispositivos de E/S, presentando al
programador un modelo abstracto limpio y agradable de archivos independientes del
dispositivo.
Se requieren las llamadas al sistema para crear los archivos, eliminarlos, leer
y escribir en ellos. Antes de poder leer un archivo, debe localizarse en el disco para
abrirse y una vez que se ha ledo informacin del archivo debe cerrarse, por lo que
se proporcionan llamadas para hacer estas cosas. Para proveer un lugar en donde
se puedan mantener los archivos, la mayora de los sistemas operativos tienen el
concepto de un directorio como una manera de agrupar archivos.
Para especificar cada archivo dentro de la jerarqua de directorio, se
proporciona su nombre de ruta de la parte superior de la jerarqua de directorios, el
directorio raz. Dichos nombres de ruta absolutos consisten de la lista de directorios
que deben recorrerse desde el directorio raz para llegar al archivo, y se utilizan
barras diagonales para separar los componentes.
Antes de poder leer o escribir en un archivo se debe abrir y en ese momento
se comprueban los permisos. Si est permitido el acceso, el sistema devuelve un
pequeo entero conocido como descriptor de archivo para usarlo en las siguientes
operaciones. Si el acceso est prohibido, se devuelve un cdigo de error.
Entrada/Salida:
Cada sistema operativo tiene un subsistema de E/S para administrar sus
dispositivos de E/S. Parte del software de E/S es independiente de los dispositivos,
es decir, se aplica a muchos o a todos los dispositivos de E/S por igual. Otras partes
del software, como los drivers de dispositivos, son especficas para ciertos
dispositivos de E/S.
Proteccin:
Las computadoras contienen grandes cantidades de informacin que los
usuarios comnmente desean proteger y mantener de manera confidencial. Esta
informacin puede incluir mensajes de correo electrnico, planes de negocios,
declaraciones fiscales y mucho ms. Es responsabilidad del sistema operativo
administrar la seguridad del sistema de manera que los archivos sean accesibles a
los usuarios permitidos.
Existen muchas otras cuestiones de seguridad. Una de ellas es proteger el
sistema de los intrusos no deseados, tanto humanos como no humanos (por ejemplo,
virus).
Shell:
El sistema operativo es el cdigo que lleva a cabo las llamadas al sistema. Los
editores, compiladores, ensambladores, enlazadores e intrpretes de comandos en
definitiva no forman parte del sistema operativo, aun cuando son importantes y tiles.
Aunque no forma parte del sistema operativo, utiliza con frecuencia muchas
caractersticas del mismo y, por ende, sirve como un buen ejemplo de la forma en
que se pueden utilizar las llamadas al sistema. Tambin es la interfaz principal entre
un usuario sentado en su terminal y el sistema operativo, a menos que el usuario
est usando una interfaz grfica de usuario. Actualmente, muchas computadoras
personales utilizan una GUI. De hecho, la GUI es slo un programa que se ejecuta
encima del sistema operativo, como un shell.
Ontogenia recapitula filogenia:
Las computadoras personales existen no debido a que millones de personas
tienen un deseo reprimido durante siglos de poseer una computadora, sino a que
ahora es posible fabricarlas a un costo econmico. A menudo olvidamos qu tanto
afecta la tecnologa a nuestra visin de los sistemas y vale la pena reflexionar sobre
este punto de vez en cuando. En especial, con frecuencia ocurre que un cambio en
la tecnologa hace que una idea se vuelva obsoleta y desaparece con rapidez.
Despus de fork, el proceso original y la copia (el padre y el hijo) se van por
caminos separados, todas las variables tienen valores idnticos al momento de la
llamada a fork, pero como los datos del padre se copian para crear al hijo, los
posteriores cambios en uno de ellos no afectarn al otro.
La llamada a fork devuelve un valor, que es cero en el hijo e igual al identificador
del proceso (PID) hijo en el padre. Mediante el uso del PID devuelto, los dos procesos
pueden ver cul es el proceso padre y cul es el proceso hijo.
compartan un archivo comn, en donde cada uno de ellos puede ver el archivo en su
propio directorio, posiblemente bajo distintos nombres.
1.6.4 Miscelnea de llamadas al sistema
La llamada a chdir cambia el directorio de trabajo actual. El concepto de un
directorio de trabajo elimina la necesidad de escribir nombres de ruta absolutos
(extensos) todo el tiempo.
En UNIX, cada archivo tiene un modo que se utiliza por proteccin. El modo
incluye los bits leer-escribir-ejecutar para el propietario, grupo y los dems. La llamada
al sistema chmod hace posible modificar el modo de un archivo.
La llamada al sistema kill es la forma en que los usuarios y los procesos de
usuario envan seales. Si el proceso no est preparado para manejar una seal,
entonces su llegada mata el proceso (de aqu que se utilice ese nombre para la
llamada).
1.6.5 La API Win32 de Windows
Un programa de Windows es por lo general manejado por eventos. El programa
principal espera a que ocurra cierto evento y despus llama a un procedimiento para
manejarlo. Los eventos comunes son las teclas que se oprimen, el ratn que se
desplaza, un botn de ratn que se oprime o un CD-ROM que se inserta. Despus, los
manejadores se llaman para procesar el evento, actualizar la pantalla y actualizar el
estado interno del programa.
Microsoft ha definido un conjunto de procedimientos conocidos como API Win32
(Application Program Interface, Interfaz de programacin de aplicaciones) que los
programadores deben utilizar para obtener los servicios del sistema operativo.
El nmero de llamadas a la API Win32 es muy grande, alrededor de los miles.
Lo que es ms, aunque muchas de ellas invocan llamadas al sistema, un nmero
considerable de las mismas se lleva a cabo completamente en espacio de usuario.
memoria principal.
Capa 0 Asignacin del procesador y multiprogramacin: El sistema consista en
procesos secuenciales, cada uno de los cuales e poda programar sin necesidad de
preocuparse por el hecho de que haba varios procesos en ejecucin en un solo
procesador
1.7.3 Microkernels
La idea bsica detrs del diseo de microkernel es lograr una alta confiabilidad
al dividir el sistema operativo en mdulos pequeos y bien definidos, slo uno de los
cuales (el microkernel) se ejecuta en modo kernel y el resto se ejecuta como procesos
de usuario ordinarios, sin poder relativamente.
Los sistemas operativos tienen tantos errores que los fabricantes de
computadoras colocan botones de reinicio en ellas (a menudo en el panel frontal), algo
que los fabricantes de televisiones, estreos y autos no hacen, a pesar de la gran
cantidad de software en estos dispositivos.
1.7.4 Modelo cliente-servidor
La comunicacin entre clientes y servidores se lleva a cabo comnmente
mediante el paso de mensajes.
Si el cliente y el servidor se ejecutan en el mismo equipo se pueden hacer ciertas
optimizaciones, pero en concepto estamos hablando sobre el paso de mensajes. Una
generalizacin obvia de esta idea es hacer que los clientes y los servidores se ejecuten
en distintas computadoras, conectadas mediante una red de rea local o amplia. Cada
vez hay ms sistemas que involucran a los usuarios en sus PCs domsticas como
clientes y equipos ms grandes que operan en algn otro lado como servidores. De
hecho, la mayor parte de la Web opera de esta forma. Una PC enva una peticin de
una pgina Web al servidor y la pgina Web se enva de vuelta
slo necesita llevar el registro para saber a cul mquina virtual se le ha asignado
cierto recurso.