Documente Academic
Documente Profesional
Documente Cultură
Un sistema operativo es uno o varios programas que se usan para poder trabajar con los
componentes de un equipo de cmputo. Los sistemas operativos proveen un conjunto de
funciones necesarias y usadas por diversos programas de aplicaciones de una computadora,
y los vnculos necesarios para controlar y sincronizar el hardware de la misma. En las
primeras computadoras, que no tenan sistema operativo cada programa necesitaba la ms
detallada especificacin del hardware para ejecutarse correctamente y
desarrollar tareas estndares, y sus propios drivers para los
dispositivosperifricos como impresoras y lectores de tarjetas perforadas. El incremento de la
complejidad del hardware y los programas de aplicaciones eventualmente hicieron del sistema
operativo una necesidad.
Los primeros sistemas operativos fueron desarrollados por cada usuario para el uso de su
propia computadora central,1 y es en 1956 que la General Motors desarrolla lo que es hoy
considerado el primer sistema, el GM-NAA I/O,2 para su IBM 704.3
ndice
[ocultar]
La dcada de 1940[editar]
A finales de la dcada de 1940, con lo que se podra considerar la aparicin de la primera
generacin de computadoras en el mundo, se acceda directamente a la consola de la
computadora desde la cual se actuaba sobre una serie de micro interruptores que permitan
introducir directamente el programa en la memoria de la computadora.
La dcada de 1960[editar]
En los aos 60 se produjeron cambios notorios en varios campos de la informtica, con la
aparicin del circuito integrado la mayora orientados a seguir incrementando el potencial de
los ordenadores. Para ello se utilizaban tcnicas de lo ms diversas.
Multiprogramacin[editar]
En un sistema "multiprogramado" la memoria principal alberga a ms de un programa de
usuario. La CPU ejecuta instrucciones de un programa, cuando el que se encuentra en
ejecucin realiza una operacin de E/S; en lugar de esperar a que termine la operacin de
E/S, se pasa a ejecutar otro programa. Si ste realiza, a su vez, otra operacin de E/S, se
mandan las rdenes oportunas al controlador, y pasa a ejecutarse otro. De esta forma es
posible, teniendo almacenado un conjunto adecuado de tareas en cada momento, utilizar de
manera ptima los recursos disponibles.
Tiempo compartido[editar]
Artculo principal: Tiempo compartido
En este punto tenemos un sistema que hace buen uso de la electrnica disponible, pero
adolece la falta de interactividad; para conseguirla debe convertirse en un
sistema multiusuario, en el cual existen varios usuarios con un terminal en lnea, utilizando el
modo de operacin de tiempo compartido. En estos sistemas igual que en
la multiprogramacin. Pero, a diferencia de sta, cuando un programa lleva cierto tiempo
ejecutndose el sistema operativo lo detiene para que se ejecute otra aplicacin.
Tiempo real[editar]
Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy
breves un gran nmero de sucesos, en su mayora externos al ordenador. Si el sistema no
respeta las restricciones de tiempo en las que las operaciones deben entregar su resultado se
dice que ha fallado. El tiempo de respuesta a su vez debe servir para resolver el problema o
hecho planteado. El procesamiento de archivos se hace de una forma continua, pues se
procesa el archivo antes de que entre el siguiente, sus primeros usos fueron y siguen siendo
en telecomunicaciones.
Multiprocesador[editar]
Diseo que no se encuentran en ordenadores monoprocesador. Estos problemas derivan del
hecho de que dos programas pueden ejecutarse simultneamente y, potencialmente, pueden
interferirse entre s. Concretamente, en lo que se refiere a las lecturas y escrituras en
memoria. Existen dos arquitecturas que resuelven estos problemas:
La arquitectura NUMA, donde cada procesador tiene acceso y control exclusivo a una parte de
la memoria. La arquitecturaSMP, donde todos los procesadores comparten toda la memoria.
Esta ltima debe lidiar con el problema de la coherencia de cach. Cada microprocesador
cuenta con su propia memoria cache local. De manera que cuando un microprocesador
escribe en una direccin de memoria, lo hace nicamente sobre su copia local en cach. Si
otro microprocesador tiene almacenada la misma direccin de memoria en su cach, resultar
que trabaja con una copia obsoleta del dato almacenado.
Para que un multiprocesador opere correctamente necesita un sistema operativo
especialmente diseado para ello. La mayora de los sistemas operativos actuales poseen
esta capacidad.
La dcada de 1970[editar]
Sistemas operativos desarrollados[editar]
Adems del Atlas Supervisor y el OS/360, los aos 1970 marcaron el inicio de UNIX, a
mediados de los 60 aparece Multics, sistema operativo multiusuario - multitarea desarrollado
por los laboratorios Bell de AT&T y Unix, convirtindolo en uno de los pocos SO escritos en un
lenguaje de alto nivel. En el campo de la programacin lgica se dio a luz la primera
implementacin de Prolog, y en la revolucionaria orientacin a objetos, Smalltalk.
Inconvenientes de los Sistemas operativos[editar]
Se trataba de sistemas grandes, complejos y costosos, pues antes no se haba construido
nada similar y muchos de los proyectos desarrollados terminaron con costos muy por encima
del presupuesto y mucho despus de lo que se marcaba como fecha de finalizacin. Adems,
aunque formaban una capa entre el hardware y el usuario, ste deba conocer un complejo
lenguaje de control para realizar sus trabajos. Otro de los inconvenientes es el gran consumo
de recursos que ocasionaban, debido a los grandes espacios de memoria principal y
secundaria ocupados, as como el tiempo de procesador consumido. Es por esto que se
intent hacer hincapi en mejorar las tcnicas ya existentes de multiprogramacin y tiempo
compartido.
Sistemas operativos desarrollados[editar]
La dcada de 1980[editar]
Con la creacin de los circuitos LSI (integracin a gran escala), chips que contenan miles
de transistores en un centmetro cuadrado de silicio, empez el auge de los ordenadores
personales. En stos se dej un poco de lado el rendimiento y se busc ms que el sistema
operativo fuera amigable, surgiendo mens, e interfaces grficas. Esto reduca la rapidez de
las aplicaciones, pero se volvan ms prcticos y simples para los usuarios. En esta poca,
siguieron utilizndose lenguajes ya existentes, como Smalltalk o C, y nacieron otros nuevos,
de los cuales se podran destacar: C++ y Eiffel dentro del paradigma de la orientacin a
objetos, y Haskell y Miranda en el campo de la programacin declarativa. Un avance
importante que se estableci a mediados de la dcada de 1980 fue el desarrollo de redes de
computadoras personales que corran sistemas operativos en red y sistemas operativos
distribuidos. En esta escena, dos sistemas operativos eran los mayoritarios: MS-DOS (Micro
Soft Disk Operating System), escrito por Microsoft para IBM PC y otras computadoras que
utilizaban la CPU Intel 8088 y sus sucesores, y UNIX, que dominaba en los ordenadores
personales que hacan uso delMotorola 68000.
SunOS[editar]
Artculo principal: SunOS
SunOS fue la versin del sistema operativo derivado de Unix y BSD desarrollado por Sun
Microsystems para sus estaciones de trabajo y servidores hasta el principio de los aos 1990.
sta estaba basada en los UNIX BSD con algunos aadidos de los System V UNIX en
versiones posteriores.
SunOS 1.0 estaba basada bsicamente en BSD 4.1 y se public en 1982. SunOS 2.0, que
sali en 1985, usaba BSD 4.2 como una base e introduca una capa de sistema de ficheros
virtual (VFS) y el protocolo NFS. SunOS 3.0 coincida con el lanzamiento de la serie Sun-3 en
1986 e incorporaba varias utilidades de System V. SunOS 4.0, que sali en 1989, migr a la
base de BSD 4.3, introdujo un nuevo sistema de memoria virtual, enlazamiento dinmico y una
implementacin de la arquitectura System V STREAMS I/O.
SunOS 5.0 y las versiones posteriores estn basadas en UNIX System V Release 4.
Mac OS[editar]
Artculo principal: Macintosh
En 1981 Microsoft compr un sistema operativo llamado QDOS que, tras realizar unas pocas
modificaciones, se convirti en la primera versin de MS-DOS
(Micro Soft Disk Operating System). A partir de aqu se sucedieron una serie de cambios hasta
llegar a la versin 7.1, versin 8 en Windows Milenium, a partir de la cual MS-DOS dej de
existir como un componente del Sistema Operativo.
OS/2[editar]
Artculo principal: OS/2
OS/2 es un sistema operativo de IBM que intent suceder a DOS como sistema operativo de
las computadoras personales. Se desarroll inicialmente de manera conjunta entre Microsoft e
IBM, hasta que la primera decidi seguir su camino con su Windows e IBM se ocup en
solitario de OS/2.
OS/2 ya no es comercializado por IBM, y el soporte estndar de IBM para OS / 2 se suspendi
el 31 de diciembre de 2006. Se ha mantenido desde entonces con relativamente pocas
nuevas caractersticas bajo el nombre eComStation.
La dcada de 1990[editar]
BeOS[editar]
Artculo principal: BeOS
Este sistema al parecer es una versin mejorada de Unix, basado en el estndar POSIX, un
sistema que en principio trabajaba en modo comandos. Hoy en da dispone de Ventanas,
gracias a un servidor grfico y a gestores de ventanas como KDE, GNOME entre muchos.
Recientemente GNU/Linux dispone de un aplicativo que convierte las ventanas en un entorno
3D como por ejemplo Beryl o Compiz. Lo que permite utilizar Linux de una forma visual
atractiva.
Existen muchas distribuciones actuales de Gnu/Linux (Debian, Fedora, Ubuntu, Slackware,
etc.) donde todas ellas tienen en comn que ocupan el mismo ncleo Linux. Dentro de las
cualidades de Gnu/Linux se puede caracterizar el hecho de que la navegacin a travs de la
web es sin riegos de ser afectada por virus, esto debido al sistema de permisos implementado,
el cual no deja correr ninguna aplicacin sin los permisos necesarios, permisos que son
otorgados por el usuario. A todo esto se suma que los virus que vienen en dispositivos
desmontables tampoco afectan al sistema, debido al mismo sistema de permisos.
Solaris[editar]
Artculo principal: Solaris (sistema operativo)
Solaris es un sistema operativo de tipo Unix desarrollado desde 1992 inicialmente por Sun
Microsystems y actualmente por Oracle Corporation como sucesor de SunOS. Es un sistema
certificado oficialmente como versin de Unix. Funciona en arquitecturas SPARC y x86 para
servidores y estaciones de trabajo.
Microsoft Windows NT[editar]
Artculo principal: Windows NT
FreeDOS es un proyecto que aspira a crear un sistema operativo libre que sea totalmente
compatible con las aplicaciones y los controladores de MS-DOS.
El programa ya ha alcanzado un alto grado de madurez y tiene algunas caractersticas que no
existan en MS-DOS. Algunos comandos de FreeDOS son idnticos o mejores que sus
equivalentes de MS-DOS, pero an faltan algunos del sistema operativo original.
El intrprete de lnea de comandos usado por FreeDOS se llama FreeCOM.
La dcada de 2000[editar]
MorphOS[editar]
Artculo principal: MorphOS
Darwin es el sistema que subyace en Mac OS X, cuya primera versin final sali en el ao
2001 para funcionar en computadoras Macintosh.
Integra el microncleo XNU y servicios de sistema operativo de tipo UNIX basados en BSD 4.4
(en particular FreeBSD) que proporcionan una estabilidad y un rendimiento mayor que el de
versiones anteriores de Mac OS. Se trata de una evolucin del sistema
operativo NEXTSTEP (basado en Mach 2.5 y cdigo BSD 4.3) desarrollado
por NeXT en 1989 comprado porApple Computer en diciembre de 1996.
Darwin proporciona al Mac OS X prestaciones modernas, como la memoria protegida,
la multitarea por desalojo o expulsiva, la gestin avanzada de memoria y
el multiproceso simtrico.
OS X[editar]
Artculo principal: OS X
OpenSolaris fue un sistema operativo libre publicado en 2005 a partir de la versin privativa de
Solaris de Sun Microsystems, ahora parte de Oracle Corporation. OpenSolaris es tambin el
nombre de un proyecto iniciado en 2005 por Sun para construir y desarrollar una comunidad
de usuarios alrededor de las tecnologas del sistema operativo del mismo nombre. Despus
de la adquisicin de Sun Microsystems, en agosto de 2010, Oracle decidi interrumpir la
publicacin y distribucin de OpenSolaris, as como su modelo de desarrollo, basado en la
disponibilidad de versiones de desarrollo compiladas cada dos semanas y versiones estables
cada seis meses. Sin embargo, los trminos de su licencia libre no han sido modificados, por
lo que el cdigo fuente afectado por ella ser publicado cuando Oracle publique nuevas
versiones de Solaris.
La dcada de 2010[editar]
IllumOS[editar]
Artculo principal: Illumos
OpenIndiana Es un sistema operativo tipo Unix liberado como software libre y de cdigo
abierto. Es una bifurcacin de OpenSolaris concebida despus de la compra de Sun
Microsystems por parte de Oracle y tiene como objetivo continuar con el desarrollo y la
distribucin del cdigo base de OpenSolaris. El proyecto opera bajo el patrocinio de la Illumos
Foundation (Fundacin Illumos). El objetivo declarado del proyecto es convertirse en la
distribucin de OpenSolaris de facto instalada en servidores de produccin donde se requieren
soluciones de seguridad y errores de forma gratuita
https://es.wikipedia.org/wiki/Historia_de_los_sistemas_operativos
Introduccin a los S.O. Familia de Microsoft Linux Beos MacOS
Linus Tolvarlds
Bill Gates
Linus Tolvarlds
Linus Benedict Torvalds naci el 28 de diciembre de 1969 en Helsinki
(Finlandia). Pocos pensaban que, desde un lugar tan perdido en el norte de
Europa, pudiera salir el hombre que ha revolucionado el mundo de la
informtica.
Su primer contacto con un ordenador lo
tiene a los 11 aos, cuando su abuelo, matemtico y estadstico, se compr
un Commodore y le pidi ayuda para usarlo. Lgicamente, cuando tuvo la
edad, Linus entr a estudiar en la Universidad Tecnolgica de Helsinki,
donde se gest el nacimiento de Linux.
A partir del anuncio de este finlands con cara de nio bueno, muchos
programadores fueron unindose a la iniciativa. De esta manera, de las
50.000 lneas de cdigo que coloc Linus se ha pasado a ms de un
milln. Rpidamente, Linux uni su proyecto a la filosofa GNU (GNU is
not Unix), por la que el software es libre y todos los componentes que lo
integran estn acompaados por su cdigo fuente.
abierta para los estudiantes , pero eran pocos los que se acercaban al
cordn umbilical de la PDP-10. Al poco tiempo Bill se convirti en un adicto a la
computadora, pasando todo su tiempo libre en aquel lugar. All conoci a un
muchacho dos aos mayor que l, Paul Allen. Juntos empezaron a devorar
informacin sobre las computadora y se hicieron amigos inseparables. En 1969,
Bill, Paul y dos estudiantes ms decidieron fundar una empresa. Hasta el ao 1970,
se dedicaron a testear las computadoras de la firma Computer Center Corporation
sin cobrar un peso, pero teniendo acceso gratuito a las mquinas. Rompiendo varias
computadoras, Gates y compaa reunieron una valiosa experiencia que luego les
sera de gran ayuda.
El nacimiento de Microsoft
En enero de 1975, Paul Allen, lo llam con urgencia para que viera la tapa de la
revista Popular Electronics. All apareca el prototipo de la primera computadora
hogarea, la MITS- Altair 8800. Allen le dijo: "Bill, no podemos quedarnos al
margen".
Gates abandon la Universidad y junto con Allen fundaron una nueva firma
Micro-soft, luego Microsoft. Su objetivo era participar en forma activa en el
desarrollo de la era de las computadoras. La computadora hogarea exista, pero no
exista un lenguaje para una mquina tan pequea. Entonces Gates lo llam por
telfono a Ed Roberts, el presidente del MITS y le dijo que haba creado una forma
Al borde de la quiebra
Ese ao IBM decidi subirse al tren de las PC. Necesitaban un sistema operativo.
Los directivos de IBM se presentaron en Digital Research para solicitar el sistema
CP/M. Increblemente, les contestaron que estaban ocupados y que deban volver en
otro momento. Completamente ofendidos y furiosos, tomaron la decisin de
dirigirse a Microsoft y les encargaron que desarrollen el sistema operativo en
cuestin.
En febrero de 1981 se carg por primera vez una versin del MS-DOS en una
IBM y aunque estaba repleta de errores sali a la venta en julio.
Gates con su admirable olfato, estableci una red de distribucin de su marca por
todo el pas. Microsoft se convirti en una Sociedad Annima, con lo cual a partir
de ese momento, los empleados pudieron adquirir valores de la sociedad.
En un da multimillonario
En 1987 termin su relacin con Ann porque ella, cinco aos mayor que l,
quera casarse.
Camino al futuro
Bill Gates es hoy por hoy el hombre ms rico del mundo pero su idea es dirigir
MICROSOFT por solo 10 aos ms para luego dedicarse a la filantropa. Piensa
dejarle a su familia solo el 2% de su fortuna y regalar el 98% restante.
https://es.wikipedia.
org/wiki/Historia_de_los_sistemas_operativos
Historia de los Sistemas Operativos
Enviado por fgartur
Indice
1. Introduccin
2. Tipos de Sistemas Operativos
3. Sistemas Operativos por Servicio
4. Sistemas Operativos por su Estructura
5. Sistema Operativo por la Forma de Ofrecer sus Servicios
6. Proceso
7. Dispositivos de Entrada y Salida
8. Principios del Software de E/S
9. Manejo de los Dispositivos de E/S
10. Administracin de Archivos
1. Introduccin
Para tratar de comprender los requisitos de un Sistema Operativo y el significado de las principales
caractersticas de un Sistema Operativo contemporneo, es til considerar como han ido evolucionando stos
con el tiempo.
A finales de los 40's el uso de computadoras estaba restringido a aquellas empresas o instituciones que
podan pagar su alto precio, y no existan los sistemas operativos. En su lugar, el programador deba tener
un conocimiento y contacto profundo con el hardware, y en el infortunado caso de que su programa fallara,
deba examinar los valores de los registros y pneles de luces indicadoras del estado de la computadora para
determinar la causa del fallo y poder corregir su programa, adems de enfrentarse nuevamente a
los procedimientos de apartar tiempo del sistema y poner a punto los compiladores, ligadores, etc; para volver
a correr su programa, es decir, enfrentaba el problema del procesamiento serial ( serial processing ).
La importancia de los sistemas operativos nace histricamente desde los 50's, cuando se hizo evidente que el
operar una computadora por medio de tableros enchufables en la primera generacin y luego por medio
del trabajo en lote en la segunda generacin se poda mejorar notoriamente, pues el operador realizaba
siempre una secuencia de pasos repetitivos, lo cual es una de las caractersticas contempladas en la
definicin de lo que es un programa. Es decir, se comenz a ver que las tareas mismas del operador podan
plasmarse en un programa, el cual a travs del tiempo y por su enorme complejidad se le llam "Sistema
Operativo". As, tenemos entre los primeros sistemas operativos al Fortran Monitor System ( FMS ) e IBSYS.
Posteriormente, en la tercera generacin de computadoras nace uno de los primeros sistemas operativos con
la filosofa de administrar una familia de computadoras: el OS/360 de IBM. Fue este un proyecto tan novedoso
y ambicioso que enfrent por primera vez una serie de problemas conflictivos debido a que anteriormente las
computadoras eran creadas para dos propsitos en general: el comercial y el cientfico. As, al tratar de crear
un solo sistema operativo para computadoras que podan dedicarse a un propsito, al otro o ambos, puso en
evidencia la problemtica del trabajo en equipos de anlisis, diseo e implantacin de sistemas grandes. El
resultado fue un sistema del cual uno de sus mismos diseadores patentiz su opinin en la portada de
un libro: una horda de bestias prehistricas atascadas en un foso de brea.
Surge tambin en la tercera generacin de computadoras el concepto de la multiprogramacin, porque debido
al alto costo de las computadoras era necesario idear un esquema de trabajo que mantuviese a la unidad
central de procesamiento ms tiempo ocupada, as como el encolado (spooling ) de trabajos para
su lectura hacia los lugares libres de memoria o la escritura de resultados. Sin embargo, se puede afirmar que
los sistemas durante la tercera generacin siguieron siendo bsicamente sistemas de lote.
En la cuarta generacin la electrnica avanza hacia la integracin a gran escala, pudiendo crear circuitos con
miles de transistores en un centmetro cuadrado de silicn y ya es posible hablar de las computadoras
personales y las estaciones de trabajo. Surgen los conceptos de interfaces amigables intentando as atraer al
pblico en general al uso de las computadoras como herramientas cotidianas. Se hacen populares el MS-
DOS y UNIX en estas mquinas. Tambin es comn encontrar clones de computadoras personales y una
multitud de empresas pequeas ensamblndolas por todo el mundo.
Para mediados de los 80's, comienza el auge de las redes de computadoras y la necesidad de sistemas
operativos en red y sistemas operativos distribuidos. La red mundial Internet se va haciendo accesible a
toda clase de instituciones y se comienzan a dar muchas soluciones ( y problemas ) al querer hacer
convivir recursos residentes en computadoras con sistemas operativos diferentes. Para los 90's
el paradigma de laprogramacin orientada a objetos cobra auge, as como el manejo de objetos desde los
sistemas operativos. Las aplicaciones intentan crearse para ser ejecutadas en una plataforma especfica y
poder ver sus resultados en la pantalla o monitor de otra diferente (por ejemplo, ejecutar una simulacin en
una mquina con UNIX y ver los resultados en otra con DOS ). Los niveles de interaccin se van haciendo
cada vez ms profundos.
Qu es un Sistema Operativo?.
Un Sistema Operativo es un programa que acta como intermediario entre el usuario y el hardware de
un computador y su propsito es proporcionar un entorno en el cual el usuario pueda ejecutar programas.
El objetivo principal de un Sistema Operativo es, entonces, lograr que el Sistema de computacin se use de
manera cmoda, y el objetivo secundario es que el hardware del computador se emplee de manera eficiente.
Un Sistema Operativo es una parte importante de cualquier sistema de computacin. Un sistema de
computacin puede dividirse en cuatro componentes: el hardware, el Sistema Operativo, los programas de
aplicacin y los usuarios. El hardware (Unidad Central de Procesamiento(UCP), memoria y dispositivos de
entrada/salida (E/S)) proporciona los recursos de computacin bsicos. Los programas de aplicacin
(compiladores, sistemas de bases de datos, juegos de vdeo y programas para negocios) definen la forma en
que estos recursos se emplean para resolver los problemas de computacin de los usuarios.
Caracterstica de un Sistema Operativo.
En general, se puede decir que un Sistema Operativo tiene las siguientes caractersticas:
Conveniencia. Un Sistema Operativo hace ms conveniente el uso de una computadora.
Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la manera ms
eficiente posible.
Habilidad para evolucionar. Un Sistema Operativo deber construirse de manera que permita el desarrollo,
prueba o introduccin efectiva de nuevas funciones del sistema sin interferir con el servicio.
Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una mejor manera los
recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una prte
del procesador para poder compartir los recursos.
Relacionar dispositivos (gestionar a travs del kernel). El Sistema Operativo se debe encargar de comunicar a
los dispositivos perifricos, cuando el usuario as lo requiera.
Organizar datos para acceso rpido y seguro.
Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta facilidad todo lo
referente a la instalacin y uso de las redes de computadoras.
Procesamiento por bytes de flujo a travs del bus de datos.
Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fcil al usuario el acceso y manejo de
los dispositivos de Entrada/Salida de la computadora.
Tcnicas de recuperacin de errores.
Evita que otros usuarios interfieran. El Sistema Operativo evita que los usuarios se bloqueen entre ellos,
informndoles si esa aplicacin esta siendo ocupada por otro usuario.
Generacin de estadsticas.
Permite que se puedan compartir el hardware y los datos entre los usuarios.
El software de aplicacin son programas que se utilizan para disear, tal como el procesador de palabras,
lenguajes de programacin, hojas de clculo, etc.
El software de base sirve para interactuar el usuario con la mquina, son un conjunto de programas que
facilitan el ambiente plataforma, y permite el diseo del mismo.
El Software de base est compuesto por :
Cargadores.
Compiladores.
Ensambladores.
Macros.
2. Tipos de Sistemas Operativos.
Actualmente los sistemas operativos se clasifican en tres clasificaciones: sistemas operativos por
su estructura (visin interna), sistemas operativos por los servicios que ofrecen y sistemas operativos por la
forma en que ofrecen sus servicios (visin externa).
3. Sistemas Operativos por Servicios(Visin Externa).
Esta clasificacin es la ms comnmente usada y conocida desde el punto de vista del usuario final. Esta
clasificacin se comprende fcilmente con el cuadro sinptico que a continuacin se muestra:
Generalmente estn hechos a medida, por lo que son eficientes y rpidos en su ejecucin y gestin, pero por
lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.
Estructura Jerrquica.
A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo
necesaria una mayor organizacin del software, del sistema operativo, donde una parte del sistema contena
subpartes y esto organizado en forma de niveles.
Se dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas estuviera
perfectamente definida y con un claro interface con el resto de elementos.
Se constituy una estructura jerrquica o de niveles en los sistemas operativos, el primero de los cuales fue
denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra, que se utiliz con fines didcticos. Se
puede pensar tambin en estos sistemas como si fueran `multicapa'. Multics y Unix caen en esa categora.
En la estructura anterior se basan prcticamente la mayora de los sistemas operativos actuales. Otra forma
de ver este tipo de sistema es la denominada de anillos concntricos o "rings".
En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa (trap), por donde
pueden entrar las llamadas de las capas inferiores. De esta forma, las zonas ms internas del sistema
operativo o ncleo del sistema estarn ms protegidas de accesos indeseados desde las capas ms externas.
Las capas ms internas sern, por tanto, ms privilegiadas que las externas.
Mquina Virtual.
Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una
mquina que parece idntica a la mquina real subyacente. Estos sistemas operativos separan dos conceptos
que suelen estar unidos en el resto de sistemas: la multiprogramacin y la mquina extendida. El objetivo de
los sistemas operativos de mquina virtual es el de integrar distintos sistemas operativos dando la sensacin
de ser varias mquinas diferentes.
El ncleo de estos sistemas operativos se denomina monitor virtual y tiene como misin llevar a cabo la
multiprogramacin, presentando a los niveles superiores tantas mquinas virtuales como se soliciten. Estas
mquinas virtuales no son mquinas extendidas, sino una rplica de la mquina real, de manera que en cada
una de ellas se pueda ejecutar un sistema operativo diferente, que ser el que ofrezca la mquina extendida
al usuario
Cliente-Servidor(Microkernel).
El tipo ms reciente de sistemas operativos es el denominado Cliente-servidor, que puede ser ejecutado en la
mayora de las computadoras, ya sean grandes o pequeas.
Este sistema sirve para toda clase de aplicaciones por tanto, es de propsito general y cumple con las mismas
actividades que los sistemas operativos convencionales.
El ncleo tiene como misin establecer la comunicacin entre los clientes y los servidores. Los procesos
pueden ser tanto servidores como clientes. Por ejemplo, un programa de aplicacin normal es un cliente que
llama al servidor correspondiente para acceder a un archivo o realizar una operacin de entrada/salida sobre
un dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para otro." [Alcal92]. Este
paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el sistema final, ya que el ncleo
provee solamente funciones muy bsicas de memoria, entrada/salida, archivos y procesos, dejando a los
servidores proveer la mayora que el usuario final o programador puede usar. Estos servidores deben tener
mecanismos de seguridad y proteccin que, a su vez, sern filtrados por el ncleo que controla el hardware.
Actualmente se est trabajando en una versin de UNIX que contempla en su diseo este paradigma.
5. Sistemas Operativos por la Forma de Ofrecer sus Servicios
Esta clasificacin tambin se refiere a una visin externa, que en este caso se refiere a la del usuario, el cmo
accesa a los servicios. Bajo esta clasificacin se pueden detectar dos tipos principales: sistemas operativos de
red y sistemas operativos distribuidos.
Sistema Operativo de Red.
Los sistemas operativos de red se definen como aquellos que tiene la capacidad de interactuar con sistemas
operativos en otras computadoras por medio de un medio de transmisin con el objeto de intercambiar
informacin, transferir archivos, ejecutar comandos remotos y un sin fin de otras actividades. El punto crucial
de estos sistemas es que el usuario debe saber la sintaxis de un conjunto de comandos o llamadas al sistema
para ejecutar estas operaciones, adems de la ubicacin de los recursos que desee accesar. Por ejemplo, si
un usuario en la computadora hidalgo necesita el archivo matriz.pas que se localiza en el directorio
/software/codigo en la computadora morelos bajo el sistema operativo UNIX, dicho usuario podra copiarlo a
travs de la red con los comandos siguientes: hidalgo% hidalgo% rcp morelos:/software/codigo/matriz.pas .
hidalgo%. En este caso, el comando rcp que significa "remote copy" trae el archivo indicado de la
computadora morelos y lo coloca en el directorio donde se ejecut el mencionado comando. Lo importante es
hacer ver que el usuario puede accesar y compartir muchos recursos.
El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola 68000, pasando
posteriormente a procesadores Intel como Novell Netware.
Los Sistemas Operativos de red mas ampliamente usados son: Novell
Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.
Sistemas Operativos Distribuidos.
Los sistemas operativos distribuidos abarcan los servicios de los de red, logrando integrar recursos
( impresoras, unidades de respaldo, memoria, procesos, unidades centrales de proceso ) en una sola mquina
virtual que el usuario accesa en forma transparente. Es decir, ahora el usuario ya no necesita saber la
ubicacin de los recursos, sino que los conoce por nombre y simplemente los usa como si todos ellos fuesen
locales a su lugar de trabajo habitual. Todo lo anterior es el marco terico de lo que se deseara tener como
sistema operativo distribuido, pero en la realidad no se ha conseguido crear uno del todo, por la complejidad
que suponen: distribuir los procesos en las varias unidades de procesamiento, reintegrar sub-resultados,
resolver problemas de concurrencia y paralelismo, recuperarse de fallas de algunos recursos distribuidos y
consolidar la proteccin y seguridad entre los diferentes componentes del sistema y los usuarios. Los avances
tecnolgicos en las redes de rea local y la creacin de microprocesadores de 32 y 64 bits lograron que
computadoras mas o menos baratas tuvieran el suficiente poder en forma autnoma para desafiar en cierto
grado a los mainframes, y a la vez se dio la posibilidad de intercomunicarlas, sugiriendo la oportunidad de
partir procesos muy pesados en clculo en unidades ms pequeas y distribuirlas en los varios
microprocesadores para luego reunir los sub-resultados, creando as una mquina virtual en la red que
exceda en poder a un mainframe. El sistema integrador de los microprocesadores que hacer ver a las
varias memorias, procesadores, y todos los dems recursos como una sola entidad en forma transparente se
le llama sistema operativo distribudo. Las razones para crear o adoptar sistemas distribuidos se dan por dos
razones principales: por necesidad ( debido a que los problemas a resolver son inherentemente distribuidos )
o porque se desea tener ms confiabilidad y disponibilidad de recursos. En el primer caso tenemos, por
ejemplo, el control de los cajeros automticos en diferentes estados de la repblica. Ah no es posible ni
eficiente mantener un control centralizado, es ms, no existe capacidad de cmputo y de entrada/salida para
dar servicio a los millones de operaciones por minuto. En el segundo caso, supngase que se tienen en una
gran empresa varios grupos de trabajo, cada uno necesita almacenar grandes cantidades de informacin
en disco duro con una alta confiabilidad y disponibilidad. La solucin puede ser que para cada grupo de
trabajo se asigne una particin de disco duro en servidores diferentes, de manera que si uno de los servidores
falla, no se deje dar el servicio a todos, sino slo a unos cuantos y, ms an, se podra tener un sistema con
discos en espejo ( mirror ) a travs de la red, de manera que si un servidor se cae, el servidor en espejo
contina trabajando y el usuario ni cuenta se da de estas fallas, es decir, obtiene acceso a recursos en forma
transparente.
Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se compone otro
componente debe de ser capaz de reemplazarlo.
Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC,
Mach, Chorus, Spring, Amoeba, Taos, etc.
6. Proceso.
Uno de los conceptos mas importantes que gira entorno a un sistema operativo es el de proceso. Un proceso
es un programa en ejecucin junto con el entorno asociado (registros, variables ,etc.).
El corazn de un sistema operativo es el ncleo, un programa de control que reacciona ante cualquier
interrupcin de eventos externos y que da servicio a los procesos, crendolos, terminndolos y respondiendo
a cualquier peticin de servicio por parte de los mismos.
Planificacin del Procesador.
La planificacin del procesador se refiere a la manera o tcnicas que se usan para decidir cunto tiempo de
ejecucin y cuando se le asignan a cada proceso del sistema. Obviamente, si el sistema es monousuario y
monotarea no hay mucho que decidir, pero en el resto de los sistemas esto es crucial para el buen
funcionamiento del sistema.
Caracteristicas a considerar de los Procesos.
No todos los equipos de cmputo procesan el mismo tipo de trabajos, y un algoritmo de planificacin que en
un sistema funciona excelente puede dar un rendimiento psimo en otro cuyos procesos tienen caractersticas
diferentes. Estas caractersticas pueden ser:
Cantidad de Entrada/Salida: Existen procesos que realizan una gran cantidad de operaciones de entrada y
salida (aplicaciones de bases de datos, por ejemplo).
Cantidad de Uso de CPU: Existen procesos que no realizan muchas operaciones de entrada y salida, sino que
usan intensivamente la unidad central de procesamiento. Por ejemplo, operaciones con matrices.
Procesos de Lote o Interactivos: Un proceso de lote es ms eficiente en cuanto a la lectura de datos, ya que
generalmente lo hace de archivos, mientras que un programa interactivo espera mucho tiempo (no es lo
mismo el tiempo de lectura de un archivo que la velocidad en que una persona teclea datos) por las
respuestas de los usuarios.
Procesos en Tiempo Real: Si los procesos deben dar respuesta en tiempo real se requiere que tengan
prioridad para los turnos de ejecucin.
Longevidad de los Procesos: Existen procesos que tpicamente requerirn varias horas para finalizar su labor,
mientras que existen otros que solo necesitan algunos segundos.
Un proceso es una actividad que se apoya en datos, recursos, un estado en cada momento y un programa.
El Bloque de Control de Procesos (PCB).
Un proceso se representa desde el punto de vista del sistema operativo, por un conjunto de datos donde se
incluyen el estado en cada momento, recursos utilizados, registros, etc., denominado Bloque de Control de
Procesos (PCB).
Los objetivos del bloque de control de procesos son los siguientes:
Localizacin de la informacin sobre el proceso por parte del sistema operativo.
Mantener registrados los datos del proceso en caso de tener que suspender temporalmente su ejecucin o
reanudarla.
La informacin contenida en el bloque de control es la siguiente:
Estado del proceso. Informacin relativa al contenido del controlador del programa (Program Counter, PC),
estado de procesador en cuanto a prioridad del proceso, modo de ejecucin, etc., y por ultimo el estado de los
registros internos de la computadora.
Estadsticas de tiempo y ocupacin de recursos para la gestin de la planificacin del procesador.
Ocupacin de memoria interna y externa para el intercambio (swapping).
Recursos en uso (normalmente unidades de entrada/salida).
Archivos en uso.
Privilegios.
Estas informaciones se encuentran en memoria principal en disco y se accede a ellas en los momentos en
que se hace necesaria su actualizacin o consulta. Los datos relativos al estado del proceso siempre se
encuentran en memoria principal.
Existe un Bloque de Control de Sistema (SCB) con objetivos similares al anterior y entre los que se encuentra
el enlazado de los bloques de control de procesos existentes en el sistema.
El cambio de contexto se producir en caso de ejecucin de una instruccin privilegiada, una llamada al
sistema operativo o una interrupcin, es decir, siempre que se requiera la atencin de algn servicio del
sistema operativo.
Estado de los Procesos.
Los bloques de control de los procesos se almacenan en colas, cada una de las cuales representa un estado
particular de los procesos, existiendo en cada bloque, entre otras informaciones. Los estados de los procesos
son internos del sistema operativo y transparentes al usuario.
Los estados de los procesos se pueden dividir en dos tipos: activos e inactivos.
1.- Estados activos: Son aquellos que compiten con el procesador o estn en condiciones de hacerlo. Se
dividen en:
Ejecucin. Estado en el que se encuentra un proceso cuando tiene el control del procesador. En un sistema
monoprocesador este estado slo lo puede tener un proceso.
Preparado. Aquellos procesos que estn dispuestos para ser ejecutados, pero no estn en ejecucin por
alguna causa (Interrupcin, haber entrado en cola estando otro proceso en ejecucin, etc.).
Bloqueado. Son los procesos que no pueden ejecutarse de momento por necesitar algn recurso no
disponible (generalmente recursos de entrada/salida).
2.- Estados inactivos: Son aquellos que no pueden competir por el procesador, pero que pueden volver a
hacerlo por medio de ciertas operaciones. En estos estados se mantiene el bloque de control de proceso
aparcado hasta que vuelva a ser activado. Se trata de procesos que no han terminado su trabajo que lo han
impedido y que pueden volver a activarse desde el punto en que se quedaron sin que tengan que volver a
ejecutarse desde el principio.
Son de dos tipos:
Suspendido bloqueado. Es el proceso que fue suspendido en espera de un evento, sin que hayan
desaparecido las causas de su bloqueo.
Suspendido programado. Es el proceso que han sido suspendido, pero no tiene causa parta estar bloqueado.
Operaciones sobre procesos.
Los sistemas operativos actuales poseen una serie de funciones cuyo objetivo es el de la manipulacin de los
procesos. Las operaciones que se pueden hacer sobre un proceso son las siguientes:
Crear el proceso. Se produce con la orden de ejecucin del programa y suele necesitar varios argumentos,
como el nombre y la prioridad del proceso. Aparece en este momento el PCB, que ser insertado en la cola de
procesos preparados.
La creacin de un proceso puede ser de dos tipos:
Jerrquica. En ella, cada proceso que se crea es hijo del proceso creador y hereda el entorno de ejecucin de
su padre. El primer proceso que ejecuta un usuario ser hijo del intrprete de comandos con el que interacta.
No jerrquica. Cada proceso creado por otro proceso se ejecuta independientemente de su creador con un
entorno diferente. Es un tipo de creacin que no suele darse en los sistemas operativos actuales.
Destruir un proceso. Se trata de la orden de eliminacin del proceso con la cual el sistema operativo destruye
su PCB.
Suspender un proceso. Es un proceso de alta prioridad que paraliza un proceso que puede ser reanudado
posteriormente. Suele utilizarse en ocasiones de mal funcionamiento o sobrecarga del sistema.
Reanudar un proceso. Trata de activar un proceso que a sido previamente suspendido.
Cambiar la prioridad de un proceso.
Temporizar la ejecucin de un proceso. Hace que un determinado proceso se ejecute cada cierto tiempo
(segundos, minutos, horas...) por etapas de una sola vez, pero transcurrido un periodo de tiempo fijo.
Despertar un proceso. Es una forma de desbloquear un proceso que habr sido bloqueado previamente por
temporizacin o cualquier otra causa.
Prioridades
Todo proceso por sus caractersticas e importancia lleva aparejadas unas determinadas necesidades de
ejecucin en cuanto a urgencia y asignacin de recursos.
Las prioridades segn los sistemas operativos se pueden clasificar del siguiente modo:
Asignadas por el sistema operativo. Se trata de prioridades que son asignadas a un proceso en el momento
de comenzar su ejecucin y dependen fundamentalmente de los privilegios de su propietario y del modo de
ejecucin.
Asignadas por el propietario.
Estticas.
Dinmicas.