sábado, 30 de noviembre de 2013
lunes, 18 de noviembre de 2013
MECANISMOS DE PROTECCIÓN
Es más fácil obtener
seguridad si hay un modelo claro de lo que se debe proteger y de a quién se le
permite hacer qué cosa, nos concentraremos en unos cuantos modelos generales y en
los mecanismos para llevarlos a cabo.
Dominios de protección
Un dominio es un conjunto de pares
(objeto, permisos). Cada par especifica un objeto y cierto subconjunto de las
operaciones que se pueden realizar en él. Un permiso en este contexto indica el
permiso para realizar una de las operaciones. A menudo, un dominio corresponde
a un solo usuario y le indica lo que puede hacer y lo que no, pero un dominio
también puede ser más general que sólo un usuario. Por ejemplo, los miembros de
un equipo de programación que trabajan en cierto proyecto podrían pertenecer al
mismo dominio, de manera que todos tengan acceso a los archivos del proyecto.
La manera en que se
asignan los objetos a los dominios depende de los detalles sobre quién necesita
saber qué. Sin embargo, uno de los conceptos básicos es el POLA (Principle of Least Authority, Principio de menor autoridad),
o la necesidad de saber. En general, la seguridad funciona mejor cuando cada
dominio tiene los mínimos objetos y privilegios para realizar su trabajo; y no más.
Listas de control de acceso
La mayoría de los
dominios no tienen acceso a la mayoría de los objetos, por lo que se
desperdicia mucho espacio en disco al almacenar una matriz muy grande y en su
mayor parte vacía. Existe un método práctico: almacenar la matriz por columnas y
después almacenar solo los elementos no vacíos, esta técnica consiste en
asociar con cada objeto una lista (ordenada) que contenga todos los dominios
que pueden acceder al objeto, y la forma de hacerlo. A esta lista se le conoce
como Lista de control de acceso
(Access Control List, o ACL).
Capacidades
La otra manera de almacenar
la matriz es por filas. Al utilizar este método, a cada proceso se le asocia
una lista de objetos que puede utilizar, junto con una indicación de las
operaciones permitidas en cada objeto; en otras palabras, su dominio. A esta
lista se le conoce como lista de
capacidades (o lista-C) y a los
elementos individuales que contiene se les conoce como capacidades, cada capacidad otorga al propietario ciertos derechos
sobre un objeto.
Además de los derechos específicos dependientes del objeto, como
lectura, escritura y ejecución, las capacidades por lo general tienen permisos
genéricos que se pueden aplicar a todos los objetos. Algunos ejemplos de
permisos genéricos son:
1. Capacidad de copia: crea una nueva capacidad para el mismo objeto.
2. Copiar objeto: crea un objeto duplicado con una nueva capacidad.
3. Eliminar capacidad: elimina una entrada de la lista-C; el objeto no
se ve afectado.
4. Destruir objeto: elimina un objeto y una capacidad de manera
permanente.
Sistemas y base de cómputo confiables
En el mundo de la seguridad, todos hablan con frecuencia sobre los sistemas
confiables en vez de sistemas seguros. Éstos son sistemas que han declarado
formalmente requerimientos de seguridad y cumplen con ellos. En el centro de
todo sistema confiable hay una TCB (Trusted Computing Base, Base
de cómputo confiable) mínima que consiste en el hardware y software necesarios
para cumplir con todas las reglas de seguridad. Si la base de cómputo confiable
funciona según las especificaciones, no se puede comprometer la seguridad el
sistema, sin importar qué otra cosa esté mal.
Las funciones del sistema operativo que deben formar parte de la TCB
son: creación de procesos, cambio de procesos, administración del mapa de
memoria y parte de la administración de archivos y de la E/S. En un diseño
seguro es frecuente que la TCB esté muy separada del resto del sistema
operativo para poder minimizar su tamaño y verificar que sea correcto.
Seguridad multinivel
La mayoría de los sistemas operativos permiten a los usuarios
individuales determinar quién puede leer, escribir y ejecutar sus archivos y demás
objetos, a esta directiva se le conoce como control de acceso discrecional.
En muchos entornos este modelo funciona bien, pero hay otros en donde se requiere
una seguridad más estricta, como en la computación militar, los departamentos
de patentes corporativas y los hospitales.
En estos entornos, la organización ha establecido reglas sobre qué es lo
que puede ver cada quién, y los soldados, abogados o doctores no pueden
modificar estas reglas, por lo menos no sin antes obtener un permiso especial
del jefe. Estos entornos necesitan controles de acceso obligatorio para
asegurar que el sistema implemente las directivas de seguridad establecidas,
además de los controles de acceso discrecional estándar. Lo que hacen estos
controles de acceso obligatorio es regular el flujo de información, para
asegurar que no se fugue de una manera que no esté considerada.
viernes, 8 de noviembre de 2013
CRIPTOGRAFIA (CIFRADO)
El propósito de la
criptografía es tomar un mensaje o archivo, conocido como texto simple,
y convertirlo en texto cifrado de tal forma que sólo las personas
autorizadas sepan cómo convertirlo nuevamente en texto simple. Para todos los
demás, el texto cifrado es sólo una sucesión incomprensible de bits.
Su secreto depende de
los parámetros de los algoritmos, a los cuales se les denomina claves.
Si P es el archivo de texto simple, KE es la clave de
cifrado, C es el texto cifrado y E es el algoritmo de cifrado (es
decir, la función), entonces C = E (P, KE).
Ésta es la definición del cifrado, la cual indica que el texto cifrado se
obtiene mediante el uso del algoritmo de cifrado E, con el texto simple P
y la clave de cifrado (secreta) KE como parámetros. La
idea de que todos los algoritmos deben ser públicos y el secreto debe residir
exclusivamente en las claves se conoce como Principio de Kerckhoffs,
formulado por el criptógrafo holandés Auguste Kerckhoffs del siglo XIX. En la
actualidad, la gran mayoría de los criptógrafos han adoptado esta idea.
De manera similar
tenemos que P = D (C, KD), donde D es el
algoritmo de descifrado y KD es la clave de descifrado. Esto
indica que para obtener de vuelta el texto simple P a partir del texto
cifrado C y la clave de descifrado KD, hay que
ejecutar el algoritmo D con C y KD como
parámetros.
Clave Secreta
Para que esto sea más
claro, considere un algoritmo en el que cada letra se sustituye por una letra
distinta; por ejemplo, todas las As se sustituyen por Qs, todas las Bs se
sustituyen por Ws, todas las Cs se sustituyen por Es, y así en lo sucesivo:
Texto simple: A B C D E F G H I J K L M N O P Q R S T U V W
X Y Z
Texto cifrado: Q W E
R T Y U I O P A S D F G H J K L Z X C V B N M
A este sistema
general se le conoce como sustitución monoalfabética, en donde la clave
es la cadena de 26 letras correspondiente al alfabeto completo. La clave de
cifrado en este ejemplo es QWERTYUIOPASDFGHJKLZXCVBNM. Utilizando la
clave anterior, el texto simple ATTACK se transformaría en el texto
cifrado QZZQEA. La clave de descifrado indica cómo obtener de vuelta el
texto simple a partir del texto cifrado. En este ejemplo, la clave de
descifrado es KXVMCNOPHQRSZYIJADLEGWBUFT, debido a que una A en
el texto cifrado es una K en el texto simple, una B en el texto cifrado
es una X en el texto simple, y así sucesivamente.
Clave
Pública
Los sistemas de clave
secreta son eficientes debido a que el monto de cálculos requeridos para cifrar
o descifrar un mensaje es razonable, pero hay una gran desventaja: el emisor y el
receptor deben tener la clave secreta compartida. De hecho, tal vez hasta
tengan que reunirse físicamente para que uno le entregue la clave al otro. Para
resolver este problema se utiliza la criptografía de clave pública (Diffie y
Hellman, 1976). Este sistema tiene la propiedad de que se utilizan distintas
claves para el cifrado y el descifrado, y si se elige bien la clave de cifrado
es casi imposible descubrir la clave de descifrado correspondiente. Bajo estas
circunstancias, la clave de cifrado se puede hacer pública y sólo hay que
mantener secreta la clave de descifrado privada.
¿Cómo funciona la criptografía de clave pública?
Todos eligen un par
(clave pública, clave privada) y publican la clave pública. Esta clave pública
es la clave de cifrado; la clave privada es la clave de descifrado. Por lo
general, el proceso de generación de la clave es automatizado, en donde tal vez
una contraseña seleccionada por el usuario se alimenta al algoritmo como una
semilla. Para enviar un mensaje secreto a un usuario, un corresponsal cifra el
mensaje con la clave pública del receptor. Como sólo el receptor tiene la clave
privada, sólo él puede descifrar el mensaje.
miércoles, 6 de noviembre de 2013
SEGURIDAD EN LOS SISTEMAS OPERATIVOS
Muchas empresas
poseen información valiosa que desean tener muy bien protegida. Esta
información puede ser técnica (por ejemplo, el diseño de un nuevo chip o nuevo
software), comercial (por ejemplo, estudios de la competencia o planes de marketing),
financiera (por ejemplo, planes para una oferta de acciones), legal (por
ejemplo, documentos sobre la posible fusión o absorción de una empresa), y de
muchos otros tipos. Con frecuencia, para proteger esta información se pone un
guardia uniformado a la entrada del edificio, que asegura la adecuada
identificación de todo el que entre. Asimismo, los archiveros y las oficinas se
cierran con llave para asegurar que sólo las personas autorizadas tengan acceso
a la información.
A medida que se
almacena cada vez más información de este tipo en los sistemas computacionales,
se vuelve cada vez más importante la necesidad de protegerla. Por lo tanto,
proteger esta información contra el uso no autorizado es una de las principales
preocupaciones de todos los sistemas operativos. Utilizaremos el término seguridad para hacer referencia al
problema general, y mecanismos de protección
para referirnos a los elementos específicos del sistema operativo que se
utilizan para salvaguardar la información en la computadora.
La seguridad tiene
muchas facetas. Tres de las más importantes son la naturaleza de las amenazas,
la naturaleza de los intrusos y la pérdida accidental de datos. Ahora
analizaremos cada una de estas facetas en orden.
AMENAZAS
Desde la perspectiva de
la seguridad, en sistemas computacionales se tienen cuatro objetivos generales
con sus correspondientes amenazas.
Objetivo
|
Amenaza
|
Confidencialidad de
los datos
|
Exposición de los
datos
|
Integridad de los
datos
|
Alteración de los
datos
|
Disponibilidad del
sistema
|
Negación del
servicio
|
Exclusión de los
usuarios externos
|
Los virus se
apropian del sistema
|
INTRUSOS
En la literatura de
la seguridad, las personas que husmean en lugares en donde no tienen por qué
hacerlo se conocen como intrusos, o algunas veces como adversarios. Los
intrusos actúan en dos formas distintas. Los intrusos pasivos sólo quieren leer archivos para los cuales no tienen
autorización. Los intrusos activos
son más maliciosos; desean realizar modificaciones no autorizadas a los datos.
Al diseñar un sistema para que sea seguro contra los intrusos, es importante
tener en cuenta el tipo de intruso contra el que tratamos de protegerlo.
Algunas categorías comunes son:
1.
Usuarios no técnicos
que se entrometen en forma casual. Muchas personas tienen computadoras
personales en sus escritorios, las cuales están conectadas a un servidor de
archivos compartidos y, debido a la naturaleza curiosa de los humanos, algunas
de esas personas son capaces de leer el correo electrónico y demás archivos de
otras si no hay barreras que las detengan.
2.
Intrusos que husmean. Los estudiantes,
programadores de sistemas, operadores y demás personal técnico a menudo
consideran como un reto personal la acción de irrumpir en la seguridad de un sistema
computacional local. Por lo general son muy habilidosos y están dispuestos a
dedicar una cantidad considerable de tiempo a ello.
3.
Intentos determinados
por obtener dinero.
Algunos programadores de los bancos han tratado de robar del banco en el que trabajan.
Los esquemas varían, desde cambiar el software para truncar en vez de redondear
el interés, quedarse con la fracción de un centavo, desviar las cuentas que no
se han utilizado en años, hasta llegar al chantaje (“Si no me pagan, destruiré
todos los registros del banco”).
4.
Espionaje comercial o
militar.
El espionaje se refiere a un intento serio y bien fundamentado por parte de un
competidor u otro país de robar programas, secretos comerciales, ideas
patentables, tecnología, diseños de circuitos, planes de negocios, etcétera. A
menudo para hacer esto se intervienen líneas telefónicas o incluso se montan
antenas dirigidas hacia la computadora para recoger su radiación
electromagnética.
5.
Los virus. En esencia, un
virus es una pieza de código que se duplica a sí mismo y (por lo general)
realiza cierto daño. En cierto modo, el programador de un virus es también un
intruso, a menudo con habilidades técnicas elevadas. La diferencia entre un
intruso convencional y un virus es que el primero se refiere a una persona que
trata de irrumpir en un sistema por motivos personales para ocasionar daños,
mientras que el segundo es un programa escrito por dicha persona y que después
se suelta en el mundo con la esperanza de que provoque daños. Los intrusos
tratan de irrumpir en sistemas específicos (por ejemplo, uno que pertenezca a
cierto banco o al Pentágono) para robar o destruir datos específicos, mientras
que el programador de un virus comúnmente quiere provocar daños en general, y
no le importa a quién.
PERDIDA ACCIDENTAL DE LOS DATOS
Además de las
amenazas ocasionadas por los intrusos maliciosos, por accidente se pueden
perder datos valiosos. Algunas de las causas comunes de pérdida accidental de
datos son:
Accidentes y desastres naturales: incendios,
inundaciones, terremotos, guerras, disturbios o ratas que roen cintas
magnéticas.
Errores de hardware o software: fallas en la CPU,
discos o cintas que no se pueden leer, errores de telecomunicaciones, errores
en los programas.
Errores humanos: error al introducir los datos, al montar
una cinta o un CD-ROM de manera incorrecta; ejecutar el programa incorrecto,
perder un disco o una cinta, o cualquier otro error.
miércoles, 30 de octubre de 2013
DERECHOS DE USUARIO EN WINDOWS 2008 SERVER
Tener
acceso a este equipo desde la red: Este derecho de usuario determina
a qué usuarios y grupos se les permite conectarse al equipo a través de la red.
Este derecho de usuario no afecta a Servicios de Terminal Server.
Actuar como
parte del sistema operativo: Este derecho de usuario permite que un
proceso suplante a cualquier usuario sin autenticación. De esta forma, el
proceso puede obtener acceso a los mismos recursos locales que el usuario.
Agregar
estaciones de trabajo al dominio: Esta configuración de seguridad
determina los grupos o usuarios que pueden agregar estaciones de trabajo a un
dominio. Sólo es válida en controladores de dominio. De manera predeterminada,
cualquier usuario autenticado tiene derecho a crear hasta 10 cuentas de equipo
en el dominio. Al agregar una cuenta de
equipo al dominio, al equipo se le permite participar en redes basadas en
Active Directory. Por ejemplo, al agregar una estación de trabajo a un dominio,
se habilita a la estación para que reconozca cuentas y grupos que existan en
Active Directory.
Ajustar
cuotas de memoria para un proceso: Este privilegio determina quién
puede cambiar la memoria máxima que puede utilizar un proceso. Este derecho de usuario está definido en el
objeto de Directiva de grupo (GPO) Controlador predeterminado de dominio y en
la directiva de seguridad local de estaciones de trabajo y servidores.
Permitir el
inicio de sesión local: Este derecho de inicio de sesión determina
los usuarios que pueden iniciar la sesión de forma interactiva en este equipo.
Los inicios de sesión iniciados presionando la secuencia Ctrl+Alt+Supr en el
teclado conectado requieren que el usuario tenga este derecho de inicio de
sesión. Asimismo, este derecho de inicio de sesión puede ser necesario para
algún servicio o aplicación administrativa que pueda permitir a los usuarios
iniciar sesión. Si define esta directiva para un usuario o grupo, también debe
conceder este derecho al grupo Administradores.
Permitir
inicio de sesión a través de Servicios de Terminal Server: Esta
configuración de seguridad determina qué usuarios o grupos tienen permiso para
iniciar sesión como cliente de Servicios de Terminal Server.
Hacer
copias de seguridad de archivos y directorios: Este derecho de
usuario determina qué usuarios pueden pasar por alto los permisos de archivos y
directorios, del Registro y de otros objetos persistentes con el propósito de
realizar copias de seguridad del sistema. Específicamente, este derecho de
usuario es similar a conceder los siguientes permisos al usuario o grupo en
cuestión para todos los archivos y carpetas del sistema:
- Recorrer carpeta o ejecutar archivo
- Enumerar carpeta o leer datos
- Leer atributos
- Leer atributos extendidos
- Permisos de lectura
Omitir la
comprobación de recorrido: Este derecho de usuario determina qué usuarios pueden recorrer los
árboles de directorios aunque no tengan permisos para el directorio recorrido.
Este privilegio no permite al usuario mostrar el contenido de un directorio,
sólo le da el derecho a recorrer los directorios.
Este derecho de usuario está definido en el objeto de Directiva de
grupo (GPO) Controlador predeterminado de dominio y en la directiva de
seguridad local de estaciones de trabajo y servidores.
Cambiar la
hora del sistema: Este derecho de usuario determina qué usuarios y
grupos que pueden cambiar la fecha y hora del reloj interno del equipo. Los
usuarios que tengan asignado este derecho pueden modificar la apariencia de los
registros de sucesos. Si se cambia la hora del sistema, los sucesos registrados
contendrán esta nueva hora, no la hora real en la que se produjeron.
Tomado de la página web: http://technet.microsoft.com/es-es/library/cc780182.aspx
martes, 8 de octubre de 2013
Paginación y Segmentación Combinadas
Tanto la paginación como la segmentación tienen sus
ventajas:
La paginación elimina la
fragmentación externa y de este modo, aprovecha la memoria principal de forma
eficiente. Además, puesto que los fragmentos que se cargan y descargan de la
memoria principal son de tamaño fijo e iguales, es posible construir algoritmos
se gestión de memoria sofisticados que aprovechen mejor el comportamiento de
los programas.
La segmentación tiene las
ventajas antes citadas, incluida la capacitación de gestionar estructuras de
datos que puedan crecer, la modularidad y el soporte de la compartición y la
protección. Para combinar las ventajas de ambas, algunos sistemas están
equipados con hardware del procesador y software del S.O.
En un sistema con paginación
y segmentación combinadas, el espacio de direcciones de un usuario se divide en
varios segmentos según el criterio del programador. Cada segmento se vuelve a
dividir en varias páginas de tamaño fijo, que tienen la misma longitud que un
marco de memoria principal. Si el segmento tiene menor longitud que la página,
el segmento ocupará sólo una página. Desde el punto de vista del programador,
una dirección lógica todavía está formada por un número de segmento y un
desplazamiento en el segmento. Desde el punto de vista de sistema, el
desplazamiento del segmento se ve como un número de página dentro del segmento
y un desplazamiento dentro de la página.
La entrada de la tabla de
segmentos contiene la longitud del segmento. Los bits de presencia y
modificación no son necesarios, puesto que estos elementos se gestionan en la
página. Pueden usarse otros bits de control para compartición y protección. La
entrada de la tabla de páginas es, la misma que se usa en un sistema de
paginación pura. Cada número de página se convierte en el número de marco
correspondiente si la página está presente en la memoria. El bit de
modificación indica si se necesita escribir la página en el disco cuando se
asigna el marco a otra página.
domingo, 6 de octubre de 2013
Segmentación en los Sistemas Operativos
La segmentación permite al
programador contemplar la
memoria como si constara de varios espacios de direcciones o segmentos. Los
segmentos pueden ser de distintos tamaños, incluso de forma dinámica. Las
referencias a la memoria constan de una dirección de la forma (número de
segmento, desplazamiento).
Definición: La segmentación es un esquema de administración de la memoria que soporta la visión que el usuario tiene de la misma.
Definición: La segmentación es un esquema de administración de la memoria que soporta la visión que el usuario tiene de la misma.
Un espacio de direcciones lógicas es una colección de segmentos.
Cada segmento tiene un nombre y una longitud.
Las direcciones especifican tanto el nombre del segmento como el
desplazamiento dentro del segmento.
Por lo tanto, el usuario especifica cada dirección mediante dos cantidades:
un nombre de segmento y un desplazamiento.
Esta organización ofrece
al programador varias ventajas sobre un espacio de direcciones no segmentado:
1. Simplifica
la gestión de estructuras de datos crecientes.
2. Permite
modificar y recopilar los programas independientemente.
3. Se
presta a la compartición entre procesos.
4. Se
presta a la protección.
Organización
En el estudio de la
segmentación, se llegó a la conclusión de que cada proceso tiene su propia
tabla de segmento y que, cuando todos los segmentos se encuentran en la memoria
principal, la tabla de segmentos del proceso se crea y se carga en la memoria.
Cada entrada de la tabla contiene la dirección de comienzo del segmento
correspondiente de la memoria principal, así como su longitud.
La misma estructura se
necesitará al hablar de un esquema de memoria virtual basado en la segmentación
donde las entradas de la tabla de segmentos pasan a ser más complejas. Puesto
que sólo algunos de los segmentos de un proceso estarán en la memoria
principal, se necesita un bit en cada entrada de la tabla de segmentos para
indicar si el segmento correspondiente está presente en la memoria principal.
Si el bit indica que el segmento está en la memoria, la entrada incluye también
la dirección de comienzo y la longitud del segmento.
Otro bit de control
necesario en la entrada de la tabla de segmentos es un bit de modificación que
indique si el contenido del segmento correspondiente ha sido modificado desde
que se cargó por última vez en la memoria principal. Si no ha habido cambios,
no será necesario escribir en el disco el segmento cuando llegue el momento de
reemplazarlo en el espacio que ocupa actualmente.
Paginación en los Sistemas Operativos
El término memoria
virtual se asocia normalmente con sistemas que emplean paginación,
aunque también se puede usar memoria virtual basada en la segmentación. El uso
de la paginación en la memoria virtual fue presentado por primera vez en el
computador Atlas.
Definición: La paginación es uno de los esquemas de manejo de memoria en donde un computador puede almacenar y recuperar datos de un dispositivo de almacenamiento secundario para su uso en la memoria principal. En el esquema de manejo de memoria de paginación, el sistema operativo recupera datos desde un dispositivo de almacenamiento secundario en bloques de un mismo tamaño llamados páginas.
Cada proceso tiene su
propia tabla de páginas y cuando carga todas sus páginas en la memoria
principal, se crea y carga en la memoria principal una tabla de páginas. Cada
entrada de la tabla de páginas contiene el número de marco de la página
correspondiente en la memoria principal. Puesto que sólo algunas de las páginas
de un proceso pueden estar en la memoria principal, se necesita un bit en cada
entrada de la tabla para indicar si la página correspondiente está presente (P)
en la memoria principal o no. Si el bit indica que la página está en la
memoria, la entrada incluye también el número de marco para esa página.
La
paginación consiste en considerar el espacio de direcciones lógicas de cada
proceso como un conjunto de bloques de tamaño consistente llamados páginas.
Cada dirección lógica manejada para un proceso estará conformada por un par de valores
[página: desplazamiento].
Método
básico:
La memoria
física se compone en bloques de tamaño fijo denominados marcos.
La memoria
lógica también se compone en bloques del mismo tamaño denominados páginas
Otro bit de control
necesario en la entrada de la tabla de páginas es el bit de modificación (M),
para indicar si el contenido de la página correspondiente se ha alterado desde
que la página se cargó en la memoria principal. Si no ha habido cambios, no es
necesario escribir la página cuando sea sustituida en el marco que ocupa
actualmente.
miércoles, 2 de octubre de 2013
Memoria Virtual en los Sistemas Operativos
La memoria virtual es una técnica para proporcionar la simulación de un
espacio de memoria mucho mayor que la memoria física de una máquina. Esta
ilusión permite que los programas se hagan sin tener en cuenta el tamaño exacto
de la memoria física.
La memoria virtual ha llegado a ser un componente esencial de la mayoría de
los S.O actuales. Y como en un instante dado, en la memoria solo se tienen unos
pocos fragmentos de un proceso dado, se pueden mantener más procesos en la
memoria.
La memoria virtual también simplifica la carga del programa para su
ejecución llamado reubicación, este procedimiento permite que el mismo programa
se ejecute en cualquier posición de la memoria física.
Memoria virtual= memoria
física + área de swapping en disco
Evaluación de las Organizaciones de Almacenamiento
Almacenamiento virtual "significa la capacidad de direccionar un
espacio de almacenamiento mucho mayor que el disponible en el almacenamiento
primario de determinado sistema de computación”. Esta tecnología apareció
en 1960 en la Universidad de Manchester (Inglaterra), en el sistema “Atlas”.
Los métodos más comunes
de implementación son mediante:
•Técnicas de
“paginación”.
•Técnicas de
“segmentación”.
•Una combinación de
ambas técnicas.
Memoria Real en los Sistemas Operativos
La memoria real o principal es donde son ejecutados los programas y procesos de una computadora. Por lo
general esta memoria es de mayor costo que la memoria secundaria, pero el
acceso a la información contenida en ella es de más rápido acceso. Solo la memoria cache es más rápida que la principal,
pero su costo es a su vez mayor.
La organización y administración de la “memoria
principal”, “memoria primaria” o “memoria real” de un sistema ha sido y es uno
de los factores más importantes en el diseño de los S. O.
Los términos “memoria” y “almacenamiento” se consideran
equivalentes.
Los programas y datos deben estar en el almacenamiento
principal para:
•Poderlos ejecutar.
•Referenciarlos directamente
Estrategias de Administración de Memoria
Están
dirigidas a la obtención del mejor uso posible del recurso del almacenamiento
principal.
Se
dividen en las siguientes categorías:
•Estrategias
de búsqueda:
◦ Estrategias de búsqueda por demanda.
◦ Estrategias de búsqueda anticipada.
•Estrategias
de colocación.
•Estrategias
de reposición.
Las
“estrategias de búsqueda” están relacionadas con el hecho de cuando obtener el
siguiente fragmento de programa o de datos para su inserción en la memoria
principal.
En
la “búsqueda por demanda” el siguiente fragmento de programa o de datos se
carga al almacenamiento principal cuando algún programa en ejecución lo
referencia; en caso contrario, en la “búsqueda anticipada”, ningún programa referencia y por esto se
considera que puede producir un mejor rendimiento del
sistema.
Las
“estrategias de colocación” están relacionadas con la determinación del lugar
de la memoria donde se colocara (cargara) un programa nuevo.
miércoles, 18 de septiembre de 2013
Atributos de un Archivo en Windows
Un archivo informático o fichero
es un conjunto de bits almacenado en un dispositivo periférico (disco duro,
disco flexible, etc.). Un archivo es identificado por un nombre (en Windows
nombre más extensión, en GNU Linux sólo nombre) y la descripción de la unidad y
carpeta o directorio que lo contiene. Los archivos informáticos se llaman así
porque son los equivalentes digitales de los archivos en papel del entorno de
oficina tradicional. Los archivos informáticos facilitan una manera de
organizar los recursos usados para almacenar permanentemente datos en un
sistema informático.
Los posibles atributos de un fichero son:
Sólo lectura: impide que se
pueda sobrescribir (modificar) o eliminar un fichero.
Oculto: impide que se
visualice al listar, por lo tanto no se pude copiar ni suprimir, a no ser que
se conozca su nombre o que tengamos activa la opción de mostrar archivos
ocultos.
Archivo listo para archivar históricamente: indica si el archivo o carpeta se debe guardar cuando se realice
una copia de seguridad.
Permitir al servicio de Index Server: indica que
el archivo o carpeta se indexará para realizar una búsqueda rápida de texto en
su contenido, propiedades o atributos.
Comprimir contenido para ahorrar espacio en disco: indica que el archivo o carpeta se
comprimirá automáticamente para ahorrar espacio en disco.
Cifrar contenido para proteger datos: indica que el archivo o carpeta se cifrará para evitar que su
contenido pueda ser visto por otro usuario.
Sistema: indica que el archivo
es para uso del sistema operativo, uso interno.
Directorio: indica que es
una carpeta.
Normal: un archivo que no
tiene otros atributos establecidos. El Sistema Operativo puede optar por almacenar datos de archivos con este atributo en la memoria en lugar de un almacenamiento masivo.
Fuera de línea: este atributo indica que los datos del fichero no están disponibles de inmediato, indica que el archivo ha sido movido a una conexión de datos de almacenamiento.
Fuera de línea: este atributo indica que los datos del fichero no están disponibles de inmediato, indica que el archivo ha sido movido a una conexión de datos de almacenamiento.
Temporal: archivo utilizado
para almacenamiento temporal.
Uso del comando attrib en Windows
Línea de Comandos Windows
Uso del comando attrib en Windows
Línea de Comandos Windows
domingo, 8 de septiembre de 2013
SISTEMAS DE ARCHIVOS
Un
sistema de archivos son los métodos y estructuras de datos que un sistema
operativo utiliza para seguir la pista de los archivos de un disco o partición;
es decir, es la manera en la que se organizan los archivos en el disco.
Tipos de sistemas de archivos admitidos
|
|
Dos
|
FAT16
|
Windows 95
|
FAT16
|
Windows 95 OSR2
|
FAT16, FAT32
|
Windows 98
|
FAT16, FAT32
|
Windows NT4
|
FAT, NTFS (versión 4)
|
Windows 2000/XP/Vista/2003/2008/7/8
|
FAT, FAT16, FAT32, NTFS
(versiones 4 y 5)
|
Linux
|
Ext2, Ext3, ReiserFS,
Linux Swap
|
MacOS
|
HFS (Sistema de Archivos Jerárquico), MFS
(Sistemas de Archivos Macintosh)
|
OS/2
|
HPFS (Sistema de Archivos de Alto Rendimiento)
|
SGI IRIX
|
XFS
|
FreeBSD, OpenBSD
|
UFS (Sistema de Archivos Unix)
|
Sun Solaris
|
UFS (Sistema de Archivos Unix)
|
IBM AIX
|
JFS (Sistema Diario de Archivos)
|
Las operaciones básicas que la mayoría
de los sistemas de archivos soportan son:
- Crear ( create ) : Permite crear un archivo sin datos, con el
propósito de indicar que ese nombre ya está usado y se deben crear las
estructuras básicas para soportarlo.
- Borrar ( delete ): Eliminar el archivo y liberar los bloques para
su uso posterior.
- Abrir ( open ): Antes de usar un archivo se debe abrir para que el
sistema conozca sus atributos, tales como el dueño, la fecha de
modificación, etc. _ Cerrar ( close ): Después de realizar todas las
operaciones deseadas, el archivo debe cerrarse para asegurar su integridad
y para liberar recursos de su control en la memoria.
- Leer o Escribir ( read, write ): Añadir información al archivo o
leer el caracter o una cadena de caracteres a partir de la posición
actual. _ Concatenar ( append ): llamada 'write', en la cual sólo se
permite añadir información al archivo.
- Leer atributos: Permite obtener una estructura con todos los atributos del archivo especificado, tales como permisos de escritura, de borrado, ejecución, etc.
- Poner atributos: Permite cambiar los atributos de un archivo.
- Renombrar ( rename ): Permite cambiarle el
nombre e incluso a veces la posición en la organización de directorios del
archivo especificado.
miércoles, 4 de septiembre de 2013
Planificación - Interbloqueos - Inanición
Planificación
Cuando una computadora se
multiprograma, con frecuencia tiene varios procesos o hilos que compiten por la
CPU al mismo tiempo. Esta situación ocurre cada vez que dos o más de estos
procesos se encuentran al mismo tiempo en el estado listo. Si sólo hay una CPU
disponible, hay que decidir cuál proceso se va a ejecutar a continuación. La parte del sistema operativo
que realiza esa decisión
se conoce como planificador de procesos y el algoritmo que utiliza se
conoce como algoritmo de planificación.
Interbloqueos
Los sistemas computacionales
están llenos de recursos que pueden ser utilizados por sólo un proceso a la vez.
Algunos ejemplos comunes son las impresoras, las unidades de cinta y las ranuras
en los tableros internos del sistema. Cuando dos procesos escriben de manera
simultánea en la impresora se producen incoherencias. Si dos procesos utilizan la
misma entrada en la tabla del sistema de archivos invariablemente se corrompe
el sistema de archivos. En consecuencia, todos los sistemas operativos tienen
la habilidad de otorgar (en forma temporal) a un proceso el acceso exclusivo a
ciertos recursos.
Hay situaciones donde varios
procesos están bloqueados y permanecerán así para siempre. A esta situación se le
conoce como interbloqueo. Los
interbloqueos también pueden ocurrir entre máquinas. Las situaciones más
complicadas pueden ocasionar interbloqueos que involucren a tres, cuatro o más dispositivos y usuarios.
El interbloqueo se puede definir
formalmente de la siguiente manera: Un conjunto de procesos se encuentra en un interbloqueo si cada proceso en el conjunto
está esperando un evento que sólo puede ser ocasionado por otro proceso en el conjunto.
Inanición
Una situación en la que todos
los programas continúan ejecutándose en forma
indefinida pero no progresan,
esto se conoce como inanición (starvation).
Un problema muy relacionado con el interbloqueo es la inanición. En un sistema dinámico, las peticiones de recursos ocurren todo el tiempo. Se necesita cierta política para decidir
acerca de quién obtiene qué
recurso y cuándo. Esta política, aunque parece razonable, puede ocasionar que ciertos
procesos nunca reciban atención, aun cuando no estén en interbloqueo.
Como
ejemplo, considere la asignación de la impresora. Imagine que el sistema utiliza
cierto algoritmo para asegurar que la asignación de la impresora
no produzca un interbloqueo. Ahora suponga que varios procesos
la quieren al mismo tiempo.
¿Quién debe obtenerla?
Un
posible algoritmo de asignación es otorgar
la impresora al proceso con el archivo más pequeño a imprimir (suponiendo que
esta información esté disponible). Este método maximiza el número de clientes satisfechos y parece razonable. Ahora considere lo que ocurre en un sistema ocupado, cuando un proceso tiene
que imprimir un archivo enorme. Cada vez que la impresora esté libre, el
sistema buscará y elegirá el proceso con el archivo más pequeño. Si hay un
flujo constante de procesos
con archivos cortos,
el proceso con el archivo
enorme nunca recibirá
la impresora. Simplemente se pospondrá de manera indefinida, aun cuando no está bloqueado.
Suscribirse a:
Entradas (Atom)