SISTEMAS OPERATIVOS. Un enfoque basado en procesos (parte 2:: 401-790)
Enfoque general a los sistemas operativos
-
Upload
andres-santacruz -
Category
Documents
-
view
17 -
download
1
description
Transcript of Enfoque general a los sistemas operativos
ENFOQUE HISTORICO Y TEORICO DE LOS SISTEMASOPERATIVOS.
Andres Camilo Santacruz Borda.
UNIVERSIDAD ANTONIO NARINO
FACULTAD DE INGENIERIA DE SISTEMAS Y COMPUTACION
ARQUITECTURA DE COMPUTADORES
BOGOTA D.C.
28 OCTUBRE 2015
ENFOQUE HISTORICO Y TEORICO DE LOS SISTEMASOPERATIVOS.
Autor: Andres Camilo Santacruz Borda.
Cod 11161228391
Tercer parcial
Presentado a: Ing. Luis Fernando Montilla Trespalacios
UNIVERSIDAD ANTONIO NARINO
FACULTAD DE INGENIERIA DE SISTEMAS Y COMPUTACION
ARQUITECTURA DE COMPUTADORES
BOGOTA D.C.
28 OCTUBRE 2015
TABLA DE CONTENIDOS
1. OBJETIVOS 3
1.1. Objetivo general. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Objetivos especıficos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. INTRODUCCION 4
3. HISTORIA Y DESARROLLO DE LOS SISTEMAS OPERATIVOS. 5
4. TIPOS DE SISTEMAS OPERATIVOS. 7
4.1. Administracion de Tareas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.1.1. SO Monotarea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.1.2. SO Multitarea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2. Administracion de Usuarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2.1. SO Monousuario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2.2. SO Multiusuario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3. Tipo de dispositivo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.3.1. Super computadoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3.2. Servidores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3.3. Computadoras Personales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3.4. Dispositivos de bolsillo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.3.5. Dispositivos Integrados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4. Numero de procesadores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5. SERVICIOS Y PRINCIPIOS FUNCIONALES DE LOS SISTEMAS OPERA-
TIVOS 15
1
6. FUNCIONES DE UN SISTEMA OPERATIVO 18
6.1. Gestion de procesos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.2. Gestion de memoria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.3. Gestion de archivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7. PLANIFICACION DE PROCESOS EN SISTEMAS OPERATIVOS 22
8. SISTEMAS OPERATIVOS ACTUALES. 24
8.1. LINUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
8.1.1. UBUNTU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.1.2. WINDOWS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.1.3. Windows Vs Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
9. Conclusion. 27
2
1. OBJETIVOS
1.1. Objetivo general.
Realizar un breve recorrido historico de los SO. Posteriormente abordar topicos referentes al fun-
cionamiento, tipos, ventajas y desventajas. Se considera necesario tambien, abordar una sencilla
comparacion entre los SO Windows y Linux.
1.2. Objetivos especıficos.
Realizar una investigacion que de apertura conceptual a los sistemas operativos.
Deducir o concluir los enfoques y tendencias actuales en cuanto a desarrollo e implementacion
de Sistemas operativos.
Establecer o aterrizar conceptos referentes al funcionamiento externo e interno de un sistema
Operativo.
3
2. INTRODUCCION
Los sistemas operativos son un soporte logico que permite la interaccion hombre maquina; es
decir, el medio que hace usable un conjunto de piezas y/o dispositivos fısicos conocidos como
Hardware (Abreviado de ahora en adelante como HW). Las distintas funciones o tareas de un
sistema operativo son encapsulales en los siguientes 3 grupos: Administrar, Coordinar y Organizar.
Ası mismo, los sistemas operativos son clasificables en funcion de las prestaciones que brindan. Los
cuatro tipos de sistemas operativos son:
Multitramo.
Multiprocesador.
Multitarea.
Tiempo Real.
Los SO actuales permiten sobre ellos, el funcionamiento y ejecucion de otros programas a los que
se les conoce como aplicaciones; es importante anotar que la eleccion de dicho SO determina en
gran medida el tipo de aplicaciones que se pueden o no usar.
En el presente documento se realizara el recorrido historico de los sistemas operativos a fin de
brindar al lector una breve guıa acerca del tema en cuestion. Posteriormente se abordaran de
forma mas detallada topicos referentes al funcionamiento, tipos, objetivos, caracterısticas, ventajas
y desventajas.
Como ayuda extra, al final se encuentra un glosario tecnico que explica de forma sencilla y general
cada concepto allı contenido. Esto se realiza para para facilitar la comprension de aquellos lectores
que no dominan la terminologıa empleada.
4
3. HISTORIA Y DESARROLLO DE LOS SISTEMAS
OPERATIVOS.
Los Sistemas Operativos, al igual que el HW de los computadores, han sufrido una serie de cambios
llamados generaciones. Como gran parte de los avances tecnologicos de los cuales hoy se hace uso
continuo y se les considera imprescindibles, los SO y en general la informatica actual son productos
de la guerra, en este caso la Segunda Guerra Mundial.
Para ese entonces (1940), se tenıa a la generacion cero. En dicha generacion, el concepto de SO
aun no se usaba, sin embargo las plataformas mediante las cuales los usuarios interactuaban con
las maquinas (En este caso maquina es sinonimo de computador) lo eran. En estos primeros SO
las instrucciones se codificaban a mano, lo que provocaba que solo personas capacitadas en el
area, fueran capaces de interactuar con las maquinas haciendo uso directo del lenguaje maquina
(Binario).
En los anos 50’s el procesamiento por lotes dio apertura a lo que se conocerıa como la primera
generacion de SO. El procesamiento por lotes es un mecanismo para la ejecucion de tareas en
donde cada instruccion o tarea es agrupada en un lote que esta a la espera de su procesamiento.
Es decir, que en este mecanismo, cuando una instruccion se estaba ejecutando, todos los recursos
de la maquina funcionaban en torno a ella y solamente cuando se terminaba dicha ejecucion, los
recursos volvıan a ser controlados por el SO o la siguiente instruccion a ejecutar.
Paralelamente la aparicion de las tarjetas perforadas dio lugar a una mejora notable en el ren-
dimiento del procesamiento de la informacion y el desarrollo de programas que realizaban tareas
especıficas como sumar o restar.
Finalmente la creacion el transistor dio paso al desarrollo de computadores mas potentes y de
menor tamano que demandaban a su vez SO mas capaces y robustos; segunda generacion.
Los SO de esta generacion, destacan en contraposicion a las generaciones anteriores por la per-
mision de multiprocesamiento y multiprogramacion. En los sistemas con multiprocesamiento y
multiprogramacion varios programas de usuario se encuentran almacenados al tiempo en la memo-
ria principal logrando que los procesadores cambien de una tarea a otra sin necesidad de esperar
grandes intervalos de tiempo. Para ese entonces, no existıan los procesadores multinucleo lo que
obligaba a usar multiples procesadores en un mismo sistema computacional.
La aparicion de sistemas compartidos es causada por la demanda de productividad y fluidez. En
un sistema de este tipo, varias terminales son conectadas a la maquina, asignandosele a cada una
de ella uno mas procesos especıficos. El encargado de garantizar la comunicacion entre terminales
era el sistema operativo.
5
La transicion entre los SO de segunda y tercera generacion hace referencia al desarrollo de maquinas
para usos generales. Dichos computadores soportaban simultaneamente procesos por lotes, tiempo
compartido, procesamiento de tiempo real y multiprocesamiento lo que hizo que se tornaran mas
complejos para el usuario.
Finalmente se tiene a la cuarta generacion de SO. Los sistemas de la cuarta generacion constituyen
el estado actual de la tecnologıa. Los computadores dejan de ser un lujo del Gobierno y las grandes
universidades pasando a ser maquinas al servicio de la gente del comun. Este cambio de paradigma
se debe a la minimizacion constante del tamano y consumo de los computadores. Como se nombro
anteriormente, los sistemas operativos solo eran administrados o usados per personas capacitadas
para ello, sin embargo ahora se hizo necesario el desarrollo de sistemas mas intuitivos y generales
que permitieran la interaccion fluida entre la maquina y personan sin conocimiento avanzados en
sistemas computacionales.
En resumen, para la generacion actual de SO la prioridad es el desarrollo de plataformas sencillas y
de facil uso que permitan que usuarios de cualquier nivel (basico, medio, avanzado) puedan realizar
cualquier tipo de tarea computacional sin mayos dificultad.
A causa de tal cambio de paradigma, empiezan a nacer empresas como Microsoft, Apple o Unix.
Cada una de ellas entendio la importancia del Software (Sw) sobre el HW lanzando asi al mercado
SO con distintos enfoques. Un recuento de dichos sistemas operativos sera realizado en un capitulo
posterior.
6
4. TIPOS DE SISTEMAS OPERATIVOS.
Los sistemas operativos, sin importar el fabricante, son clasificables con base en una de sus tareas
mas importantes; la administracion. Paralelamente, los SO tambien son clasificables de acuerdo
al numero de procesadores y tipo de terminal o dispositivo usado. Entonces, se tiene la siguiente
clasificacion:
1. Administracion de Tareas:
Monotarea
Multitarea
2. Administracion de Usuarios:
Monousuario
Multiusuario
3. Tipo de dispositivo:
Super computadoras
Servidores
Computadoras Personales
Dispositivos de bolsillo
Dispositivos Integrados
4. Numero de procesadores:
Monoprocesador
Multiprocesador
4.1. Administracion de Tareas.
En informatica y ciencias de la computacion, el concepto de tarea es equivalente a proceso y un
proceso puede entenderse informalmente como una actividad en donde un bloque de instrucciones
es ejecutado. Para dicha actividad siempre habra asociado un conjunto Q de estados alcanzables
{q0, q1, q2...qn} en donde qa es el estado actual y qf el estado final. El conjunto de recursos del
sistema W es primordial para la ejecucion de dicho bloque de instrucciones.
En este orden de ideas, existen sistemas operativos que permiten o no la ejecucion de multiples
tareas en un instante de tiempo t. Dichos sistemas operativos se conocen como Multitareas o
Monotareas respectivamente.
7
4.1.1. SO Monotarea.
Un SO Monotarea, como se dijo anteriormente, solo es capaz de ejecutar una instruccion a la vez.
Esta peculiar caracterıstica afecta directamente el rendimiento de la maquina y la productividad
del usuario, ya que ejecutando tareas de una en una, el tiempo de procesamiento de un bloque
completo de tareas es mayor en comparacion al empleado en una maquina que ejecute un SO
multitarea.
En la actualidad este tipo de sistemas operativos no son muy usados por los usuarios finales, por
el contrario, hacen parte fundamental de SO mas robustos como Windows 8 y Ubuntu.
Figura 1: Ejemplo de SO Monotarea: DOS de Windows.
En la anterior figura se muestra a DOS. DOS es un SO monotarea que hace de interprete de
comandos en los SO comerciales de Microsoft. Dicho sistema, solo permite la ejecucion de un
comando en un instante de tiempo t. Es decir, en el caso particular se ejecuta el comando de
limpieza del *tmp /s /f . Si ademas de ello se quisiera realizar un examen logico del disco duro
usando el comando chkdsk es inevitable tener que esperar que la primera instruccion de limpieza
se ejecute en totalidad.
4.1.2. SO Multitarea.
Contrario al modo en que funcionan los SO Monotareas, en los SO Multitareas es posible ejecutar
mas de un proceso en el mismo instante de tiempo t; es decir, que si por ejemplo se tuvieran en
8
un SO Multitarea dado dos bloque de instrucciones A y B, serıa posible ejecutar paralelamente n
instrucciones pertenecientes a A ∪B.
Este tipo de SO es el mas comun en la actualidad o por lo menos en contextos generales como
hogares y oficinas. Ejemplos evidentes de SO Multitarea son las versiones de Windows lanzadas a
partir de Windows NT.
Figura 2: Ejemplo de SO Multitarea: Windows 10.
4.2. Administracion de Usuarios.
Para la Informatica, un usuario se define como un conjunto de dispositivos, permisos o recursos a
los cuales se puede tener acceso. Siendo mas generales, puede decirse que un usuario puede ser una
persona, un programa, una maquina o incluso una instruccion.
En este caso, definiendo al usuario como persona, es posible realizar una clasificacion de los mismos:
Invitado.
Registrados.
Administradores.
9
Cada tipo de usuario posee permisos especıficos en un SO. Por ejemplo, un invitado solo puede
leer, un registrado leer y escribir y un administrador, leer , escribir, y modificar configuraciones del
sistema.
Ya entendido el concepto de usuario, es posible explicar los dos tipos de sistemas operativos refe-
rentes a este inciso.
4.2.1. SO Monousuario.
Los SO Monousuario solo admiten a un usuario, es decir que solo una persona puede tener acceso a
los recursos fısicos y logicos de la computadora. Esta caracterıstica es totalmente independiente de
factores como en numero de tareas ejecutables en un instante de tiempo determinado o la cantidad
de procesadores con los que cuente la maquina.
Es importante aclarar que es diferente la permision de un sistema determinado en cuanto a con-
figuracion de varios usuarios y la utilizacion de los recursos del sistema por dichos usuarios en el
mismo instante de tiempo.
Ejemplos de SO Monousuario son:
Windows Xp
Windows 7
Ubuntu 14.0
4.2.2. SO Multiusuario.
En los SO Multiusuario existe una permision de acceso multiple. De igual forma los recursos logicos
y fısicos se ponen a disposicion de todos los usuarios que estan conectados al sistema. Este tipo de
plataformas son comunes en contextos mus especıficos, contextos como el industrial y cientıfico.
En los SO Multiusuario existe una permision de acceso multiple por parte del SO. De igual forma
los recursos logicos y fısicos se ponen a disposicion de todos los usuarios que estan conectados al
sistema. Este tipo de plataformas son comunes en contextos mus especıficos, contextos como el
industrial y cientıfico.
La permision de acceso multiple se logra principalmente gracias a dos metodos: la interconexion
de una o mas terminales a un computador especifico y el acceso remoto a traves de herramientas
como VNC y Team Viewer.
10
Los recursos que se comparten en un sistema de este tipo son:
Memoria.
Almacenamiento secundario.
Procesador.
Perifericos.
Programas.
El ejemplo tıpico de SO Multiusuario es Windows Server.
Figura 3: Ejemplo de SO Multiusuario: Windows Server.
4.3. Tipo de dispositivo.
Los sistemas operativos tambien son clasificables en funcion del tipo de dispositivo en el que seran
ejecutados. Las prestaciones entre uno y otro dependen del objetivo del dispositivo. Es decir, que
si el dispositivo es una super computadora el SO debe ser robusto y permitir multiprocesamiento
y multiple acceso.
11
4.3.1. Super computadoras
Los SO operativos disenados para Supercomputadoras estan orientados al procesamiento por lotes,
multiple acceso en tiempo compartido y transacciones. Procesamiento por lotes, para este caso
particular debe entenderse como la capacidad de procesamiento sin la intervencion de usuarios.
Por otra parte, multiple acceso en tiempo compartido hace referencia a la ejecucion de un trabajo
por mas de un usuario en el mismo instante de tiempo. Finalmente, transacciones hace referencia
a peticiones de poco tamano.
4.3.2. Servidores
Los SO para servidores deben ser capaces de brindar cualquier tipo de servicio a traves de una
red. Deben ser capaces de gestionar por si solos procesos determinados como copias de seguridad y
ejecucion de planes de contingencia ante posibles eventualidades indeseadas. Durante muchos anos,
el mercado de SO para servidores fue dominado por Microsoft, sin embargo debido a sus notorias
desventajas de rendimiento, ha sido reemplazado paulatinamente por sistemas o distribuciones de
Linux.
4.3.3. Computadoras Personales
Los SO para computadoras personales son los menos robustos. Sin embargo, deben garantizar un
buen rendimiento al momento de ejecutar taras generales como navegacion Web y ediciones de
texto. Ente los SO de este tipo, los mas conocidos son:
Windows 7 - Microsoft
Windows 8 - Microsoft
Windows 10 - Microsoft
Ubuntu - Linux
Debıan - Linux
OS X – Apple
12
Figura 4: Ejemplo de SO para Computadoras Personales: Ubuntu.
4.3.4. Dispositivos de bolsillo
Los sistemas operativos para dispositivos de bolsillo cada dıa son mas versatiles a causa del continuo
cambio de dichos elementos. A pesar de que las plataformas en las cuales son instalados, tienen
recursos fısicos limitados en comparacion a otro tipo de dispositivos, dichos SO brindan al usuario
prestaciones similares, por no decir iguales a las de un equipo personal. Ademas de ello el plus es la
portabilidad del sistema. Entre los mas conocidos SO para dispositivos de bolsillos, se encuentran
Android, Windows Mobile, y IOS de Apple.
4.3.5. Dispositivos Integrados
A los SO de dispositivos integrados tambien se les conoce como Sistemas Embebidos o integrados.
Generalmente son mucho mas simples que los SO anteriormente nombrados y estan disenados para
ejercer tareas muy especıficas. Un ejemplo de Sistema Embebido es WxWorks. WxWorks controla
los elementos electronicos de los automoviles.
13
4.4. Numero de procesadores.
Por ultimo, se tiene la clasificacion segun el numero de procesadores que es capaz de admitir el SO.
Esta clasificacion es muy sencilla y no requiere mayor atencion. Un SO de tipo monoprocesador
es aquel que solo puede ejecutarse en una maquina con una unica CPU. Por el contrario, los SO
Multiprocesadores se pueden ejecutar en maquinas con un numero de CPU mayor a uno.
14
5. SERVICIOS Y PRINCIPIOS FUNCIONALES DE LOS
SISTEMAS OPERATIVOS
Los sistemas operativos, aparte de administrar, organizar y coordinar, brindan y/o proporcionan los
servicios necesarios para la correcta ejecucion de instrucciones. La clasificacion de dichos servicios
se realiza en funcion de su objetivo:
Tareas de programacion.
Administracion de recursos (Compartir)
A continuacion se ilustra un cuadro comparativo entre ambos tipos de servicios.
Cuadro 1: Cuadro comparativo entre tipos de servicios.
Tareas de programacion.Administracion de recursos.
(Compartir)Ejecucion de programas.
(Carga, Ejecucion,Finalizacion).
Asignacion de recursos.
Operacionesde Entrada y Salida.
Contabilidad.(Numero de recursos yusuarios conectados)
Administracion delSistema de ficheros
(Leer, Escribir y Borrar)
Proteccion y controldel uso de informacion.
Deteccion de errores. -
El usuario puede acceder a los servicios del SO a traves de dos metodos:
Llamadas al sistema
Programas del sistema
Ya entendido, que hay una gran cantidad de servicios asociados a una accion concreta, es posible
describir la forma en que el SO realiza todas sus acciones.
Entiendase a los SSOO como programas guiados por acciones. Un programa guiado por acciones
esta a la espera de un suceso s. Cuando se tienen dichos sucesos, estos son senalados por medio de
interrupciones. Entonces, en un sistema operativo existen distintos tipos de interrupciones:
1. Interrupciones de Entrada y Salida: En gran medida, los eventos que cualquier SO operativo
debe controlar son las interrupciones de E/S. Un dispositivo de entrada y salida puede generar
interrupciones al momento de finalizar una peticion del mismo tipo.
15
Cuando se ha dado inicio a una operacion de E/S pueden suceder dos cosas, que se tenga que
esperar la finalizacion de E/S a fin de devolver el control al programa de usuario o devolver
el control al dicho programa sin esperar que termine E/S.
Para el primer caso, dicha espera puede realizarse de dos formas, la detencion de la CPU
hasta la siguiente interrupcion o la creacion de un bucle que espera la aparicion de dicha
interrupcion.
2. Excepciones: Cuando se da lugar a un error de programa, el SO se ve en la obligacion de finali-
zar de forma abrupta y anormal, imprimiendo en pantalla el mensaje de error correspondiente
y entregando el control a la unidad correspondiente.
3. Llamadas de usuario: Cuando ocurre una llamada al sistema, es necesario generar una in-
terrupcion en la CPU, dicha interrupcion para el programa de usuario. Lo que se busca es
extender el control al SO. Todas las llamadas cuentan con un fragmento de codigo particular
que busca realizar la accion correspondiente.
Finalmente, el soporte estructural de un SO esta representado por la siguiente figura:
Figura 5: Estructura de un SO.
La ( extended machine) es el resultante de agregar a las instrucciones de la bare machine dichas
instrucciones especiales. Toda esta informacion se encuentra en el nucleo del SO por lo que evi-
dentemente cada capa posterior al nucleo puede hacer uso de ella. La capa de gestion de memoria
es la encargada de realizar operaciones de liberacion, asignacion y control de memoria. La capa
de E/S permite la interaccion entre procesos y dispositivos. El sistema de ficheros permite que las
16
operaciones de E/S con los diferentes dicos de almacenamiento, puedan realizarse. Finalmente, se
encuentra el usuario, quien interactua con la maquina a traves de un interprete de comandos.
17
6. FUNCIONES DE UN SISTEMA OPERATIVO
Como se dijo anteriormente, las funciones de los sistemas operativos son Administrar, Coordinar
y organizar. Sin embargo es posible profundizar mas y definir las siguientes:
Gestion de procesos.
Gestion de memoria.
Gestion de archivos.
6.1. Gestion de procesos.
A sabiendas de que los programas son un conjunto de datos almacenados en un disco de almace-
namiento cuya funcionalidad es nula por si solos se puede decir que los procesos pueden crearse
de varias formas. Cuando es iniciado el SO este ejecutan paralelamente procesos necesarios para
llevar a cabo distintas tareas requeridas para el arranque de la maquina. Otra forma para crear
procesos es la digitacion e algun comando o la seleccion de algun icono en la Interfaz del SO.
Ası como existen formas de crear procesos, los SO tambien cuentan con formas de eliminar o cerrar
dichos procesos. En primer lugar, se tiene la ejecucion normal del proceso, errores en la ejecucion
y peticiones del usuario a traves de comandos o iconos.
Cuando un proceso se ejecuta, el SO le asigna un espacio y lo agrega a una matriz conocida
como tabla de procesos. Esta tabla contiene datos de cada uno de los procesos en ejecucion. A
continuacion se nombran los campos de la tabla:
Identificacion de procesos: Codigo para identificar los procesos de forma unica = PID (Process
ID).
Informacion del estado del proceso: Preparado, bloqueado o en ejecucion.
Direccion de memoria: Espacio de memoria en donde esta almacenado o cargado el proceso.
Directorio de trabajo: Direcctorio de usuario que esta ejecutando el programa o aplicacion.
Tiempo de procesamiento: Tiempo que ha empleado la CPU para ejecutar dicho proceso.
18
6.2. Gestion de memoria.
El SO tambien gestiona la memoria principal por medio del administrador de memoria. La principal
funcion es llevar un registro de los espacios de memoria que estan siendo o no usados, asignar
espacios de memoria no usados y liberar espacios que estan siendo usados por procesos finalizados.
Algunos de los metodos usados actualmente para la gestion de memoria se relacionan a continua-
cion:
1. En los sistemas operativos monotarea, la memoria es dividida en dos partes. La primera parte
esta asignada unicamente al SO y la segunda parte a los diferentes procesos que pueden tener
lugar en el uso de la maquina. Es importante garantizar la proteccion y el no acceso al espacio
de memoria destinado al SO.
2. El segundo metodo esta destinado a SO multitarea. A cada programa o proceso en ejecucion
se le asigna un espacio de memoria denominado particion. Existen tambien, dos registros
encargados de proteger las asignaciones de espacios. El registro base se cara con la direccion
fısica asociada al inicio del programa y el registro limite carga la longitud total de dicho
programa.
3. La tercera tecnica es conocida como intercambio o swapping. Esa tecnica consiste en inter-
cambiar los procesos entre la memoria principal y los dispositivos de almacenamiento auxiliar.
Hay que garantizar que dicho intercambio sea rapido ya que si no lo es el rendimiento de la
maquina se vera directamente afectado.
4. La paginacion conjunto a la segmentacion hace parte de la cuarta tecnica. Esta tecnica con-
siste en ubicar los programas en forma no contigua. Para este tipo de ubicacion es necesario
garantizar una cantidad de memoria libre mayor o igual a la necesitada. Generalmente pa-
ra realizar paginacion, se hace necesario el uso de HW dedicado a traducir directorios. La
traduccion del numero de pagina o segmento es realizado en una tabla de paginacion.
5. La tecnica mas general para la gestion t de memoria es la memoria virtual. Permite la
ejecucion de programas que no esten almacenados totalmente en memoria. Esta tecnica es
usada en SO multitarea. El SO debe encararse de la ejecucion correcta y exitosa de todos los
procesos.
6.3. Gestion de archivos.
La memoria usada por el SO tiene limitaciones en cuanto a volatilidad de datos y poco espacio
de almacenamiento. La solucion a estos inconvenientes es el uso de dispositivos no volatiles como
19
Discos Duros y discos opticos. El almacenamiento de la informacion se realiza a traves de ficheros
o archivos. Recordando, un archivo es un conjunto de datos almacenados en dispositivos (POR
EJEMPLO, IMAGENES). El sistema de archivos es el medio por el cual el SO gestiona los archivos.
Dos de las caracterısticas de los sistemas de archivos son:
Cada SO utiliza su propio sistema de archivos.
Un SO con un sistema de archivos determinado, no tiene por que leer otro sistema de archivos
distinto
Los archivos tienen un nombre y una extension. El nombre es para identificarlo y la extension
especifica el tipo de archivo.
Cuadro 2: Ejemplo y descripcion de algunos sistemas de archivos.Extension Significado.
.doc Archivos creados en Word.gif Formato grafico WEB
.html Formato del lenguaje de marcado usado en diseno WEB.jpeg Formato grafico comprimido.mp3 Formato de audio digital comprimido.txt Formato para archivos de texto plano.zip Formato de compresion
Los directorios o caretas pueden ser de dos tipos: jerarquicos y de un solo nivel. En los directorios
jerarquicos, un directorio principal contiene a otros directorios tambien jerarquicos o de un nivel.
Los directorios de un nivel contienen unicamente archivos.
Cuadro 3: Sistema de archivos de WindowsSistema de archivos Descripcion
FAT - 16
File Allocation table,,es usadopor Windows 95 y 98.
La norma para losnombres y extensiones
de los archivos es de 8 y 3 letras respectivamente.
FAT - 32
Usado en,Windows NT, 2000, XP yVista.
La norma para los nombres de losarchivos es de 255 letras. Permite archivos con tamano inferior a 4Gb.
NTFSNew Technology file System.,Usado
en Windows XP, Vista, 7, 8, 8.1 Y 10.,Permitearchivos con tamanos superiores a 4Gb.
20
Cuadro 4: Sistema de archivos de LinuxSistema de archivos Descripcion
ext2Second Extended filesystem. Permite particiones de
hasta 4Tb y archivos,de hasta 2Gb.Nombres desde archivos con un maximo de 255 letras
ext3
Third extended filesystem. Modificacion de ext2.Permite,hacer un
registro diariode las modificaciones
realizadas en el sistema de archivos.
21
7. PLANIFICACION DE PROCESOS EN SISTEMAS
OPERATIVOS
La planificacion de procesos en los SO es un conjunto de mecanismos o tecnicas ejecutados a traves
de un modulo conocido como planificador. Este modulo se encarga de dar prioridad a algunos
procesos que requieren mayor atencion. Un punto de enfoque que no debe perder el planificador es
el aprovechamiento maximo de los recursos fısicos y logicos del sistema.
La planificacion de procesos tiene 5 objetivos fundamentales:
Rendimiento.
Equidad.
Tiempo de regreso.
Eficacia.
Tiempo de respuesta.
La equidad hace referencia a que todos los procesos, sin importar su grado de prioridad, deben
ser ejecutados. El rendimiento se enfoca en maximizar la cantidad de procesos ejecutados en un
intervalo de tiempo t[i, j]. La eficacia se encarga de garantizar el uso continuo de la CPU; es decir
esta no debe dejar de funcionar en ningun momento. El tiempo de regreso busca minimizar el tiempo
en que se demora el usuario en obtener los resultados de la ejecucion de un proceso determinado.
Por ultimo, de forma muy parecida al tiempo de regreso, el tiempo de respuesta intenta minimizar
el tiempo en que tarda la maquina en atender la solicitud de un usuario.
Existen diversos algoritmos usados para la planificacion de procesos.
1. Primero en llegar primero en ser servido: Se asigna lugares a los procesos en orden de llegada,
por tal motivo en ese mismo orden se ejecutan.
2. Round Robin: A cada proceso se le asigna un tiempo de ejecucion t. t es el mismo para
todos los procesos. Si un proceso no logra ser ejecutado en su totalidad, se terminara dicha
ejecucion cuando el resto de procesos terminen su ejecucion en t.
3. Prioridad al mas corto: . A cada proceso se le asigna el tiempo que usara cuando vuelva a
estar en ejecucion, y se ira ejecutando el que tenga un menor tiempo asignado. Si se da el
caso de que dos procesos tengan igual valor en ese aspecto emplea el algoritmo Primero en
llegar primero en ser servido.
22
4. Planificacion garantizada: Para realizar planificacion con este algoritmo, el sistema tiene en
cuenta el numero de usuarios que deben ser atendidos. Para un numero n de usuarios se
asignara a cada uno un tiempo de ejecucion igual a 1/n.
5. Planificacion por prioridad: En este tipo de planificacion a cada proceso se le asigna una
prioridad siguiendo un criterio determinado. La ejecucion se realiza en funcion de dicho
orden.
6. Planificacion de Colas Multiples: En este algoritmo la cola de procesos que se encuentran
listos para ejecucion, es dividida en un numero determinado de colas mas pequenas. Cada
cola puede manejar un algoritmo de planificacion diferente a las demas.
23
8. SISTEMAS OPERATIVOS ACTUALES.
Actualmente, dos de las distribuciones de SO dominantes en el contexto informatico general son
Windows y Linux. Tambien dominan segun el tipo de plataforma, UNIX Solaris, Android y Mac
OS.
8.1. LINUX
En pocas palabras: Linux es el kernel de un sistema operativo libre que sirve como una sustitucion
de Windows o Mac OS. Windows y Mac OS son programas privativos, que estan disponibles para
la venta y los usuario no pueden modificar el funcionamiento de estos sistemas operativos. El
kernel de Linux y las aplicaciones GNU que se ejecutan en este sistema operativo alternativo son
(generalmente) disponibles de forma gratuita y libre de ser modificado por el usuario o cualquier
otra comunidad de programadores.
Las distribucion de Linux, tambie conocidas coloquialmente como distros, son una distribucion de
software basada en el nucleo Linux que incluye determinados paquetes de software para satisfa-
cer las necesidades de un grupo especıfico de usuarios, dando ası origen a ediciones domesticas,
empresariales y para servidores.
Cuadro 5: Distribuciones populares de LinuxPuesto Distribucion
1 Ubuntu2 Fedora3 Mint4 openSUSE5 Mandriba6 Debian7 PcLinuxOS8 Sabayon9 Arch10 Puppy
24
8.1.1. UBUNTU
Ubuntu es un sistema operativo de codigo abierto basado en GNU/Linux que incluye Unity, su
propio entorno de escritorio, y se distribuye como Software Libre.
Ubuntu, cuyo nombre procede del concepto sudafricano homonimo que significa ‘humanidad hacia
otros‘, esta predominantemente enfocado a la facilidad de uso e instalacion, la libertad de los
usuarios y las actualizaciones periodicas (cada 6 meses).
Figura 6: Logo de Ubuntu.
8.1.2. WINDOWS
Windows significa en ingles “ventanas”. Esto en representacion de su su interfaz (permite las inter-
comunicaciones entre programas o entre el programa y el usuario) basado en ventanas desplegables
y superpuestas, que muestran diferentes contenidos. Posee una barra de tareas, y un panel de
control.
Es el conjunto de sistemas operativos graficos de mayor uso mundial, desarrollado por la empresa
Microsoft, a partir de 1980, para computadoras, con varias versiones, para particulares, empresas,
computadoras portatiles y telefonos inteligentes.
Es un SO privativo, lo que significa que hay que pagar por su uso y estan prohibidas las modifica-
ciones del mismo.
25
Figura 7: Logo de Windows.
8.1.3. Windows Vs Linux
Los sistemas operativos de Microsoft tienen la mayor compatibilidad entre sus competidores, ası
como el soporte tecnico mas eficiente dado a su alto grado de uso. Igualmente estos SO tienen
el mayor potencial de obtencion de virus, sin embargo esto puede evitarse haciendo uso de un
programa anti-virus. Asimismo, Windows reserva la mayor parte de memoria de la computadora
para su operacion.
En cuestion de interfaz, Linux siempre ha superado a Windows. Si embargo, en lo ultimos anos
Microsoft a intentado dar mejoras a la interfaz de sus SO a fin de hacerlos mas intuitivos y a la
vez llamativos para el usuario.
26
9. Conclusion.
Los SO son de gran importancia, ya que permiten la interaccion entre usuarios y maquinas. De
no ser por ello, las computadoras, y en general los dispositivos tecnologicos nos serian de utilidad
ya que de por sı, el HW solo no tiene mayor uso. Las tendencias de estos sistemas, son la mayor
productividad y ligereza. Ası mismo se trabaja en la creacion de SO multiplataforma, capaces
de corren en gran variedad de dispositivos sin necesidad de realizar grandes alteraciones en su
configuracion. Ejemplos de So multiplataforma son el reciente Windows 10 y Ubuntu en versiones
superiores a 12.0. Windows 10 es capaz de corren en pc, telefonos, tabletas e incluso televisores. En
el diseno de SO es importante definir adecuadamente el trato que se dara a los diferentes procesos.
Este trato depende del enfoque que se quiera dar el SO, es decir para que sera usado. Finalmente,
la eleccion de un SO tambien depende del uso, necesidad o problema que se quiera solventar con
el. Existen gran variedad de opciones en el mercado unas privativas y otras no. Las plataformas
privativas a causa del efecto demandan – oferta, tienen una mayor compatibilidad respecto a
aplicaciones soportadas. Sin embargo las plataformas de codigo abierto, como son la mayorıa de
SO basados en Linux, tienen mayor rendimiento lo que es util para usuarios que demandan eficiencia
y fluidez.
27
Indice de figuras
1. Ejemplo de SO Monotarea: DOS de Windows. . . . . . . . . . . . . . . . . . . . . . 8
2. Ejemplo de SO Multitarea: Windows 10. . . . . . . . . . . . . . . . . . . . . . . . . 9
3. Ejemplo de SO Multiusuario: Windows Server. . . . . . . . . . . . . . . . . . . . . 11
4. Ejemplo de SO para Computadoras Personales: Ubuntu. . . . . . . . . . . . . . . . 13
5. Estructura de un SO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6. Logo de Ubuntu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7. Logo de Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
28
Indice de cuadros
1. Cuadro comparativo entre tipos de servicios. . . . . . . . . . . . . . . . . . . . . . 15
2. Ejemplo y descripcion de algunos sistemas de archivos. . . . . . . . . . . . . . . . 20
3. Sistema de archivos de Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4. Sistema de archivos de Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5. Distribuciones populares de Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
29
Referencias
[1] Andrew Tanembaum Sistemas operativos modernos Pretince Hall - 2003
[2] Ida M. Flynn Sistemas Operativos.Cengage Learning - 2005
[3] Pablo Martınez Cobo, Manuel Cabello Requena, Juan Carlos Dıaz Martin Sistemas operativos:
teorıa y practica. Diaz de Santos 1997.
[4] Tom Carpenter Microsoft Windows Operating System Essentials. SyBEX 2000.
[5] - Sistemas Operativos — Planificacion de procesos http://sistop.gwolf.org/html/03
planificacion de procesos.html
30