Professional Documents
Culture Documents
El primer Sistema Operativo que se us fu el GMOS creado la General Motors en 1950 y a travs de muchos aos los
genios de la informtica de aquellos tiempos, comenzaron a seguir creando ms sistemas operativos logrando dar en
los aos 70 un espectacular salto instalndose en miles y miles de computadoras personales gracias a genios como Bill
Gates, Steve Jobs y Linus Torvalds, los mismos que convirtieron estos Sistemas Operativos a lo que conocemos hoy
como Windows, Mac o Linux.
Es as que resumo esta coleccin de sistemas operativos que nos detalla la infografa que detallo ac ontinuacin, donde
podremos encontrar por dcada, los nombres de estos programas, y como estos evolucionaron y se convirtieron en los
pilares de la informtica y la tecnologa de hoy en da.
1. Ao 1950.- General Motors OS, BESYS, SHARE OS, UMES, GM-NAA I/O.
2. Ao 1960.- Atlas Supervisor, DOS/360, EXEC I., SABRE, OS/360, Master Control Program.
3. Ao 1970.- CP/M, UNIX, Apple, PLATO, PARC, VMS. DOS 3.1.
4. Ao 1980.- PC-DOS, MS-DOS, GNU, Mac OS, Sun OS, OS/400, Windows 1.0, Liso Office System 7/7.
5. Ao 1990.- MAC OS 7.06, Windows 98, Windows 3.1, Red Hat Linux, Mac OS 9, WINDOWS 95, LINUX, Open
BSD, Minix.
6. Ao 2000.- Windows XP, Windows Vista, Windows 2000, Windows 7, UBUNTU, Apple iOS, MAC OS X Snow
Leopard, Google Android.
7. ENSAMBLADORES
8. Ensamblador se refiere a un tipo de programa, informtico que se encarga de traducir un fichero fuente escrito
en un lenguaje ensamblador, a un fichero objeto que contiene cdigo mquina ejecutable directamente por la
mquina para la que se ha generado, en si la funcion de un ensamblador es traducir un programa en lenguaje
de
ensamblador
al
cdigo
correspondiente
Ventajas
lenguaje
para
Mayor
control
de
Independencia
La
en
mayora
las
la
computadoras
maquina.
utilizarlo:
computadora.
de
de
de
lenguaje.
pueden
ensamblar.
Los programas hechos en lenguaje ensamblador son generalmente ms rpidos y consumen menos recursos
del
sistema.
Desventajas
para
no
utilizarlo:
Demasiado
complejo.
Comprensin
ms
Errores
profunda
ms
de
frecuentes
Mayor
la
en
tiempo
computadora.
el
de
programa.
codificacin.
Difcilmente portable, es decir, un cdigo escrito para un microprocesador en particular necesita ser modificado
muchas veces en su totalidad para poder ser usado en otro microprocesador.
Tipos de ensambladores:
Ensambladores cruzados: Se denominan as a los ensambladores que se utilizan en una computadora que
posee el procesador diferente al que tendrn las computadoras donde se va a ejecutar el programa objeto
producido.
Ensambladores residentes: Son aquellas que permanecen en la memoria principal de la computadora y cargar
para su ejecucin al programa objeto producido.
Micro ensambladores: Al programa que indica al intrprete de instrucciones de la CPU como debe actuar se le
denomina microprograma. El programa que ayuda a realizar este microprograma se llama micro ensamblador.
Macro
ensambladores:
Son
ensambladores
que
permiten
el
uso
de
macroinstrucciones.
Ensambladores de una fase: Leen una lnea y la traducen directamente para producir una instruccin de
lenguaje maquina o la ejecuta si se trata de una pseudosinstruccin. Se construye la tabla de smbolos a
medida
que
aparecen
las
definiciones
de
variables,
etiquetas,
etc.
Ensambladores de dos fases: Realiza la traduccin en dos etapas: 1 fase leen el programa fuente y
construyen la tabla de smbolos, 2 fase vuelve a leer el programa fuente y pueden ir traduciendo totalmente
pues reconocen la totalidad de los smbolos.
ntrprete (informtica)
En ciencias de la computacin, intrprete o interpretador es un programa informtico capaz de analizar y
ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intrpretes se diferencian de
los compiladores en que mientras estos traducen un programa desde su descripcin en un lenguaje de
programacin al cdigo de mquina del sistema, los intrpretes slo realizan latraduccin a medida que sea
necesaria, tpicamente, instruccin por instruccin, y normalmente no guardan el resultado de dicha traduccin.
Usando un intrprete, un solo archivo fuente puede producir resultados iguales incluso en sistemas sumamente
diferentes (ej. una PC y un PlayStation 3). Usando un compilador, un solo archivo fuente puede producir resultados
iguales solo si es compilado a distintos ejecutables especficos a cada sistema.
Los programas interpretados suelen ser ms lentos que los compilados debido a la necesidad de traducir el
programa
mientras
se
ejecuta,
pero
cambio
son
ms
flexibles
como
entornos
deprogramacin y depuracin (lo que se traduce, por ejemplo, en una mayor facilidad para reemplazar partes
enteras del programa o aadir mdulos completamente nuevos), y permiten ofrecer al programa interpretado
un entorno no dependiente de la mquina donde se ejecuta el intrprete, sino del propio intrprete (lo que se
conoce comnmente como mquina virtual).
Para mejorar el desempeo, algunas implementaciones de programacin de lenguajes de programacin
pueden interpretar o compilar el cdigo fuente original en una ms compacta forma intermedia y despus
traducir eso al cdigo de mquina (ej. Perl, Python, MATLAB, y Ruby). Algunos aceptan los archivos fuente
guardados en esta representacin intermedia (ej. Python, UCSD Pascal y Java).
Comparando su actuacin con la de un ser humano, un compilador equivale a un traductor profesional que, a
partir de un texto, prepara otro independiente traducido a otra lengua, mientras que un intrprete corresponde
al intrprete humano, que traduce de viva voz las palabras que oye, sin dejar constancia por escrito.
En la actualidad, uno de los entornos ms comunes de uso de los intrpretes informticos es Internet, debido a
la posibilidad que estos tienen de ejecutarse independientemente de la plataforma.
Cargador de programas
En informtica, un cargador es la parte de un sistema operativo que es responsable de cargar programas en memoria
desde los ejecutables (por ejemplo, usb y cd). El cargador es usualmente una parte del ncleo del sistema operativo y
es cargado al iniciar el sistema y permanece en memoria hasta que el sistema es reiniciado o apagado. Algunos
sistemas operativos que tienen un ncleo paginablepueden tener el cargador en una parte paginable de la memoria,
entonces a veces el cargador hace un intercambio de memoria.
Todos los sistemas operativos que soportan la carga de programas tienen cargadores. Algunos sistemas operativos
empotrados de computadoras altamente especializadas corren un nico programa y no existen capacidades de carga
de programas, por lo tanto no usan cargadores. Ejemplos de estos sistemas embebidos se encuentran en equipos de
audio para automviles. En los sistemas Unix, el cargador es el manejador para la llamada del sistema execve().
Algunas computadoras necesitan cargadores relocalizables, los cuales ajustan direcciones de memoria (punteros) en
un ejecutable para compensar las variaciones en la cual la memoria disponible de la aplicacin empieza. Las
computadoras que necesitan de los cargadores relocalizables son aquellos en los cuales los punteros son direcciones
absolutas en vez de compensaciones de direcciones base del programa. Un ejemplo muy conocido est en
los mainframes IBM Sistema 360 y sus descendientes, incluyendo la serie de los sistemas Z9.
Los enlazadores dinmicos son otro tipo de cargador que carga y liga biblioteca de enlace dinmico, como lo son los
archivos dll o so.
En informtica, un buffer de datos es una ubicacin de la memoria en una computadora o en un instrumento digital
reservada para el almacenamiento temporal de informacin digital, mientras que est esperando ser procesada. Por
ejemplo, un analizador TRF tendr uno o varios buffers de entrada, donde se guardan las palabras digitales que
representan las muestras de la seal de entrada. El Z-Buffer es el usado para el renderizado de imgenes 3D.
En electrnica es un dispositivo que evita el efecto de carga en un circuito. En su forma ms sencilla es un
amplificador operacional funcionando como seguidor. Por consiguiente el voltaje y la corriente no disminuye en el
circuito, ya que ste toma el voltaje de la fuente de alimentacin del operacional y no de la seal que se est
introduciendo, por lo que si una seal llegara con poca corriente, el circuito seguidor compensara esa prdida con la
fuente
de
alimentacin
del
amplificador
operacional,
ya
sea
ste
unipolar
bipolar.
En un Sistema de Informacin Geogrfica, polgono que encierra el rea de influencia resultante de dar una
determinada distancia en torno a un punto, lnea o polgono. Se utiliza mucho para procesos de anlisis espacial.
Un buffer o Tampn qumico, en trminos qumicos, tambin es un sistema constituido por un cido dbil y su base
conjugada o por una base y su cido conjugado que tiene capacidad "tamponante", es decir, que puede oponerse a
grandes cambios de pH (en un margen concreto) en una disolucin acuosa.
hace 6 aos
En informtica, el spooling hace referencia al proceso de transferir datos ponindolos en un rea temporal de trabajo,
donde otro programa puede acceder para su procesamiento en otro momento. Este rea de trabajo temporal suele
estar
en
un archivo o
Usos
en
un dispositivo
del
de
almacenamiento.
spooling
El spooling es til en caso de dispositivos que acceden a los datos a distintas velocidades. O en aquellos casos en
que no hay comunicacin directa entre los programas que escriben los datos y aquellos que los leen.
Los datos del rea temporal solo pueden ser modificados agregando o eliminado al final del rea (en general, no hay
acceso
aleatorio
ni
edicin).
Tambin es muy usado en la impresin (print spooling), donde los documentos a imprimir son cargados al spool de
impresin, y la impresora los va tomando en su debido tiempo para imprimirlos. El spooling permite poner documentos
en una "cola de impresin", que irn imprimindose en ese orden, mientras el usuario hace otras tareas.
Otro uso del spooling es email spool, un rea temporal de almacenamiento de emails a ser enviados por el programa
agente transmisor de emails. De todas maneras este tipo de spooling es diferente, dado que permite el acceso
aleatorio a los mensajes de email del rea de almacenamiento temporal.
Procesamiento
por
lotes
En microcomputadoras, la ejecucin de una lista de comandos del sistema operativo uno tras otro sin intervencin del
usuario. En los ordenadores ms grandes el proceso de recogida de programas y de conjuntos de datos de los
usuarios, la ejecucin de uno o unos pocos cada vez y la entrega de los resultados a los usuarios.
Procesamiento por lotes tambin puede referirse al proceso de almacenar transacciones durante un cierto lapso antes
de su envo a un archivo maestro, por lo general una operacin separada que se efecta durante la noche.
Caractersticas
del
Procesamiento
por
Lotes
Requiere que el programa, datos y rdenes al sistema sean remitidos todos juntos en forma de lote.
Una mayor potencial de utilizacin de recursos que procesamiento serial simple en sistemas multiusuarios.
No conveniente para desarrollo de programas por bajo tiempo de retorno y depuracin fuera de lnea.
Conveniente para programas de largos tiempos de ejecucin (ej, anlisis estadsticos, nminas de personal, etc.).
La planificacin de memoria es sencilla, generalmente se divide en dos: parte residente del S.O. y programas
transitorios.
Suelen proporcionar gestin sencilla de manejo de archivos: se requiere poca proteccin y ningn control de
concurrencia para el acceso.
MONITORES.
Los semforos son una herramienta bsica, pero potente y flexible, para hacer cumplir la exclusin mutua y
coordinar procesos. Sin embargo, puede resultar muy difcil construir un programa correcto por medio de semforos.
La dificultad est en que las operaciones wait y signal deben distribuirse por todo el programa y no es fcil advertir el
1.
efecto global de estas operaciones sobre los semforos a los que afectan. En los semforos, tanto la exclusin mutua
como la sincronizacin son responsabilidades del programador. Los monitores son estructuras de un lenguaje de
programacin que ofrecen una funcionalidad equivalente a la de los semforos y que son ms fciles de controlar.
Los monitores fueron propuestos por Brich Hansen y mejorados por Hoare para poder utilizar procesos
automticos de sincronizacin. Un mdulo monitor encapsula la mutua exclusin de datos y procedimientos que
pueden acceder a los datos protegidos. Los usuarios pueden hacer llamadas a estos procedimientos usando al
monitor como una tabla de estado para determinar cuando proceder y cuando suspender operaciones.
Monitores con seales
Un monitor es un mdulo de software que consta de uno o ms procedimientos, una secuencia de inicializacin y
unos datos locales. Las caractersticas bsicas de un monitor son las siguientes:
Las variables de datos locales estn slo accesibles para los procedimientos del monitor y no para procedimientos
externos.
2.
3.
Slo un proceso puede estar ejecutando en el monitor en un instante dado; cualquier otro proceso que haya
invocado al monitor quedar suspendido mientras espera que el monitor est disponible.
Monitores.
Un monitor es una estructura formada por una cabecera que los identifica, un conjunto de variables globales a todos
los procedimientos del monitor, un conjunto de procedimientos y un bloque de inicializacin, el cual se ejecuta una
nica vez, cuando se crea el monitor.}
Sistemas
operativos
multiprogramacin
>Los sistemas de multiprogramacin son capaces de soportar dos o ms procesos concurrentes mltiples, permiten
que residan al mismo tiempo en la memoria primaria las instrucciones y los datos procedentes de dos o ms procesos.
Estos sistemas implican la operacin de multiproceso, para el manejo de la informacin. Se caracterizan
principalmente por un gran nmero de programas activos simultneamente que compiten por los recursos del sistema,
como el procesador, la memoria , y los "dispositivos de E/S". Estos sistemas monitorean el estado de todos los
programas activos y recursos del sistema.
sistemas
Operativos
de
Multiprogramacion
Se distinguen por sus habilidades para poder soportar la ejecucion de dos o mas trabajos activos (que se estan
ejecutado) al mismo tiempo. Esto trae como resultado que la Unidad Central de Procesamiento (UCP) siempre
Proporcionan contabilidad del uso de los recursos por parte de los usuarios.
Sistemas multiprocesadores son sistemas multitareas por definicion ya que soportan la ejecucion
simultanea de multiples tareas sobre diferentes procesadores.
En general, los sistemas de multiprogramacion se caracterizan por tener multiples programas activos
compitiendo por los recursos del sistema: procesador, memoria, dispositivos perifericos.
las
el
siguientes
uso
de
ventajas:
la
CPU.
- Las direcciones de los procesos son relativas, el programador no se preocupa por saber en dnde estar el proceso
dado que el sistema operativo es el que se encarga de convertir la direccin lgica en fsic
Proceso.
Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado por:
Su estado de ejecucin en un momento dado, esto es, los valores de los registros de la CPU para dicho programa.
Su estado de ejecucin en un momento dado, esto es, los valores de los registros de la CPU para dicho programa.
Esta definicin vara ligeramente en el caso de Sistemas operativos multihilo, donde un proceso consta de uno o ms
hilos, la memoria de trabajo (compartida por todos los hilos) y la informacin de planificacin. Cada hilo consta de
instrucciones y estado de ejecucin.
Los procesos son creados y destruidos por el sistema operativo, as como tambin este se debe hacer cargo de la
comunicacin entre procesos, pero lo hace a peticin de otros procesos. El mecanismo por el cual un proceso crea
otro proceso se denomina Bifurcacin (fork). Los nuevos procesos pueden ser independientes y no compartir el
espacio de memoria con el proceso que los ha creado o ser creados en el mismo espacio de memoria.
En los sistemas operativos multihilo es posible crear tanto hilos como procesos. La diferencia estriba en que un
proceso solamente puede crear hilos para s mismo y en que dichos hilos comparten toda la memoria reservada para
el proceso.
Algunos tipos de procesos
Proceso distribuido: Es una forma de proceso en la que los datos y las funciones estn distribuidos en los distintos
elementos de una configuracin o sistema.
Proceso cooperativo: Alude al hecho de que una nica aplicacin se gestiona desde dos (o ms) diferentes
configuraciones hardware.
Estados
de
un
proceso
El estado de un proceso define su actividad actual. Durante su existencia, un proceso pasa por una serie de estados
discretos El principal trabajo del procesador es ejecutar las instrucciones de mquina que se encuentran en memoria
principal. Estas instrucciones se encuentran en forma de programas. Para que un programa pueda ser ejecutado, el
sistema operativo crea un nuevo proceso, y el procesador ejecuta una tras otra las instrucciones del mismo. En un
entorno de multiprogramacin, el procesador intercalar la ejecucin de instrucciones de varios programas que se
encuentran en memoria. El sistema operativo es el responsable de determinar las pautas de intercalado y asignacin
de recursos a cada proceso.
Activo: el proceso est empleando la CPU, por tanto, est ejecutndose. Pueden haber tantos procesos activos
como procesadores haya disponibles. Por tanto, si el sistema dispone de un nico procesador, nicamente puede
haber un proceso activo a la vez.
Preparado: el proceso no est ejecutndose pero es candidato a pasar a estado activo. Es el planificador el que,
en base a un criterio de planificacin, decide qu proceso selecciona de la lista de procesos preparados para
pasar a estado activo.
Bloqueado: el proceso est pendiente de un evento externo que le ha hecho bloquear, tales como una operacin
de lectura/escritura, la espera de finalizacin de un proceso hijo, una seal o una operacin sobre un semforo. El
dispositivo/hecho externo "avisa" al S.O. cuando ha terminado la accin que realizaba mediante una
INTERRUPCIN, dejando el S.O. lo que est haciendo para atender a esta ltima. Tras esto, el S.O. comprueba
cuales son los procesos que fueron bloqueados por ese evento externo, cambindolos al estado de preparado.
La transicin de activo a preparado y viceversa depende de decisiones tomadas por el planificador del sistema
operativo en base a un cierto criterio. La transicin de activo a bloqueado, y de bloqueado a preparado puede
inducirlas el programador mediante llamadas al sistema.
Qu es concurrencia?
n Definicin de diccionario: coincidir en el espacio o en el tiempo dos o ms personas o cosas.
En Informtica, se habla de concurrencia cuando hay una existencia simultnea de varios procesos en ejecucin.
n Ojo, concurrencia existencia simultnea no implica ejecucin simultnea.
En
computacin,
la
concurrencia
es
mismo
la
tiempo,
propiedad
y
que
de
los
sistemas
potencialmente
puedan
que
permiten
interactuar
entre
que
s.
Los procesos concurrentes pueden ser ejecutados realmente de forma simultnea, slo cuando cada uno es ejecutado
en diferentes procesadores. En cambio, la concurrencia es simulada si slo existe un procesador encargado de
ejecutar los procesos concurrentes, simulando la concurrencia, ocupndose de forma alternada en uno y otro proceso
a pequesimos intervalos de tiempo. De esta manera simula que se estn ejecutando a la vez.
Debido a que los procesos concurrentes en un sistema pueden interactuar entre otros tambin en ejecucin, el
nmero de caminos de ejecucin puede ser extremadamente grande, resultando en un comportamiento sumamente
complejo. Las dificultades asociadas a la concurrencia han sido pensadas para el desarrollo de lenguajes de
programacin y conceptos que permitan hacer la concurrencia ms manejable.
Sincronizaicon
de
Procesos
En muchos casos, los procesos se reunen para realizar tareas en conjunto, a este tipo de relacion se le llama
procesos cooperativos. Para lograr la comunicacion, los procesos deben sincronizarse, de no ser asi pueden ocurrir
problemas no deseados. La sincronizacion es la transmision y recepcion de senales que tiene por objeto llevar a cabo
el trabajo de un grupo de procesos cooperativos.
Es la coordinacion y cooperacion de un conjunto de procesos para asegurar la comparacion de recursos de computo.
La sincronizacion entre procesos es necesaria para prevenir y/o corregir errores de sincronizacion debidos al acceso
concurrente a recursos compartidos, tales como estructuras de datos o dispositivos de E/S, de procesos
contendientes.
La
sincronizacion
entre
procesos
tambien
permite
intercambiar
senales
de
tiempo
(ARRANQUE/PARADA) entre procesos cooperantes para garantizar las relaciones especificas de precedencia
impuestas por el problema que se resuelve.
Sin una sincronizacion adecuada entre procesos, la actualizacion de variables compartidas puede inducir a errores de
tiempo relacionados con la concurrencia que son con frecuencia dificiles de depurar. Una de las causas principales
de este problema es que procesos concurrentes puedan observar valores temporalmente inconsistentes de una
variable compartida mientras se actualizan. una aproximacion para resolver este problema es realizar actualizaciones
de variables compartidas de manera mutuamente exclusiva. Se pueden mejorar permitiendo que a lo mas un proceso
entre a la vez en la seccion critica de codigo en la que se actualiza una variable compartida o estructura de datos en
particular.
Para que los procesos puedan sincronizarse es necesario disponer de servicios que permitan bloquear o suspender
bajo determinadas circunstancias la ejecucion de un proceso. Los principales mecanismos de sincronizacion que
ofrecen los sistemas operativos son:
Senales
Tuberias
Semaforos
Paso de mensajes
Concepto:
Un Interbloqueo supone un bloqueo permanente de un conjunto de procesos que compiten por recursos o bien se
comunican o sincronizan si.
Los procesos de los sistemas no solo son independientes, sino que compiten en el uso exclusivo de recursos, se
comunican y se sincronizan entre si. El sistema operativo debe encargarse de asegurar que estas interacciones se
llevan a cabo aproximadamente proporcionando la exclusin mutua requerida por las mismas. La necesidad de los
algunos procesos pueden entrar en conflicto entre si causando que estos se bloqueen indefinidamente.
El Interbloqueo surge debido a que produce un conflicto entre las necesidades de los procesos y el recurso que
necesita cada proceso lo posee el otro.
Se caracteriza por la existencia de un conjunto de entidades activas que utilizan un conjunto de recursos para llevar a
cabo su labor.
Entidades: activas que corresponden con los procesos existentes en el sistema. Un SO proporciona threads
que representan las entidades activas y son la unidad de ejecucin del sistema.
-
Recursos existentes en el sistema: son utilizados por los procesos para llevar a cabo su valor.
Tipos de recursos:
Prevencin de interbloqueo
Con la estrategia de prevencin se intenta eliminar el problema de raz, asegurando que nunca se pueden producir
interbloqueos. Dado que, como se realiz previamente, es necesario que se cumpla las cuatro condiciones de
Coffman
(exclusin mutua, retencin y espera, sin expropiacin, espera circular) para que se produzca un
interbloqueo, bastara nicamente con asegurar que una de estas condiciones no se puede satisfacer para eliminar los
interbloqueos en sistema. A continuacin se analizaran cada una de estas cuatro condiciones para ver si es posible
establecer estrategias que aseguren que no puede cumplirse.
Evitar interbloqueos
En vez de restringir la forma o el orden en que los procesos deben solicitar recursos, antes se debe conocer si es
seguro otorgar dichos recursos. Es decir, si se presentan las condiciones suficientes para un interbloqueo, todava es
posible evitarlos por medio de una restriccin en la asignacin de los procesos para tratar de buscar estados seguros.
Estas restricciones aseguran que al menos una de las condiciones necesarias para el interbloqueo no pueda
presentarse y por lo tanto, tampoco el interbloqueo.
Otro mtodo para evitar los interbloqueo consiste en requerir informacin adicional sobre cmo se solicitar los
recursos. Esta informacin puede ser:
1. La necesidad mxima de recursos de los procesos que se est ejecutando
2. La asignacin actual de recursos a procesos
3. La cantidad actual de instancias libres de cada recurso
En base al orden en que se solicitarn los recursos, se puede tomar la decisin de ejecutar el proceso o si debe
esperar. Por lo tanto, la evitacin del interbloqueo solo anticipa la posibilidad de interbloqueo y asegura que no exista
nunca tal posibilidad.
En los mecanismos para evitar interbloqueos viene relacionado los estados seguros e inseguros de los procesos en
los sistemas operativos.
Los estados seguros e inseguros
Un estado de asignacin de recursos se considera seguro si en l no hay posibilidad de interbloqueo. Para que un
estado sea seguro, es necesario que los procesos formen una secuencia segura. Una secuencia segura es una
ordenacin de los procesos de modo que los recursos que an puede pedir cualquier proceso pueden ser otorgados
con los recursos libres ms los recursos retenidos por los dems procesos. En base a ello, cuando un proceso realice
una solicitud de recursos, el sistema se los conceder slo en el caso de que la solicitud mantenga al sistema en un
estado seguro. Un estado inseguro es aquel en el que puede presentarse un interbloqueo.
An presentndose las condiciones para un interbloqueo, todava es posible evitarlo mediante una asignacin
cuidadosa de los recursos. Tal vez el algoritmo ms famoso para evitar el interbloqueo sea el algoritmo del banquero
de Dijkstra, cuyo interesante nombre se debe a que un banquero que otorga prstamos y recibe pagos a partir de una
determinada fuente de capital.
Algoritmo Dijkstra
El algoritmo del banquero permite la asignacin de unidades de cinta a los usuarios solamente cuando la asignacin
conduzca a estados seguros, y no a estados inseguros. Un estado seguro es una situacin tal en la que todos los
procesos son capaces de terminar en algn momento. Un estado inseguro es aquel en el cual puede presentarse un
bloqueo mutuo.
Ejemplos de interbloqueo
El Interbloqueo se puede definir como el bloque permanente de un conjunto de procesos que compiten por los
recursos del sistema, todos los interbloqueos suponen necesidades contradictorias de recursos, por parte de dos o
ms procesos.
Un ejemplo clsico de interbloqueo es el interbloqueo de trfico
Agaranta de seguridad
Eleccin del sistema operativo
Generalmente los motivos por los que un individuo elije un sistema operativo u otro tienen ms que ver con la facilidad
de uso o la gama de aplicaciones disponibles que con la seguridad. Sin embargo, la eleccin del sistema operativo
determinar en gran medida la garanta de seguridad que se podr conseguir al acceder a servicios ofrecidos a travs
de Internet. Por tanto, cuando se necesite esta garanta deben conocerse bien las caractersticas en lo que a
seguridad se refiere tienen los distintos sistemas operativos. Introducir estas caractersticas ser el objetivo de este
apartado.
Muchas veces se ha dicho que GNU/Linux es un sistema muy seguro (especialmente en comparacin con Windows),
pero esta afirmacin hay que matizarla: la verdad exacta es que GNU/Linux tiene el potencial para convertirse en
enormemente seguro. Pero de entrada no tiene porque serlo. En particular debemos ser conscientes de que se trata
de un sistema operativo pensado para entornos de red y por ello tiene grandes capacidades de conexin con otros
ordenadores y de ofrecerles servicios. En la mayora de distribuciones tras realizar la instalacin inicial se dejan
activos una serie de servicios como puede ser un servidor web, un servidor de ficheros (FTP), servicios de bajo nivel
(hora, caracteres aleatorios, etc). Desde el punto de vista de seguridad conviene desactivar todos los servicios que no
se deseen ofrecer para reducir el nmero de oportunidades que se le dan a un posible atacante para encontrar una
vulnerabilidad. Este sera el primer paso para configurar el sistema para que sea ms seguro. Slo mediante una
configuracin cuidadosa y exhaustiva del sistema operativo y sus aplicaciones se podr decir que el ordenador es
seguro. Y GNU/Linux ofrece las herramientas y la capacidad de configuracin necesaria para hacer esto posible.
Otra opcin, tambin libre, son los sistemas operativos de la serie BSD: NetBSD, OpenBSD y FreeBSD. Todos ellos
son de tipo UNIX y al igual que GNU/Linux tienen una gran capacidad de configuracin, lo que permite prepararlas
para que sean enormemente seguros. Cabe destacar el proyecto OpenBSD, que tiene como principal objetivo
construir un sistema operativo tan seguro como sea posible. Para ello auditan el cdigo tanto del ncleo como de las
herramientas y aplicaciones bsicas del sistema. Si se necesita un sistema muy seguro esta es una gran opcin.
Simplemente debe tenerse en cuenta que habitualmente son las aplicaciones bsicas las que son auditadas de forma
habitual.
En general los sistemas operativos propietarios estn en igualdad de condiciones frente a la seguridad que los
sistemas operativos libres que acaban de presentarse. Una ventaja que s han tenido hasta ahora es que el propio
fabricante daba soporte tcnico y garantas de seguridad de sus sistemas (especialmente en los UNIX propietarios).
De igual forma, otra ventaja adicional ofrecida por estos sistemas operativos, inexistente actualmente en GNU/Linux,
es que los fabricantes persiguen de forma activa la certificacin del sistema operativo (o una parte de ste) frente a los
estndares de seguridad del mercado. Por ejemplo, Solaris (de Sun) cuenta con una versin reducida (Trusted Solaris
7) que ha sido certificada B1 y que cumple el Common Criteria (CC, http://www.commoncriteria.org/) al nivel EAL4,
AIX de IBM tambin tiene una versin que cumple EAL4 del CC.
Pero ahora tambin estn apareciendo un nmero interesante de empresas de soporte que ofrecen este mismo
servicio para todo tipo de software libre. La diferencia es que no hay una nica opcin, sino tantas como el mercado
permita. Y con ello se est descubriendo tambin la ventaja que supone no estar atado a un proveedor del servicio. No
slo por la posibilidad de cambiar sino porque esta posibilidad obliga a las empresas que dan el servicio a esforzarse
en hacerlo lo mejor posible.
la seguridad informtica o seguridad de tecnologas de la informacin es el rea de la informtica que se enfoca en la
proteccin de la infraestructura computacional y todo lo relacionado con esta y, especialmente, la informacin
contenida o circulante. Para ello existen una serie de estndares, protocolos, mtodos, reglas, herramientas y leyes
concebidas para minimizar los posibles riesgos a la infraestructura o a la informacin. La seguridad informtica
comprende software (bases de datos, metadatos, archivos), hardware y todo lo que la organizacin valore (activo) y
signifique un riesgo si esta informacin confidencial llega a manos de otras personas, convirtindose, por ejemplo, en
informacin privilegiada.
El concepto de seguridad de la informacin no debe ser confundido con el de seguridad informtica, ya que este
ltimo solo se encarga de la seguridad en el medio informtico, pero la informacin puede encontrarse en diferentes
medios o formas, y no solo en medios informticos.
La seguridad informtica es la disciplina que se ocupa de disear las normas, procedimientos, mtodos y tcnicas
destinados a conseguir un sistema de informacin seguro y confiable.
Amenazas[editar]
No solo las amenazas que surgen de la programacin y el funcionamiento de un dispositivo de almacenamiento,
transmisin o proceso deben ser consideradas, tambin hay otras circunstancias que deben ser tenidas en cuenta,
incluso no informticas. Muchas son a menudo imprevisibles o inevitables, de modo que las nicas protecciones
posibles son las redundancias y la descentralizacin, por ejemplo mediante determinadas estructuras de redes en el
caso de las comunicaciones o servidores en clster para la disponibilidad.
Usuarios: causa del mayor problema ligado a la seguridad de un sistema informtico. En algunos casos sus
acciones causan problemas de seguridad, si bien en la mayora de los casos es porque tienen permisos sobre
dimensionados, no se les han restringido acciones innecesarias, etc.
Programas maliciosos: programas destinados a perjudicar o a hacer un uso ilcito de los recursos del sistema. Es
instalado (por inatencin o maldad) en el ordenador, abriendo una puerta a intrusos o bien modificando los datos.
Estos programas pueden ser un virus informtico, un gusano informtico, un troyano, una bomba lgica, un
programa espa o spyware, en general conocidos como malware.
Errores de programacin: La mayora de los errores de programacin que se pueden considerar como una
amenaza informtica es por su condicin de poder ser usados como exploits por loscrackers, aunque se dan
casos donde el mal desarrollo es, en s mismo, una amenaza. La actualizacin de parches de los sistemas
operativos y aplicaciones permite evitar este tipo de amenazas.
Intrusos: persona que consiguen acceder a los datos o programas a los cuales no estn autorizados
(crackers, defacers, hackers, script kiddie o script boy, viruxers, etc.).
Un siniestro (robo, incendio, inundacin): una mala manipulacin o una mala intencin derivan a la prdida del
material o de los archivos.
Personal tcnico interno: tcnicos de sistemas, administradores de bases de datos, tcnicos de desarrollo, etc.
Los motivos que se encuentran entre los habituales son: disputas internas, problemas laborales, despidos, fines
lucrativos, espionaje, etc.
Tipos de amenaza[editar]
Existen infinidad de modos de clasificar un ataque y cada ataque puede recibir ms de una clasificacin. Por ejemplo,
un caso de phishing puede llegar a robar la contrasea de un usuario de una red social y con ella realizar una
suplantacin de la identidad para un posterior acoso, o el robo de la contrasea puede usarse simplemente para
cambiar la foto del perfil y dejarlo todo en una broma (sin que deje de ser delito en ambos casos, al menos en pases
con legislacin para el caso, como lo es Espaa).
Amenazas por el origen
El hecho de conectar una red a un entorno externo nos da la posibilidad de que algn atacante pueda entrar en ella,
con esto, se puede hacer robo de informacin o alterar el funcionamiento de la red. Sin embargo el hecho de que la
red no est conectada a un entorno externo, como Internet, no nos garantiza la seguridad de la misma. De acuerdo
con el Computer Security Institute (CSI) de San Francisco aproximadamente entre el 60 y 80 por ciento de los
incidentes de red son causados desde dentro de la misma. Basado en el origen del ataque podemos decir que existen
dos tipos de amenazas:
Amenazas internas: Generalmente estas amenazas pueden ser ms serias que las externas por varias razones
como son:
Si es por usuarios o personal tcnico, conocen la red y saben cmo es su funcionamiento, ubicacin de la
informacin, datos de inters, etc. Adems tienen algn nivel de acceso a la red por las mismas
necesidades de su trabajo, lo que les permite unos mnimos de movimientos.
Los sistemas de prevencin de intrusos o IPS, y firewalls son mecanismos no efectivos en amenazas
internas por, habitualmente, no estar orientados al trfico interno. Que el ataque sea interno no tiene que
ser exclusivamente por personas ajenas a la red, podra ser por vulnerabilidades que permiten acceder a la
red directamente: rosetas accesibles, redes inalmbricas desprotegidas, equipos sin vigilancia, etc.
Amenazas externas: Son aquellas amenazas que se originan fuera de la red. Al no tener informacin certera
de la red, un atacante tiene que realizar ciertos pasos para poder conocer qu es lo que hay en ella y buscar la
manera de atacarla. La ventaja que se tiene en este caso es que el administrador de la red puede prevenir una
buena parte de los ataques externos.
Robo de informacin.
Destruccin de informacin.
Virus informtico: malware que tiene por objeto alterar el normal funcionamiento de la computadora, sin el
permiso o el conocimiento del usuario. Los virus, habitualmente, reemplazan archivos ejecutables por otros
infectados con el cdigo de este. Los virus pueden destruir, de manera intencionada, los datos almacenados
en un computadora, aunque tambin existen otros ms inofensivos, que solo se caracterizan por ser molestos.
Phishing.
Ingeniera social.
Denegacin de servicio.
Se puede afirmar que la Web 3.0 otorga contenidos y significados de manera tal que pueden ser
comprendidos por las computadoras, las cuales -por medio de tcnicas de inteligencia artificial- son capaces
de emular y mejorar la obtencin de conocimiento, hasta el momento reservada a las personas.
Es decir, se trata de dotar de significado a las pginas Web, y de ah el nombre de Web semntica o Sociedad
del Conocimiento, como evolucin de la ya pasada Sociedad de la Informacin
En este sentido, las amenazas informticas que viene en el futuro ya no son con la inclusin de troyanos en los
sistemas o softwares espas, sino con el hecho de que los ataques se han profesionalizado y manipulan el
significado del contenido virtual.
La Web 3.0, basada en conceptos como elaborar, compartir y significar, est representando un desafo para
los hackers que ya no utilizan las plataformas convencionales de ataque, sino que optan por modificar los
significados del contenido digital, provocando as la confusin lgica del usuario y permitiendo de este modo la
intrusin en los sistemas, La amenaza ya no solicita la clave de homebanking del desprevenido usuario, sino
que directamente modifica el balance de la cuenta, asustando al internauta y, a partir de all, s efectuar el robo
del capital.
Obtencin de perfiles de los usuarios por medios, en un principio, lcitos: seguimiento de las bsquedas
realizadas, histricos de navegacin, seguimiento con geoposicionamiento de los mviles, anlisis de las
imgenes digitales subidas a Internet, etc.
Verificar los archivos adjuntos de mensajes sospechosos y evitar su descarga en caso de duda.
Control de la red[editar]
Los puntos de entrada en la red son generalmente el correo, las pginas web y la entrada de ficheros desde discos, o
de ordenadores ajenos, como porttiles.
Mantener al mximo el nmero de recursos de red solo en modo lectura, impide que ordenadores infectados
propaguen virus. En el mismo sentido se pueden reducir los permisos de los usuarios al mnimo.
Se pueden centralizar los datos de forma que detectores de virus en modo batch puedan trabajar durante el tiempo
inactivo de las mquinas.
Controlar y monitorizar el acceso a Internet puede detectar, en fases de recuperacin, cmo se ha introducido el virus.
Proteccin de acceso a las redes[editar]
Independientemente de las medidas que se adopten para proteger a los equipos de una red de rea local y el software
que reside en ellos, se deben tomar medidas que impidan que usuarios no autorizados puedan acceder. Las medidas
habituales dependen del medio fsico a proteger.
A continuacin se enumeran algunos de los mtodos, sin entrar al tema de la proteccin de la red frente a ataques o
intentos de intrusin desde redes externas, tales como Internet.
Redes cableadas[editar]
Las rosetas de conexin de los edificios deben estar protegidas y vigiladas. Una medida bsica es evitar tener puntos
de red conectados a los switches. An as siempre puede ser sustituido un equipo por otro no autorizado con lo que
hacen falta medidas adicionales: norma de acceso 802.1x, listas de control de acceso por MAC addresses, servidores
de DHCP por asignacin reservada, etc.
Redes inalmbricas[editar]
En este caso el control fsico se hace ms difcil, si bien se pueden tomar medidas de contencin de la emisin
electromgntica para circunscribirla a aquellos lugares que consideremos apropiados y seguros. Adems se
consideran medidas de calidad el uso del cifrado (WEP, WPA, WPA v.2, uso de certificados digitales, etc.),
contraseas compartidas y, tambin en este caso, los filtros de direcciones MAC, son varias de las medidas habituales
que cuando se aplican conjuntamente aumentan la seguridad de forma considerable frente al uso de un nico mtodo.
El sistema operativo OS/2 ha tenido una historia turbulenta en el seno de Microsoft e IBM, creciendo en algn
tiempo bajo equipos de trabajo de ambas compaias y prosiguiendo finalmente con la ltima. Los objetivos
para este sistema operativo eran: compatibilidad para ejecutar los programas existentes para DOS en las
computadoras 80x86, ofrecer la multitarea, la facilidad de memoria virtual y servicios de red de rea local
[Alcal92].