Professional Documents
Culture Documents
Lo primero que debemos hacer es conocer qu necesita la aplicacin para que funcione
adecuadamente en el ordenador, es decir, qucaractersticas o requisitos
necesarios tendr que tener el sistema informtico. Cada desarrollador crea sus aplicaciones
enfocadas a plataformas concretas, con unas necesidades de hardware y software necesarias
para su funcionamiento. Una aplicacin creada para una plataforma no podr ser instalada en
otra distinta. Tampoco podr ser instalada la aplicacin si nuestro sistema informtico no
cumple losrequisitos mnimos. Antes de proceder a la instalacin de una aplicacin tendr
que reunir la informacin sobre el hardware de su ordenador y deber verificar que su
hardware le permite realizar el tipo de instalacin que desea efectuar. Las caractersticas
para que la aplicacin seejecute adecuadamente pueden ser de naturaleza hardware:
Y de carcter software:
Equipo bsico.
Equipo opcional.
Equipo en red.
Qu supone cada uno de los niveles anteriores? Veamos las caractersticas de cada nivel de
requisitos software a travs de la siguiente presentacin:
1.2.- Requisitos e instalacin: Ejecucin del programa de instalacin.
Ejecucin del programa de instalacin
Por la instalacin de un programa o aplicacin informtica entendemos el conjunto de pasos
que nos van a permitir copiar los archivos necesarios, configurar, implantar y poner en
funcionamiento una aplicacin en un sistema informtico.
La mayora de las aplicaciones presentan dos niveles en funcin de los conocimientos del
usuario:
Instalacin bsica
Instalacin personalizada o avanzada
Instalacin bsica: Este nivel est diseado para usuarios con pocos conocimientos
informticos. El programa realizar una instalacin en funcin de los elementos que detecte en
el equipo y segn unos parmetros bsicos establecidos por defecto por el fabricante.
Instalacin personalizada o avanzada: Permite al usuario experto incluir o eliminar
elementos de la aplicacin con el fin de optimizar los recursos sistema informtico, instalando
slo aquellos elementos de la aplicacin que se van a utilizar. Por ejemplo, la instalacin
personalizada del paquete Microsoft Office permite elegir los programas a instalar (Microsoft
Word, Excel, PowerPoint, Frontpage, etc.).
Cuando se adquiere una aplicacin informtica, nos encontramos con un grupo de manuales y
de DVDs o CDs. La aplicacin se encuentra normalmente en formato comprimido. El traspaso
del programa al soporte de almacenamiento de nuestro ordenador, normalmente el disco duro,
se realiza a travs del programa de instalacin (su nombre puede ser setup, install, instalar,
etc.), y es el encargado de extraer los bloques de la aplicacin de los discos,
descomprimindolos si es necesario; crear la estructura de directorios necesaria, ubicar
los archivos de la aplicacin donde corresponda, y, si fuera necesario, modificar el registro
del sistema.
En la actualidad, la mayora de los fabricantes distribuyen tambin sus aplicaciones en formato
DVD, CD o con posibilidad de descarga de los archivos de instalacin o enimgenes ISO (por
ejemplo: muchas distribuciones de Linux pueden descargarse en este formato).
1.3.- Requisitos e instalacin: Configuracin de la aplicacin.
Configuracin de la aplicacin
Una vez realizado correctamente el proceso de instalacin slo queda configurar las opciones
de la aplicacin, a veces tambin del sistema operativo, y configurar el entorno de trabajo. En
la configuracin se pueden modificar los parmetros establecidos por defecto para la aplicacin.
Algunas aplicaciones pueden generar una serie de archivos de configuracin con los datos
introducidos por los usuarios. El usuario debe realizar una ltima tarea antes de comenzar a
utilizar la aplicacin: configurar el entorno de trabajo. Esto consiste en definir una serie de
parmetros de funcionamiento que adecuen el funcionamiento de la aplicacin a las exigencias
del usuario. Este proceso se realizar en el caso que no sea satisfactoria la configuracin
establecida por defecto por el programa. Entre estos parmetros aparecen:
Aplicaciones
de
propsito
general:
Se emplean para el desempeo de funciones no especficas (informes, documentos,
presentaciones, grficos, hojas de clculo, etc.). Se suelen comercializar en paquetes integrados
denominados suites, tales como: Microsoft Office, OpenOffice, StarOffice, Lotus SmartSuite, etc.
y se componen de:
Gestin de texto:
Autoevaluacin
Un antivirus y un entorno de desarrollo para programacin son ejemplos de:
Aplicaciones de propsito especfico.
Aplicaciones de propsito general.
Aplicaciones de propsito especfico y general, respectivamente.
Aplicaciones de propsito general y especfico, respectivamente.
Para saber ms
Conoce las posibilidades que te ofrecen las aplicaciones portables. Puedes llevarlas en tu
memoria USB y utilizarlas donde y cuando quieras, sin necesidad de instalacin. Para ello, visita
este enlace:
Portable Apps (Aplicaciones portables)
Comenzaremos definiendo algunos conceptos clave para entender gran parte de lo que rodea
a las licencias software.
En primer lugar, las licencias software nos sirven para establecer un contrato
entre el autor de una aplicacin software (sometido a propiedad intelectual y a derechos de
autor) y el usuario. En el contrato se definen con precisin los derechos y deberes de
ambas partes, es decir, los actos de explotacin legales.
Por otra parte, entendemos por derecho de autor o copyright la forma de proteccin
proporcionada por las leyes vigentes en la mayora de los pases para los autores de
obras originales incluyendo obras literarias, dramticas, musicales, artsticas e intelectuales,
tanto publicadas como pendientes de publicar.
Pueden existir tantas licencias como acuerdos concretos se den entre el autor y el usuario.
Distinguimos varios tipos de software o licencias en funcin de lo limitadas que estn las
acciones del usuario sobre el mismo:
Software propietario.
Software libre.
Software semilibre.
Software de dominio pblico.
Software con copyleft.
Software propietario
Se trata del software cuya redistribucin o modificacin estn prohibidos o necesitan una
autorizacin. Los usuarios tienen limitadas las posibilidades de usarlo, modificarlo o
redistribuirlo (con o sin modificaciones), o su cdigo fuente no est disponible, o el acceso a
ste se encuentra restringido. As, cuando el usuario adquiere una licencia software propietario
lo que se le otorga es el derecho de uso de la aplicacin.
En el software propietario o no libre una persona fsica o jurdica (compaa, corporacin,
fundacin, etc.) posee los derechos de autor sobre un software, negando o no otorgando, al
mismo tiempo, los derechos de usar el programa con cualquier propsito; de estudiar cmo
funciona el programa y adaptarlo a las propias necesidades (donde el acceso al cdigo
fuente es una condicin previa); de distribuir copias; o de mejorar el programa y hacer pblicas
las mejoras (para esto el acceso al cdigo fuente es un requisito previo).
De esta manera, un software sigue siendo no libre an si el cdigo fuente es hecho pblico,
cuando se mantiene la reserva de derechos sobre el uso, modificacin o distribucin (por
ejemplo, el programa de licencias Shared source, de cdigo abierto para uso acadmico de
Microsoft).
1.5.- Licencias software (I).
Caso prctico
Comenzaremos definiendo algunos conceptos clave para entender gran parte de lo que rodea
a las licencias software.
En primer lugar, las licencias software nos sirven para establecer un contrato
entre el autor de una aplicacin software (sometido a propiedad intelectual y a derechos de
autor) y el usuario. En el contrato se definen con precisin los derechos y deberes de
ambas partes, es decir, los actos de explotacin legales.
Por otra parte, entendemos por derecho de autor o copyright la forma de proteccin
proporcionada por las leyes vigentes en la mayora de los pases para los autores de
obras originales incluyendo obras literarias, dramticas, musicales, artsticas e intelectuales,
tanto publicadas como pendientes de publicar.
Pueden existir tantas licencias como acuerdos concretos se den entre el autor y el usuario.
Distinguimos varios tipos de software o licencias en funcin de lo limitadas que estn las
acciones del usuario sobre el mismo:
Software propietario.
Software libre.
Software semilibre.
Software de dominio pblico.
Software con copyleft.
Software propietario
Se trata del software cuya redistribucin o modificacin estn prohibidos o necesitan una
autorizacin. Los usuarios tienen limitadas las posibilidades de usarlo, modificarlo o
redistribuirlo (con o sin modificaciones), o su cdigo fuente no est disponible, o el acceso a
ste se encuentra restringido. As, cuando el usuario adquiere una licencia software propietario
lo que se le otorga es el derecho de uso de la aplicacin.
En el software propietario o no libre una persona fsica o jurdica (compaa, corporacin,
fundacin, etc.) posee los derechos de autor sobre un software, negando o no otorgando, al
mismo tiempo, los derechos de usar el programa con cualquier propsito; de estudiar cmo
funciona el programa y adaptarlo a las propias necesidades (donde el acceso al cdigo
fuente es una condicin previa); de distribuir copias; o de mejorar el programa y hacer pblicas
las mejoras (para esto el acceso al cdigo fuente es un requisito previo).
De esta manera, un software sigue siendo no libre an si el cdigo fuente es hecho pblico,
cuando se mantiene la reserva de derechos sobre el uso, modificacin o distribucin (por
ejemplo, el programa de licencias Shared source, de cdigo abierto para uso acadmico de
Microsoft).
1.5.- Licencias software (I).
Caso prctico
Mara, como asesora en la implantacin de aplicaciones software, prefiere la opcin
de software libre, siempre que sea posible y el cliente est de acuerdo. Sin
embargo, Juan parece decantarse por la alternativa de software propietario que, segn su
Comenzaremos definiendo algunos conceptos clave para entender gran parte de lo que rodea
a las licencias software.
En primer lugar, las licencias software nos sirven para establecer un contrato
entre el autor de una aplicacin software (sometido a propiedad intelectual y a derechos de
autor) y el usuario. En el contrato se definen con precisin los derechos y deberes de
ambas partes, es decir, los actos de explotacin legales.
Por otra parte, entendemos por derecho de autor o copyright la forma de proteccin
proporcionada por las leyes vigentes en la mayora de los pases para los autores de
obras originales incluyendo obras literarias, dramticas, musicales, artsticas e intelectuales,
tanto publicadas como pendientes de publicar.
Pueden existir tantas licencias como acuerdos concretos se den entre el autor y el usuario.
Distinguimos varios tipos de software o licencias en funcin de lo limitadas que estn las
acciones del usuario sobre el mismo:
Software propietario.
Software libre.
Software semilibre.
Software de dominio pblico.
Software con copyleft.
Software propietario
Se trata del software cuya redistribucin o modificacin estn prohibidos o necesitan una
autorizacin. Los usuarios tienen limitadas las posibilidades de usarlo, modificarlo o
redistribuirlo (con o sin modificaciones), o su cdigo fuente no est disponible, o el acceso a
ste se encuentra restringido. As, cuando el usuario adquiere una licencia software propietario
lo que se le otorga es el derecho de uso de la aplicacin.
En el software propietario o no libre una persona fsica o jurdica (compaa, corporacin,
fundacin, etc.) posee los derechos de autor sobre un software, negando o no otorgando, al
mismo tiempo, los derechos de usar el programa con cualquier propsito; de estudiar cmo
funciona el programa y adaptarlo a las propias necesidades (donde el acceso al cdigo
fuente es una condicin previa); de distribuir copias; o de mejorar el programa y hacer pblicas
las mejoras (para esto el acceso al cdigo fuente es un requisito previo).
De esta manera, un software sigue siendo no libre an si el cdigo fuente es hecho pblico,
cuando se mantiene la reserva de derechos sobre el uso, modificacin o distribucin (por
ejemplo, el programa de licencias Shared source, de cdigo abierto para uso acadmico de
Microsoft).
1.5.2- Ejemplos de software libre.
Veamos algunos ejemplos de aplicaciones de software libre:
Autoevaluacin
La libertad de usar una aplicacin de software libre cualquiera que sea su propsito
es una de las libertades de este tipo de software, adems de:
Redistribuir copias.
Conocer como est construida la aplicacin.
Las dos anteriores son ciertas.
Ninguna de las anteriores es cierta.
OpenOffice y KOffice son:
Suites ofimticas.
Software semilibre.
Software libre.
La primera y tercera respuestas son ciertas.
Para saber ms
Descubre ms sobre la filosofa del software libre de una manera amena y visual visitando este
mapa conceptual:
Mapa conceptual del software libre
Conoce ms a fondo la proteccin legislativa de los programas de ordenador en Espaa:
R.D. 1/1996, de Propiedad Intelectual
2.- Sistemas Operativos.
Caso prctico
En BK Programacin, los protagonistas de nuestra historia deben conocer a fondo todos los
productos que el mercado ofrece en cuanto a software de sistema, y as aconsejar con
garantas cul se adecua mejor a las necesidades y situaciones que su clientela le pueda
plantear.
Juan dice que deben conocer a fondo la teora en la que estn basados los desarrollos de los
sistemas operativos. Conociendo como funcionan los sistemas por dentro podrn llegar a ser
unos buenos profesionales con criterio propio, capaces de valorar las caractersticas de cada
sistema. Y lo que es ms importante, conociendo los entresijos de las mquinas y el software
que van a utilizar podrn sacarles el mximo partido.
En BK Programacin existen diferentes posturas como vinos en un apartado anterior. Esa es la
razn de que no se cierren a ninguna opcin, por ello, la empresa cuenta con personal
especializado en sistemas Linux y para los sistemas Windows de Microsoft y Mac de Apple.
En BK Programacin conocen la importancia de estar al da de los productos software del
mercado y los nuevos que aparecern. Para comprender y valorar lo particular de estos
productos deben conocer antes lo general. Por lo que tanto Juan como Mara estn al da de
estos conocimientos tcnicos para saber comparar las posibilidades que un sistema ofrece
frente a otro.
En este apartado introduciremos gran parte de la teora en la que estn basados los sistemas
operativos actuales. El sistema operativo es un conjunto de programas que se encarga
de gestionar los recursos hardware y software del ordenador, por lo que acta como una
interfaz entre los programas de aplicacin del usuario y el hardware puro.
2.1.- Concepto y objetivos de los sistemas operativos.
Los principales objetivos de los sistemas operativos son:
Sabes cmo han ido cambiando los sistemas operativos desde sus inicios? Resulta
interesante conocer la evolucin histrica que han sufrido los sistemas operativos para
comprender mejor las caractersticas que explicaremos ms adelante. Lee este interesante
documento:
Evolucin histrica de los sistemas operativos
Autoevaluacin
El procesamiento por lotes aparece durante:
La 1 generacin.
La 2 generacin.
La 3 generacin.
10
La 4 generacin.
Los sistemas operativos en red y distribuidos aparecen durante:
La 1 generacin.
La 2 generacin.
La 3 generacin.
La 4 generacin.
Para saber ms
Quieres conocer cmo se crearon dos de las empresas ms importantes de informtica, Apple
Computer y Microsoft? Visita este interesante enlace:
Evolucin histrica del PC (1.18 MB)
2.2.- Tipos de sistemas operativos (I).
Ahora vamos a clasificar los sistemas operativos en base a su estructura, servicios que
suministran y por su forma.
Monolticos
Monousuario
Jerrquicos
Multiusuario
Mquina Virtual
Monotarea
Microkernel o Cliente-Servidor
Multitarea
Monolticos
Por su forma
Sistema operativo en red
Monoprocesador
Multiprocesador
Jerrquicos: Conforme las necesidades de los usuarios aumentaron, los sistemas operativos
fueron creciendo en complejidad y funciones. Esto llev a que se hiciera necesaria una mayor
organizacin del software del sistema operativo, dividindose en partes ms pequeas,
diferenciadas por funciones y con una interfaz clara para interoperar con los dems elementos.
Un ejemplo de este tipo de sistemas operativos fue MULTICS.
11
Monousuario: Son aquellos que soportan a un usuario a la vez, sin importar el nmero de
procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Ejemplos de
sistemas operativos de este tipo son MS-DOS, Microsoft Windows 9x y ME, MAC OS, entre
otros.
Multiusuario: Son capaces de dar servicio a ms de un usuario a la vez, ya sea por medio de
varios terminales conectadas al ordenador o por medio de sesiones remotas en una red de
comunicaciones. No importa el nmero de procesadores en la mquina ni el nmero de
procesos que puede ejecutar cada usuario simultneamente. Algunos ejemplos sern UNIX,
GNU/Linux, Microsoft Windows Server o MAC OS X.
Monotarea: Slo permiten una tarea a la vez por usuario. Se puede dar el caso de un sistema
multiusuario y monotarea, en el cual se admiten varios usuarios simultneamente pero cada
uno de ellos puede ejecutar slo una tarea en un instante dado. Ejemplos de sistemas
monotarea son MS-DOS, Microsoft Windows 3.x y 95 (estos ltimos slo simulan la multitarea).
Multitarea: Permite al usuario realizar varias tareas al mismo tiempo. Algunos ejemplos son
MAC OS, UNIX, Linux, Microsoft Windows 98, 2000, XP, Vista y 7.
Monoprocesador: Es aquel capaz de manejar slo un procesador, de manera que si el
ordenador tuviese ms de uno le sera intil. MS-DOS y MAC OS son ejemplos de este tipo de
sistemas operativos.
Multiprocesador: Un sistema operativo multiprocesador se refiere al nmero de procesadores
del sistema, ste es ms de uno y el sistema operativo es capaz de utilizarlos todos para
distribuir su carga de trabajo. Estos sistemas trabajan de dos formas: simtricamente (los
procesos son enviados indistintamente a cualquiera de los procesadores disponibles)
yasimtricamente (uno de los procesadores acta como maestro o servidor y distribuye la
carga de procesos a los dems).
2.2.2.- Tipos de sistemas operativos (III).
Sistemas operativos por su forma
Sistemas operativos en red: Estos sistemas tienen la capacidad de interactuar con los
sistemas operativos de otras mquinas a travs de la red, con el objeto de intercambiar
12
informacin, transferir archivos, etc. La clave de estos sistemas es que el usuario debe conocer
la ubicacin de los recursos en red a los que desee acceder. Los sistemas operativos modernos
ms comunes pueden considerarse sistemas en red, por ejemplo: Novell, Windows Server,
Linux, etc.
Sistemas operativos distribuidos: Abarcan los servicios de red, las funciones se distribuyen
entre diferentes ordenadores, logrando integrar recursos (impresoras, unidades de respaldo,
memoria, procesos, etc.) en una sola mquina virtual que es a la que el usuario accede de
forma transparente. En este caso, el usuario no necesita saber la ubicacin de los recursos, sino
que los referencia por su nombre y los utiliza como si fueran locales a su lugar de trabajo
habitual. MOSIX es un ejemplo de estos sistemas operativos.
Autoevaluacin
Los sistemas operativos segn su estructura se dividen en:
Monolticos, Jerrquicos, Monotarea y Multitarea.
Monolticos, Jerrquicos, Microkernel y en red.
Monolticos, Jerrquicos, Microkernel y Mquina virtual.
Monolticos, Jerrquicos, Mquina virtual, Microkernel y Distribuidos.
Windows Server y Linux se consideran:
Sistemas operativos distribuidos.
Sistemas operativos multiusuario.
Sistemas operativos en red.
La segunda y tercera respuestas son ciertas.
Para saber ms
Echa un vistazo a esta interesante comparativa entre Windows Vista y Ubuntu:
Windows Vista y Ubuntu (1.74 MB)
2.3.- Servicios de los sistemas operativos.
El sistema operativo necesita administrar los recursos para tener control sobre las funciones
bsicas del ordenador. Pero, cules son los recursos que gestiona el sistema
operativo? Los principales recursos que administra el sistema operativo son:
El procesador.
La memoria.
Los dispositivos de entrada/salida.
El sistema de archivos.
Ncleo
Para gestionar todos estos recursos, existe una parte muy importante del sistema
operativo, el ncleo o kernel. El ncleo normalmente representa slo una pequea parte
de todo lo que es el sistema operativo, pero es una de las partes que ms se utiliza. Por
13
esta razn, el ncleo reside por lo general en la memoria principal, mientras que otras
partes del sistema operativo son cargadas en la memoria principal slo cuando se necesitan.
Resumiendo, el ncleo supone la parte principal del cdigo de un sistema operativo y se
encarga de controlar y administrar los servicios y peticiones de recursos. Para ello se
divide en distintos niveles:
Gestin
Gestin
Gestin
Gestin
de procesos
de memoria
de la entrada/salida (E/S)
del Sistema de archivos
Autoevaluacin
Los servicios principales que presta un sistema operativo son:
Gestin del procesador, gestin de memoria y de entrada/salida.
Gestin del procesador, gestin de memoria, de Entrada/Salida y del Sistema de archivos.
Gestin del procesador y gestin de memoria.
3.- Gestin de procesos.
Caso prctico
Ana y Carlos tienen
dudas
sobre
lo
que
afecta
a
la
eficiencia
de
un
ordenador. Mara y Juan les explican que el rendimiento efectivo de un ordenador no slo se
basa en sus prestaciones hardware, sino tambin en el software que se ejecute y en el tipo de
carga de trabajo que procese. La ejecucin de los distintos programas que se lanzan en un
equipo se traduce en multitud de procesos que requieren recursos. Uno de los principales
recursos del ordenador es el procesador.
Mara y Juan le comentan a Ana y Carlos con ms de detalle en qu consiste la gestin de
procesos y que opciones existen.
Entre las principales tareas del sistema operativo est la de administrar los procesos del
sistema.
A qu nos referimos cuando hablamos de procesos?
Un proceso en un programa en ejecucin. Un proceso simple tiene un hilo de
ejecucin (o subproceso), en ocasiones, un proceso puede dividirse en varios subprocesos. Un
hilo es bsicamente una tarea que puede ser ejecutada en paralelo con otra tarea. Por lo que
los hilos de ejecucin permiten a un programa realizar varias tareas a la vez.
En los sistemas operativos modernos los procesos pueden tener diferentes estados, segn el
momento de creacin, si estn en ejecucin, si se encuentran a la espera de algn recurso, etc.
Pero podemos hacer una simplificacin, y un proceso, en un instante dado, puede estar en uno
de los tres estados siguientes:
Listo.
En ejecucin.
Bloqueado.
Los procesos en estado listo son los que pueden pasar a estado de ejecucin si el
planificador del sistema operativo los selecciona, esto es, cuando llegue su turno (segn el
orden de llegada o prioridad).
14
Los procesos en estado de ejecucin son los que se estn ejecutando en el procesador en
un momento dado.
Los procesos que se encuentran en estado bloqueado estn esperando la respuesta de algn
otro proceso para poder continuar con su ejecucin, por ejemplo una operacin de
entrada/salida.
El sistema operativo sigue la pista de en qu estado se encuentran los
procesos, decide qu procesos pasan a ejecucin, cules quedan bloqueados, en
definitiva, gestiona los cambios de estado de los procesos. Los procesos pueden
comunicarse entre s o ser independientes. En el primer caso, los procesos necesitarn
sincronizarse y establecer una serie de mecanismos para la comunicacin; por ejemplo, los
procesos que pertenecen a una misma aplicacin y necesitan intercambiar informacin. En el
caso de procesos independientes estos, por lo general, no interactan y un proceso no requiere
informacin de otros.
3.1.- Planificacin del procesador.
En la planificacin del procesador se decide cunto tiempo de ejecucin se le asigna a
cada proceso del sistema y en qu momento. Si el sistema es monousuario y monotarea
no habr que decidir, pero en el resto de los sistemas multitarea esta decisin es fundamental
para el buen funcionamiento del sistema, ya que determinar la correcta ejecucin de los
distintos programas de aplicacin que se estn ejecutando.
El sistema operativo almacena en una tabla denominada tabla de control de procesos con la
informacin relativa a cada proceso que se esta ejecutando en el procesador. sta es:
Una estrategia de planificacin debe buscar que los procesos obtengan sus turnos de
ejecucin de forma apropiada (momento en que se le asigna el uso de la CPU), junto con
un buen rendimiento y minimizacin de la sobrecarga (overhead) del planificador mismo. En
general, se buscan cinco objetivos principales:
15
En funcin de cmo sean la mayora de los procesos habr algoritmos de planificacin que den
un mejor o peor rendimiento al sistema.
3.2.- Planificacin apropiativa y no apropiativa.
La planificacin no apropiativa (en ingls, no preemptive) es aqulla en la que, cuando a un
proceso le toca su turno de ejecucin, ya no puede ser suspendido; es decir, no se le puede
arrebatar el uso de la CPU, hasta que el proceso no lo determina no se podr ejecutar otro
proceso. Este esquema tiene sus problemas, puesto que si el proceso contiene ciclos
infinitos, el resto de los procesos pueden quedar aplazados indefinidamente. Otro caso puede
ser el de los procesos largos que penalizaran a los cortos si entran en primer lugar.
La planificacin apropiativa (en ingls, preemptive) supone que el sistema operativo puede
arrebatar el uso de la CPU a un proceso que est ejecutndose. En la planificacin
apropiativa existe un reloj que lanza interrupciones peridicas en las cuales el planificador toma
el control y se decide si el mismo proceso seguir ejecutndose o se le da su turno a otro
proceso.
En ambos enfoques de planificacin se pueden establecer distintos algoritmos de planificacin
de ejecucin de procesos. Algunos de los algoritmos para decidir el orden de ejecucin
de los procesos en el sistema son:
En la siguiente animacin puedes conocer ,de forma general, el funcionamiento, ventajas y
desventajas de cada uno de los algoritmos:
Resumen textual alternativo
Autoevaluacin
En el algoritmo "Primero en llegar, primero en ejecutarse":
Su tiempo de respuesta puede ser alto, especialmente si varan mucho los tiempos de
ejecucin.
La sobrecarga del sistema es mnima.
Penaliza los procesos cortos y los procesos con operaciones de Entrada/Salida.
Todas son ciertas.
Dentro de la gestin del procesador, la planificacin no apropiativa de procesos
supone:
Que una vez se asigna la CPU a un proceso ste no puede ser suspendido hasta que el proceso
no lo determina.
Existe un reloj que lanza interrupciones peridicas en las que el planificador toma el control y se
decide a que proceso se le asigna el uso de la CPU.
El algoritmo "Round Robin" corresponde a este tipo de planificacin.
Las respuestas primera y tercera con ciertas.
Para saber ms
16
Quieres saber cmo se comunican y sincronizan entre s los procesos? Visita el siguiente
enlace:
Comunicacin y sincronizacin de procesos (1.77 MB)
4.- Gestin de memoria.
Caso prctico
Ana y Carlos tras entender la importancia de una adecuada gestin de procesos, preguntan:
Qu ocurre con la memoria principal? Cmo la utiliza el sistema operativo para poder
ejecutar los procesos de manera equilibrada? Juan les explica que existen diferentes
posibilidades en la gestin de la memoria que hace el sistema operativo. Pero lo primero es
tener claro ciertos conceptos sobre el uso de la memoria. Juan comienza su explicacin...
Hemos visto en la gestin de procesos que el recurso compartido es el procesador. Sin
embargo, para que un proceso se pueda ejecutar no slo requiere tiempo de procesamiento
sino tambin estar cargado en memoria principal. Esto es as, porque ningn proceso se
puede activar antes de que se le asigne el espacio de memoria que requiere. As, la
memoria se convierte en otro recurso clave que tendr que gestionar el sistema operativo y la
parte encargada de ello se denomina gestor de memoria.
La funcin principal del gestor de memoria es la de asignar memoria principal a los
procesos que la soliciten. Otras funciones sern:
De este modo, la gestin de memoria va a tener que cubrir los siguientes requisitos:
17
Memoria Real
Multitarea
Multitarea
Memoria virtual
paginada
Particiones
Monotarea
Memoria Virtual
Fijas
Variables
Paginacin
pura
Segmentacin
pura
Memoria virtual
segmentada
Combinacin
Relocalizacin
Proteccin
18
En ambos casos, utilizacin de una cola por particin o uso de una nica cola para los procesos,
el gestor de memoria establecer mecanismos para impedir que un proceso pueda
acceder a una zona de memoria que est fuera de la memoria correspondiente a la
particin en la que se encuentra.
Adems de esto, puede surgir el problema de la fragmentacin, la cual se produce, cuando
en la memoria hay reas ocupadas intercaladas con reas libres; es decir, cuando no hay una
nica rea ocupada ni una nica rea libre.
Autoevaluacin
La gestin de la memoria con asignacin de particiones estticas consiste en:
La divisin de la memoria principal en partes fijas de igual tamao.
La divisin de la memoria principal en partes variables de igual tamao.
La divisin de la memoria principal en partes fijas de diferente tamao.
La primera y tercera respuestas son ciertas.
4.2.2.- Asignacin de particiones variables.
19
Autoevaluacin
La memoria virtual hace uso de las tcnicas de
Asignacin de particiones fijas en memoria real.
20
Anteriormente, vimos que una de las funciones del ordenador era procesar la informacin,
dicha informacin la obtiene y muestra a travs de los perifricos. La parte del sistema
operativo que se encarga de este proceso es la gestin de la E/S (entrada/salida). En la
primera unidad estudiamos los perifricos y recordamos que se clasificaban en perifricos:
El sistema operativo hace que los dispositivos se conecten al sistema y realicen sus
funciones de forma adecuada y eficiente. El sistema operativo abstrae de la complejidad
y peculiaridad hardware de cada perifrico para que las aplicaciones de usuario
puedan hacer uso de los perifricos de una manera estandarizada y ms sencilla. El
sistema operativo acta pues como intermediario entre ellos, gracias a
los controladores de dispositivo.
5.1.- Controladores de dispositivo.
Cmo pueden entenderse los programas de aplicacin con los dispositivos
perifricos? Hay multitud de tipos y fabricantes de perifricos, esto conlleva que tanto el
sistema operativo como los fabricantes de perifricos deben estandarizar el acceso a los
dispositivos utilizando lo que se denominan controladores de dispositivos (device
drivers).
21
Spools: Los datos de salida se almacenan de forma temporal en una cola situada
en un dispositivo de almacenamiento masivo (spool), hasta que el dispositivo
perifrico requerido se encuentre libre. De este modo se evita que un programa quede
retenido porque el perifrico no est disponible. El sistema operativo dispone de
llamadas para aadir y eliminar archivos del spool. Se utiliza en dispositivos que no
admiten intercalacin, como ocurre en la impresora, ya que no puede empezar con
otro hasta que no ha terminado.
E/S programada
Con interrupciones
22
E/S programada: la CPU tiene todo el protagonismo ya que inicia y lleva a cabo la
transferencia. Esta tcnica repercute en la velocidad de proceso del
ordenador porque la CPU debe dejar todo lo que est haciendo para ocuparse del
proceso de entrada/salida.
E/S por interrupciones: la CPU ejecuta la transferencia pero el inicio es pedido por el
perifrico que indica as su disponibilidad. La CPU no pregunta a los dispositivos sino
que son estos los que la avisan cuando es necesario.
23
Esta parte del sistema operativo gestiona el servicio de almacenamiento, por lo que permite
crear, modificar, borrar archivos y directorios y para ello utiliza generalmente una estructura
jerrquica.
Cada sistema operativo utilizar su propio sistema de archivos, no obstante las operaciones que
se pueden realizar sobre el sistema de archivos son bastante similares. As, todos los sistemas
de archivos actuales utilizan los directorios o carpetas para organizar a los archivos.
El sistema de archivos es el software que provee al sistema operativo, a los programas
de aplicacin y a usuarios de las funciones para operar con archivos y directorios
almacenados en disco proporcionando mecanismos de proteccin y seguridad.
Los objetivos ms importantes en la implementacin de un sistema de archivos son:
Fcil actualizacin: Los cambios (aadir, borrar y modificar) no deben suponer una
tarea complicada para el usuario y las aplicaciones
Fiabilidad para asegurar la confianza en los datos: Deben proveer sistemas que
aseguren que los datos escritos o ledos (entradas/salidas) sean correctos y fiables.
Tambin se debe minimizar o eliminar la posibilidad de prdida o destruccin de datos.
24
formateo en pistas, sectores, cilindros y platos. Pero esto es muy dependiente del
hardware concreto que se est usando y adems funciona a muy bajo nivel.
Los sistemas de archivos deben proveer una capa de abstraccin que oculte los detalles
puramente hardware al usuario y le permita utilizar el medio de almacenamiento (disco) de
una forma intuitiva y cmoda, por supuesto ms cercana a los hbitos humanos de
organizacin de la informacin. ste es el nivel lgico del sistema de archivos y naturalmente
en el que estamos ms interesados.
A esto se le llama organizacin del sistema de archivos y suele coincidir en todos los
sistemas de archivos actuales, utilizando el esquema de almacenamiento en archivos y la
organizacin en carpetas o directorios.
En qu consisten los archivos y carpetas? y cmo los gestiona el sistema de
archivos?
Archivos: Es el elemento central de la mayora de programas de aplicacin. Los archivos o
ficheros son estructuras de datos en disco donde se almacena la informacin y los programas
de un ordenador. Pueden tener diversas estructuras y ello depender del sistema de archivos
de nuestro sistema operativo y de la extensin del mismo.
Cada archivo de un sistema tendr unas caractersticas, o atributos, que lo identifican y le
sirven al sistema de archivos y al sistema operativo para manejarlo correctamente.
Losatributos pueden variar de un sistema a otro, pero suelen coincidir al menos en los
siguientes:
Nombre: Identificador principal del archivo para el usuario. Cada sistema operativo
establece las reglas para nombrar a los archivos, en cuanto a longitud y caracteres
permitidos.
Extensin: La extensin de un archivo son los caracteres que se colocan al final del
nombre del un archivo para especificar su tipo de contenido. Por ejemplo, la
extensin .TXT indica que el archivo es de texto o la extensin .EXE indica que el
archivo es un programa ejecutable.
Permisos: El sistema de archivos debe controlar qu usuarios estn autorizados a
utilizar cada archivo y que operaciones pueden realizar. Por ejemplo un archivo puede
tener permiso de lectura y escritura para un usuario y en cambio otro usuario solo
podr utilizar el archivo en modo de lectura.
Creador: Identificador del usuario que creo el archivo.
Propietario: Identificador del usuario que es el propietario actual del archivo.
Fecha de creacin: Fecha y hora de la creacin del archivo.
Fecha del ltimo acceso: Fecha y hora del ltimo acceso al archivo.
Fecha de la ltima modificacin: Fecha y hora de la ltima modificacin al archivo.
Tamao actual: Nmero de bytes que ocupa el archivo en el disco duro del
ordenador.
Directorios: Tambin denominados carpetas, son archivos especiales que cumplen la funcin
de almacenar y organizar en su interior a archivos y otros subdirectorios. Son estos los que
permiten mantener una cierta organizacin en el sistema de archivos. La organizacin en
directorios mantiene forma de rbol invertido que comienza por un directorio principal
llamado raz y se va ramificando en otros directorios que pueden contener archivos y otros
directorios. Respecto a los atributos de un directorio, como archivos que son coinciden con
los atributos de estos.
6.2.- Operaciones soportadas por un sistema de archivos.
Las operaciones bsicas sobre archivos que la mayora de los sistemas de archivos soportan
son:
25
Crear: Los archivos se crean sin datos y despus el usuario o alguna aplicacin los van
llenando.
Borrar: Si un archivo ya no es necesario debe eliminarse para liberar espacio e n disco.
Abrir: Antes de utilizar el archivo se debe abrir para que el sistema conozca sus
atributos, tales como el propietario, fecha de modificacin, etc.
Cerrar: Tras realizar las operaciones deseadas sobre el archivo, ste puede cerrarse
para asegurar su integridad y liberar recursos de memoria que tuviera asignados.
Leer: Los datos se leen del archivo; quien hace la llamada (programa) debe
especificar la cantidad de datos necesarios y proporcionar unbuffer para colocarlos.
Escribir: Los datos se escriben en el archivo. El tamao del archivo puede
aumentar si se agregan datos nuevos o no si lo que se hace es actualizar los existentes.
Renombrar: Permite modificar el atributo nombre de un archivo ya existente.
Autoevaluacin
Son objetivos de los sistemas de archivos
Optimizar el rendimiento mediante un acceso rpido cuando se recupera informacin.
Mantenimiento sencillo.
Fiabilidad para asegurar la confianza en los datos.
Todas son ciertas.
La ruta de acceso "..\trabajo\dpto_ventas\informe.doc" es
26
Relativa.
Absoluta.
Corresponde a un sistema Windows.
La primera y tercera respuestas son ciertas.
7.- Mecanismos de seguridad y proteccin.
Caso prctico
Ada, como responsable de la empresa BK Programacin, est muy concienciada de la
relevancia de la seguridad en el mbito informtico. Por ello, los trabajadores de la empresa
estn muy sensibilizados con este tema. Ada decide que es hora de que los nuevos compaeros
que acaban de llegar a la empresa reciban un breve seminario sobre seguridad informtica,
en este caso, centrndose en la relacionada con los sistemas operativos y otros elementos
relacionados. Mara ser la encargada de impartir dicho seminario.
Confidencialidad: Los elementos del sistema slo sern visibles por aquellos usuarios
o grupos autorizados.
Integridad: Los elementos del sistema slo sern modificados por los usuarios o
grupos autorizados.
Disponibilidad: Los elementos del sistema slo estarn disponibles para usuarios y
grupos autorizados.
Hardware.
Software.
Datos.
Lneas de comunicacin.
Pero, cules son las posibles acciones accidentales o malintencionadas sobre los
elementos amenazados?
Confidencialidad
Integridad
Disponibilidad
27
Confidencialidad
Integridad
Disponibilidad
Robo o sobrecarga de
equipos, eliminando el
servicio.
Hardware
Software
Realizacin de copias
no autorizadas del
software.
Alteracin de un
programa en
funcionamiento
hacindolo fallar durante
la ejecucin o hacindolo
que realice alguna tarea
para la que no est
programado.
Eliminacin de
programas,
denegando el acceso
a los usuarios.
Datos
Lecturas de datos no
autorizadas.
Revelacin de datos
ocultos de manera
indirecta por anlisis
de datos estadsticos.
Modificacin de archivos
existentes o invencin de
nuevos.
Eliminacin de
archivos, denegando
el acceso a los
usuarios.
Mensajes modificados,
retardados, reordenados
o duplicados. Invencin
de mensajes falsos.
Destruccin o
eliminacin de
mensajes. Las lneas
de comunicacin o
redes no se
encuentran
disponibles.
Lneas de
comunicacin
Lectura de mensajes.
Observacin de la
muestra de trfico de
mensajes.
Para hacer frente a estas acciones el sistema operativo agrupa la seguridad segn
tres aspectos:
28
una aplicacin. Para ello, echa mano de losmanuales suministrados por el fabricante de
software, tutoriales realizados por usuarios expertos y otros recursos. Juan es un experto en
la bsqueda de este tipo de recursos y se conoce multitud de fuentes: foros de expertos,
sitios web donde otros usuarios vuelcan problemas tcnicos y posibles soluciones a estos.
Incluso, ha creado un repositorio online de manuales con toda la documentacin til
encontrada. Adasabe que la gestin y asesoramiento software de BK Programacin est en
buenas manos.
Todo software con una cierta complejidad suele venir acompaado de una documentacin,
sta puede ser en formato digital o papel. Esta documentacin toma forma en manuales,
tutoriales y dems guas de referencia que sirven para mostrar al usuario cmo se
implanta y utiliza una aplicacin. A continuacin, veremos los tipos de documentacin nos
podemos encontrar:
Consulta
Consulta
Consulta
Consulta
etc.
Autoevaluacin
Cuando se va a implantar una aplicacin corporativa el manual de instalacin y
configuracin de la aplicacin suele ser utilizado por:
Los usuarios finales.
29
30
sistemas de tiempo compartido donde el tiempo del procesador se comparte entre programas
de varios usuarios pudiendo ser programas interactivos. Algunos de los sistemas operativos de
esta generacin son OS/360, CTSS, MULTICS y UNIX.
4 Generacin (1980-hasta hoy)
En esta generacin se producen grandes avances en la industria hardware como la creacin de
los circuitos LSI (integrados a gran escala). Tambin aparecen los ordenadores personales,
entre finales de la anterior generacin y principios de la presente. Ejemplos de sistemas
operativos de los primeros ordenadores personales son MS-DOS, desarrollado
por Microsoft, Inc., para el IBM PC y MacOS de Apple Computer, Inc. Steve Jobs,
cofundador de Apple, apost por la primera interfaz grfica basada en ventanas, iconos,
mens y ratn a partir de una investigacin realizada por Xerox. Siguiendo esta filosofa
aparecera MS Windows. Durante los 90 apareci Linux a partir del ncleo desarrollado por
Linus Torvalds. Los sistemas operativos evolucionan hacia sistemas interactivos con una interfaz
cada vez ms amigable al usuario. Los sistemas Windows han ido evolucionando, con diferentes
versiones tanto para escritorio como para servidor (Windows 3.x, 98, 2000, XP, Vista, 7,
Windows Server 2003, 2008, etc), al igual que lo han hecho Linux (con multitud de
distribuciones, Ubuntu, Debian, RedHat, Mandrake, etc) y los sistemas Mac (Mac OS 8, OS 9,
OS X, Mac OS X 10.6 "Snow Leopard", entre otros).
Un avance importante fue el desarrollo de redes de ordenadores a mediados de los aos 80
que ejecutan sistemas operativos en red y sistemas operativos distribuidos. En un
sistema operativo en red los usuarios tienen conocimiento de la existencia de mltiples
ordenadores y pueden acceder a mquinas remotas y copiar archivos de un ordenador a otro.
En un sistema distribuido los usuarios no saben donde se estn ejecutando sus programas o
dnde estn ubicados sus programas, ya que los recursos de procesamiento, memoria y datos
estn distribuidos entre los ordenadores de la red, pero todo esto es transparente al usuario.
Actualmente, existen sistemas operativos integrados, para una gran diversidad de
dispositivos electrnicos, tales como, telfonos mviles, PDAs (Personal Digital Assistant,
Asistente Digital Personal u ordenador de bolsillo), otros dispositivos de comunicaciones e
informtica y electrodomsticos. Ejemplos de este tipo de sistemas operativos
sonPalmOS, WindowsCE, Android OS, etc. Haremos una referencia especial al ltimo,
Android OS, se trata de un sistema operativo basado en Linux. Fue diseado en un principio
para dispositivos mviles, tales como telfonos inteligentes y tablets, pero actualmente se
encuentra en desarrollo para su aplicacin tambin en netbooks y PCs.
Anexo II.- Gestin de memoria: Tcnicas de memoria virtual.
Paginacin pura
La idea es la de dividir la memoria principal en un conjunto de particiones conocidas
como marcos de pgina de igual tamao. Cada proceso se divide a su vez en una
serie de partes llamadas pginas del mismo tamao que los marcos. El proceso se carga
en memoria situando todas sus pginas en los marcos de pgina de la memoria, sin embargo,
las
pginas
no
tienen
porque
estar
contiguas
en
memoria.
Como
ventaja reduce la fragmentacin externa de la memoria principal. Sin embargo,
puede aparecer cierta fragmentacin interna.
31
proceso se carga situando todos sus segmentos en particiones dinmicas que no tienen que
estar contiguas en memoria. Este sistema reduce la fragmentacin interna de la memoria
principal.
32