You are on page 1of 10

CAPITULO II

Introduccin a los Sistemas


Operativos













Informacin General
Un Sistema Operativo (SO) es una coleccin organizada de rutinas o extensiones de software del
hardware. Consiste en rutinas de control que hacen funcionar una computadora y proporcionan un
entorno para la ejecucin de los programas. Existen otros programas que se apoyan en el SO para
poder acceder a los recursos que necesitan. Esto se lleva a cabo a travs de llamadas sistema
operativo. Tambin el SO debe brindar una forma de que el usuario se pueda comunicar con l a
travs de una interfaz que le brinde una va de comunicacin con el hardware del sistema
informtico.
El objetivo principal del SO es lograr que el sistema informtico es el lograr que el hardware de la
computadora se emplee de modo eficiente, y el objetivo secundario se use de manera cmoda.
El SO debe asegurar el correcto funcionamiento del sistema informtico. Para lograr esto el
hardware debe brindar algn mecanismo apropiado que impida que los usuarios intervengan en el
funcionamiento del sistema y as mismo el SO debe poder utilizar este recurso de hardware de
modo que esto se cumpla.
El SO debe ofrecer servicios a los programas y sus usuarios para facilitar la tarea de
programacin.
Qu es un sistema operativo?
Las clases de sistemas operativos en la que nos basaremos sern los denominados multiusuarios y
de multiprogramacin; es decir que varios usuarios podrn correr concurrentemente mltiples
programas.
Un SO es una parte importante de casi cualquier sistema informtico. Para entender mejor esto
veremos que un sistema informtico puede separar en cuatro partes:
El hardware
El SO
Los programas de aplicacin
Los usuarios

Estas partes hacen de capas, cada una de las cuales acerca ms al usuario a utilizar los recursos
del hardware. El hardware (CPU, memoria y dispositivos) proporciona los recursos de computacin
bsicos sobre los que se agregaran estas capas sucesivas. Los programas de aplicacin como los
compiladores, juegos, aplicaciones de negocios, etc. definen la forma en que estos recursos se
emplearn para solucionar los problemas del usuario.
Puede haber varias clases de usuarios usando el sistema, como ser personas, programas y otras
computadoras, tratando de resolver diversos problemas. El SO controla y coordina el uso del
hardware entre los diversos programas de aplicacin y los distintos usuarios, administrando todos
los recursos como disco, memoria, impresoras, monitor, etc. El SO determina los tiempos en que
un determinado programa utilizar un recurso dado.
Al comienzo de la era informtica, los sistemas no utilizaban SO's. Estas computadoras de hace 40
aos ejecutaban un programa a la vez que era cargado por un programador. Este cargaba el
programa y lo ejecutaba. Si exista algn error que hiciera que el programa se detuviera antes de
lo esperado, se tena que comenzar de nuevo con todo el proceso. Recordemos que en esa poca
no haba muchas computadoras en funcionamiento, as que el programador tena que esperar de
varios das hasta tener nuevamente su turno enfrente de la computadora. Los SO's existen porque
son una solucin razonable al problema de crear un sistema informtico til. El objetivo
fundamental de los sistemas informticos es ejecutar los programas de los usuarios y facilitar la
resolucin de sus problemas. Todo esto se haca a travs de tarjetas perforadas que una persona
encargada cargaba en la computadora y luego de algunas horas devolva la salida impresa al
programador.
Al avanzar la tecnologa informtica, muchos de estos programas se cargaban en una sola cinta,
otro programa residente en la memoria de la computadora, cargaba y manipulaba los programas
de esa cinta. Este es el ancestro de los SO's de hoy en da. En la dcada del 60 la tecnologa de
SO's avanzo mucho y se podan tener mltiples programas al mismo tiempo en la memoria. As
surgi el concepto de multiprogramacin. Si un programa necesitaba esperas a que ocurriera
algn evento externo, como que una cinta se rebobinara, otro podra tener acceso a la CPU para
as poder utilizar el 100% del poder de procesamiento con que contaba la computadora. Esto
ahorraba mucho dinero ya que en aquel entonces todo en lo referente a cmputo (memoria,
espacio en disco, etc) costaba cientos de miles de dlares. A finales de los 60's, en 1969, naci
UNIX, SO que trataremos ms adelante, y es la base de muchos de los SO's de hoy en da,
aunque muchos no lo admitan.

Definir que forma parte de un SO y que no sera difcil, dada la gran variedad existente, pero una
definicin para los SO que nos compete en estos momentos seria que el SO es el programa que
ejecuta todo el tiempo en la computadora (conocido usualmente como kernel o ncleo), siendo los
programas de aplicacin todo lo dems. En general un SO intenta incrementar la productividad de
un recurso de proceso tal como el hardware de la computadora, o de los usuarios de los sistemas
informticos. Ahora bien, en lo referente a la utilizacin eficiente de un sistema informtico no
siempre se puede lograr que un SO lo logre. Casi siempre resulta contradictorio la comodidad y la
eficiencia.
El sistema operativo en capas
Podemos imaginar a Linux como una cebolla donde cada capa se comunica con la capa inferior. En
la parte del centro se encuentra la capa de comunicacin con el hardware. El SO la utiliza para
poder controlar los diversos aspectos del hardware. Sobre ella se encuentra la capa de
dispositivos. Es un conjunto de funciones denominadas controladores de dispositivo que se
encuentra dentro del kernel del SO. Ellas acceden directamente al hardware y hacen el trabajo de
lectura, escritura, etc. Es un punto muy sensible del sistema en donde cuando un error surge poco
puede hacerse para detener el proceso. Sobre la capa de dispositivos se encuentra la capa de
administracin, esta es un conjunto de funciones a las que se hace referencia como sistema
operativo tomando la decisin de que se ejecuta y cuando. Son las funciones que administran
tambin los procesos, dndoles los turnos pertinentes y mandndolos a dormir cuando no es su
turno.
La capa que sigue es la de los procesos mismos, por ejemplo el shell del SO. Estos procesos
reciben la ordenes directamente del usuariou otros procesos y los traducen al lenguaje de
maquina pasndoselos al SO para su ejecucin. A partir del shell se podrn arrancar
otrosprocesos, como programas, que forman la capa superior de la cebolla.Estos se comunicaran
con el shell para que el SO interprete sus rdenes


Por que usar GNU/Linux y que nos ofrece
Los usuarios buscan sistemas que puedan satisfacer sus necesidades. Tal vez la curiosidad los ha
llevado a buscar en GNU/Linux, pero es bueno saber que la eleccin no solamente puede
satisfacer dicha curiosidad.
Como estudiantes, tendrn ante ustedes un sistema muy configurable y esa sola opcin hace que
sea el preferido de los mbitos acadmicos.
El poder tener el cdigo fuente de cada punto de un sistema operativo funcional es un recurso
invaluable que no se poda tener hasta no hace mucho. Pero no nos engaemos con que tenemos
un sistema solamente didctico. GNU/Linux presenta un sin fin de aplicaciones que generan un
ambiente por dems de estable para los negocios de hoy en da. Y este es un punto interesante ya
que es en las empresas donde GNU/Linux tiene mayor entrada, debido en gran parte al poder
contar con un sistema Un*x de bajo costo total de la propiedad (TCO por sus siglas en ingls) y
sin las complicaciones de licencias que tienen otros SO.
Pongamos un ejemplo. Una empresa compra una distribucin cualquiera por u$s 30, la instala en
sus 120 mquinas. Nada lo impide, no es ilegal y sobre todas las cosas, tendrn una plataforma
mucho ms estable que con otros SO's. Dirn seguramente que GNU/Linux no cuenta con ningn
soporte. Es un gran error. Primero que todo GNU/Linux cuenta con una gran comunidad dispuesta
a ayudar y sobre todo, en esa comunidad se podr contactar hasta a los mismos programadores
que formaron parte del proyecto. Tal vez a una empresa no le interese el soporte a travs de un
contacto que supunen poco confiable. Las empresas necesitan echarle la culpa a alguna
organizacin si el servidor no funciona. Muy bien, empresas como IBM, Hewllett-Packard y
Compaq ya venden servidores con GNU/Linux preinstalados y con garantas y servicios tcnicos
similares a los que ofrecen con otras plataformas. Si eso no basta, numerosas empresas locales de
servicio estn entrando en la competencia de brindar asistencia y soporte a aquellas personas que
ya posean un sistema GNU/Linux, sin importar si se lo han comprado a ellos. Por parte de las
distribuciones, cuentan con soporte permanente, ya sea a travs de la web o correo electrnico,
servicio que cuesta muchsimo en otros SO's y ni hablar de SO's Un*x.
Tambin desde el punto de vista del usuario final, la cantidad de software disponible es ms que
suficiente para satisfacer las necesidades en todos los campos. Veamos algunos ejemplos:
Estacin de trabajo Internet
Contamos en este rea con una enorme variedad de clientes para los ms diversos protocolos. La
siguiente lista no intenta ser completa, solamente se listan los programas mas comunes en cada
campo:
http (web): Navegadores en modo consola puro (lynx, links, w3c, emacs/w3c), en modo
consola con capacidad grfica (links) y para X ( mozilla/netscape, konqueror, links,
galen, epiphany)
correo y noticias: Clientes para consola (mutt, pine, slrn, tin) y para X (kmail, evolution,
sylpheed, balsa, pan, knode)
ftp: Clientes de consola (ftp, con este nombre se agrupan varias versiones) y para X (gftp,
konqueror).
irc (chat): Clientes para consola (BitchX, epicII) y para X (XChat, KSirc, chatzilla)
im (mensajera instantnea): Existen una variedad de clientes, siendo la caracterstica
saliente que la mayora suele ser cliente de varias redes a la vez (jabber, icq, msn, aim,
gadu-gadu, etc.). Hay tanto clientes de consola (centericq, pebrot) como para X (gaim,
kopete, amsn, psi).
Estacin de trabajo de oficina
Encontraremos aqu una gran variedad de software destinado tanto a crear como a transformar y
visualizar diferentes tipos de documentos. La siguiente lista es meramente orientativa:
Procesadores de texto: Una gran cantidad de programas para X (OpenOffice Writer,
Abiword, Ted, PW, Kword).
Planillas de clculo: Existen algunas para la consola (GNU Oleo, sc) y tambin para X
(OpenOffice Writer, Gnumeric,Kcalc, abs, Siag).
Bases de datos: Existen aplicaciones que van desde algunas de gran calibre aplicables a
servidores (PostgreSQL, MySQL) hasta mas pequeas comparables con algunas bases de
datos personales del mundo Windows (Firefox, MiniSQL). Estas no proveen interfaces
grficas en general, sino conectividad con clientes. Algunos clientes destacados son
pgacces (interfaz grfica para PostgreSQL) y el front-end de OpenOffice para MySQL y
archivos DBF.
Programas de presentaciones: Disponibles para X (OpenOffice Impress, Kpresenter).
Imagenes vectoriales: Varias opciones disponibles para X (OpenOffice Draw, Xfig,
Sodipodi).
Imagenes raster (bitmap): Se cuenta con varias aplicaciones con diferentes grados de
sofisticacin (Gimp, Xpaint, Kpaint).
Diseo 3d: Blender/Blender 3D, PovRay.
Formateo de documentos: Esta seccin podra decirse que es casi desconocida en el
mundo de Windows y MacOS, si bien los programas que pertenecen a este grupo se
destacan por su gran portabilidad y tienen versiones nativas en los sistemas antes
mencionados. La idea es escribir en un archivo de texto (sin formato alguno) el texto
intercalando instrucciones acerca de que funcin cumple el texto dentro del documento, si
es un prrafo, un encabezado, una lista numerada, etc. Luego, el formateador procesa el
archivo fuente y produce una salida formateada que puede ser impresa con una gran
calidad, por ejemplo en formato pdf. Los formateadores de texto ms comunes son, en
orden de popularidad:
TeX-LaTeX: El formateador de Donald Knuth es el estndar de facto para salidas
de gran calidad como libros y publicaciones cientficas.
Troff-Nroff-Groff: El abuelo de los formateadores, ha quedado un tanto desfasado
frente a los dems, pero se destaca por ser el nico que viene instalado en los
sistemas base de todas las distribuciones, ya que se utiliza para darle formato a
las pginas man.
Lout: Sistema similar a LaTeX, distinguindose por ser mucho ms moderno y
minimalista. Su salida es por defecto postscript, por lo que puede ser impreso en
impresoras que soporten este estndar directamente.
Markup languages: Aqu se agrupan una serie de tecnologas bastante recientes,
orientadas a la creacin de documentos sobre todo de la rama informtica. Un
exponente destacado de este grupo es DocBook, el cual se utiliz para la creacin
de este documento.
Estacin de trabajo cientfica
GNU/Linux cuenta con software para el trabajo en distintas ramas de la ciencia y la tecnologa.
Sera muy largo enumerar la cantidad de software disponible en esta rea. Sin dudas, los ms
destacados son:
Lenguaje de programacin tipo Matlab: GNU Octave, Scilab, Euler.
Programas para grficas cientficas: Gri (lenguaje), GNU Plotutils (consola, no interactivo),
Gnuplot, xmgrace, SciGraphica.
Programas de clculo de elementos finitos: FreeFEM, CalculiX.
GIS: Grass, Spring, GMT.
Existen una gran cantidad de herramientas para cada rama de la ciencia. Si nuestro trabajo es de
este tipo, sin dudas el software disponible llenar nuestras necesidades.
Ahora bien, GNU/Linux cuenta adems con una serie de soportes para tecnologas heredadas
como podran ser aplicaciones que corren en otro tipo de plataforma. Se cuenta con emuladores
de DOS y Windows, estando siendo adems portadas una gran cantidad de aplicaciones tanto de
corriente principal como grandes aplicaciones. Esto da la seguridad de no tener que cambiar el
software por el que se pag anteriormente, pero hay que decir que este tipo de programas
emuladores todava tienen sus fallas, siendo difcil poder ejecutar algunas aplicaciones poco
conocidas.
Existe una frase que habla por si misma: GNU/Linux lo tiene todo: Estabilidad, soporte y software.
Adems en esta poca de recortes GNU/Linux es la clave para mantener nuestro negocio
competitivo tanto tecnolgica como econmicamente.
Caractersticas de Linux
multitarea: varios programas (realmente procesos) ejecutndose al mismo tiempo.
multiusuario: varios usuarios en la misma mquina al mismo tiempo
multiplataforma: corre en muchas CPUs distintas, no slo Intel.
tiene proteccin de la memoria entre procesos, de manera que uno de ellos no pueda
colgar el sistema.
memoria virtual usando paginacin (sin intercambio de procesos completos) a disco: una
particin o un archivo en el sistema de archivos, o ambos, con la posibilidad de aadir
ms reas de intercambio sobre la marcha (se sigue denominando intercambio, es en
realidad un intercambio de pginas). Un total de 16 zonas de intercambio de 128Mb de
tamao mximo pueden ser usadas en un momento dado con un lmite terico de 2Gb
para intercambio.
la memoria se gestiona como un recurso unificado para los programas de usuario y para
el cach de disco, de tal forma que toda la memoria libre puede ser usada para cach y
ste puede a su vez ser reducido cuando se ejecuten grandes programas.
libreras compartidas de carga dinmica (DLL's) y libreras estticas tambin, por
supuesto.
se realizan volcados de estado (core dumps) para posibilitar los anlisis post-mortem,
permitiendo el uso de depuradores sobre los programas no slo en ejecucin sino tambin
tras abortar stos por cualquier motivo.
casi totalmente compatible con POSIX, System V y BSD a nivel fuente.
mediante un mdulo de emulacin de iBCS2, casi completamente compatible con SCO,
SVR3 y SVR4 a nivel binario.
todo el cdigo fuente est disponible, incluyendo el ncleo completo y todos los drivers,
las herramientas de desarrollo y todos los programas de usuario; adems todo ello se
puede distribuir libremente. Hay algunos programas comerciales que estn siendo
ofrecidos para Linux actualmente sin cdigo fuente, pero todo lo que ha sido gratuito
sigue siendo gratuito.
control de tareas POSIX.
pseudo-terminales (pty's).
emulacin de 387 en el ncleo, de tal forma que los programas no tengan que hacer su
propia emulacin matemtica. Cualquier mquina que ejecute Linux parecer dotada de
coprocesador matemtico. Por supuesto, si tu ordenador ya tiene una FPU (unidad de
coma flotante), ser usada en lugar de la emulacin, pudiendo incluso compilar tu propio
kernel sin la emulacin matemtica y conseguir un pequeo ahorro de memoria.
soporte para muchos teclados nacionales o adaptados y es bastante fcil aadir nuevos
dinmicamente.
consolas virtuales mltiples: varias sesiones de login a travs de la consola entre las que
se puede cambiar con las combinaciones adecuadas de teclas (totalmente independiente
del hardware de video). Se crean dinmicamente y puedes tener hasta 64.
soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los
sistemas de archivo tpicos de System V, y tiene un avanzado sistema de archivos propio
con una capacidad de hasta 4 Tb y nombres de archivos de hasta 255 caracteres de
longitud.
acceso transparente a particiones MS-DOS (o a particiones FAT, FAT32 y NTFS) mediante
un sistema de archivos especial: no necesitas ningn comando especial para usar la
particin MS-DOS, parece un sistema de archivos normal de Unix (excepto por algunas
graciosas restricciones en los nombres de archivo, permisos, y esas cosas). Las
particiones comprimidas de MS-DOS 6 no son accesibles en este momento, y no se espera
que lo sean en el futuro. El soporte para VFAT (WNT, Windows 95) ha sido aadido al
ncleo de desarrollo y estar en la prxima versin estable.
un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado en
un sistema de archivos DOS.
soporte en slo lectura de HPFS-2 del OS/2 2.1
sistema de archivos de CD-ROM que lee todos los formatos estndar de CD-ROM.
TCP/IP, incluyendo ftp, telnet, NFS, etc.
Appletalk disponible en el actual ncleo de desarrollo.
software cliente y servidor Netware disponible en los ncleos de desarrollo.

You might also like