33
qwertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmqwert yuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopa sdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghj klzxcvbnmqwertyuiopasdfghjklz xcvbnmqwertyuiopasdfghjklzxcv bnmqwertyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwe rtyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuio pasdfghjklzxcvbnmqwertyuiopas dfghjklzxcvbnmqwertyuiopasdfg hjkl b t i df hjk Ensayos ITQ 16/09/2015 Instituto Tecnológico de Querétaro Taller de Sistemas Operativos Francisco Sierra Pérez

essay computer

Embed Size (px)

DESCRIPTION

essay

Citation preview

Page 1: essay computer

Instituto Tecnológico de Querétaro Sistemas Programables

Investigación Arduino UNO Francisco Sierra Pérez

qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjkl b t i df hjk

Ensayos

ITQ

16/09/2015

Instituto Tecnológico de Querétaro Taller de Sistemas Operativos

Francisco Sierra Pérez

Page 2: essay computer

Introduccion a los SO Por lo general, cuando un aparato electrónico que utiliza un microprocesador para funcionar (router, switch, PC, Gateway, PIC, Smart Phone, etc.) suelen tener un SO y su configuración respectiva para funcionar, la cual normalmente se encuentra en la memoria ROM. Al suministrar voltaje al dispositivo electrónico con un la configuración del SO precargado en la ROM, se carga esta configuración y el SO empieza a iniciar.

Un Sistema Operativo es un software del sistema, un conjunto de programas de computación destinadas a realizar múltiples tareas y una de las más importantes es la administración del hardware.

Controla y coordina el uso del HW entre los diversos programas de aplicación para los distintos usuarios.

Según el libro Sistemas Operativos de David Luis La Red “Un SO es un grupo de programas de proceso con las rutinas de control necesarias para mantener continuamente operativos dichos programas”

El objetivo primario de un SO es el de optimizar los recursos del sistema para soportar los requerimientos.

Un SO en conjunto del software para computadoras podemos clasificarlo de la siguiente manera:

• Programas de sistema: o Controlan la operación de la computadora en sí.

• Programas de aplicación: o Resuelven problemas para los usuarios.

El SO protege y libera a los programadores de la complejidad del hardware, colocándose un nivel de software por sobre el hardware para:

• Controlar las partes del sistema. • Presentar al usuario una interfaz o máquina virtual.

El esquema típico de un SO incluye:

• Programas de aplicación. • Programas de sistema

o Compiladores, editores, intérpretes de comandos o Sistema Operativo.

• Hardware: o Lenguaje de la máquina o Microprogramación o Dispositivos físicos

Page 3: essay computer

Otra de las principales funciones del SO es ocultar toda la complejidad y brindar al programador o usuario un conjunto más conveniente de instrucciones para trabajar.

Historia de los SO

• Generación cero (década 1940) o Carencia total de SO o Completo acceso al lenguaje maquina

• Primera generación (1945-1955): bulbos y conexiones. o Carencia de SO o En los años 50 comienzan con la transición entre trabajos, haciendo la misma más

simple. • Segunda generación (1955-1965): transistores y sistemas de procesamiento por lotes

(batch) o En los años 60 aparecen los SO

Multiprogramación: varios programas de usuarios se encuentran al mismo tiempo en el almacenamiento principal, cambiando el procesador rápidamente de un trabajo a otro.

Multiprocesamiento: Varios procesadores se utilizan en un mismo sistema para incrementar el poder de procesamiento.

o Independencia de dispositivo: El programa del usuario especifica las características de los dispositivos

que requieren los archivos. El SO asigna los dispositivos correspondientes según los requerimientos y

las disponibilidades. • Tercera generación (1965-1980): Circuitos integrados y multiprogramación

o Partición de la memoria en porciones, con trabajos distintos en cada una de ellas o Protección por hardware del contenido de cada partición de memoria. o Tecnicas spooling.

• Cuarta generación (1980-1990) PC o Software amigable con el usuario o SO de red y SO distribuidos o Emuladores de terminal o Seguridad o Máquinas virtuales o Proliferación de sistemas de bases de datos

Arquitectura de un SO

Page 4: essay computer

Modo Usuario

Sistemas integrales: Se encarga de funciones específicas del SO de parte del subsistema de entorno -Servicio de terminal API al redirector de red, que proporciona acceso a la red a la computadora. -Servicio de servidor API que permite proporcionar servicios de red -Seguridad Permite o deniega el acceso de cuentas de usuario, gestiona peticiones de comienzo de sesión e inicia la autentificación.

Subsistemas de entorno: Ejecuta aplicaciones escritas para diferentes SO. Solicita acceso al hardware a través del Gestor de Memoria Virtual. -Win32 Ejecuta aplicaciones de Windows de 32-bits. Contiene a la consola y soporte para ventanas de texto, apagado y manejo de errores. -POSIX Norma que define una interfaz estándar del sistema operativo y entorno, incluyendo el Shell. -OS/2 SO de IBM que intentó suceder a DOS como SO de las PCs.

Modo Kernel (Núcleo) Tiene acceso a todos los recursos del sistema y hardware

Executive: Se relaciona con todos los subsistemas del modo usuario.

Servicios executive

Gestor E/S Permite a los dispositivos comunicarse con los subsistemas del modo usuario.

Monitor de seguridad Hace cumplir las reglas del subsistema de seguridad integral

Controlador de Caché Realiza operaciones entre archivos locales y remotos.

Gestor de configura-ción Implementa el registro de Windows.

LPC Da comunicación entre procesos.

Gestor de Mem. Gestiona la memoria virtual y el paginado de memoria física

Estruct. de proc. Crea y finaliza procesos e hilos.

Gestor PnP Gestiona el servicio Plug and Play.

Gestor de energía Se ocupa de los eventos de energía.

Gestor de objetos Subsistema especial por el cual todos las llamadas al sistema deben pasar para acceder a los recursos de Windows

GDI Se ocupa de tareas como dibujar líneas y curvas.

Controladores del modo núcleo Necesarios para interactuar con el hardware

Micro-kernel se encarga de sincronización con el procesador, hilos, envío y planificación de interrupciones, gestión de interrupciones y envío de excepciones.

HAL Oculta diferencias de hardware

Hardware (dispositivos físicos)

Page 5: essay computer

Sistema Informático Un sistema informático es un sistema que permite almacenar y procesar información; es el conjunto de partes interrelacionadas: hardware, software y el usuario. El hardware incluye cualquier tipo de dispositivo electrónico, que consisten en procesadores, memoria, sistemas de almacenamiento externo, etc.

Un SI está conformado por los siguientes componentes:

• Usuario • Programas de aplicación • Sistema Operativo • Hardware

Estructura de los SO

Sistemas Monolíticos • Es muy común; no existe una estructura, o bien es mínima. • El SO es una colección de procedimientos que se pueden llamar entre sí. • Cada procedimiento tiene una interfaz bien definida.

Sistemas con capas • Es una generalización del modelo de estructura simple para un sistema monolítico. • Organiza el SO como una jerarquía de capas, cada una construida sobre la inmediata

inferior.

Máquinas virtuales • Se separan totalmente las funciones de multiprogramación y de máquina extendida. • Existe un monitor central llamado monitor de la máquina virtual que:

o Se ejecuta en el hardware. o Realiza la multiprogramación o Proporciona varias máquinas virtuales a la capa superior.

Cliente servidor • Implantar la mayoría de las funciones del SO en los procesos de usuario • El núcleo controla la comunicación entre los clientes y servidores. • Se fracciona el SO en partes, cada una controlada por una faceta. • Los servidores se ejecutan como procesos en modo usuario. • Se adapta para su usa en los sistemas distribuidos

o Si un cliente se comunica con un servidor mediante mensajes: No necesita saber si el mensaje se atiende localmente o mediante un

servidor remoto, situado en otra máquina conectada. Envía una solicitud y obtiene una respuesta.

Page 6: essay computer

Tendencias • Soporte generalizado para multiprocesamiento. • Migración hacia micro código de funciones de los SO. • Distribución del control entre procesadores localizados. • Mejora de la eficiencia en el soporte de la ejecución concurrente de programas. • Soporte del paralelismo masivo con altísimo grado de concurrencia. • Profundización de los esquemas de máquinas virtuales. • Compatibilidad con nuevas generaciones de computadoras. • Permanencia del concepto del almacenamiento virtual.

Estructura simple de un SO

MS-DOS

– Las interfaces y niveles de funcionalidad no están separadas

– Los programas de aplicaciones pueden acceder a las rutinas básicas de E/S para escribir en la pantalla y las unidades de disco

– Vulnerables a programas erróneos

UNIX

– Consta de dos partes separadas:

• El Kernel

– Una serie de interfaces

– Controladores de dispositivos

• Los programas del sistema

– El Kernel proporciona el sistema de archivos, los mecanismos de planificación de la CPU, la funcionalidad de gestión de memoria y muchas más funciones a través de llamadas al sistema

Page 7: essay computer

Conclusión Los sistemas operativos en general son fundamentales para vida de una computadora o cualquier aparato con un microprocesador, ya que sin el SO no podría ejecutar sus diferentes funciones para las cuales fueron diseñadas.

Así también para el uso compartido de información entre otras computadoras, las cuales necesitan un reglemos o un protocolo para tener sus usos limitados alrededor de los usuarios.

Se ha necesitado de años para poder desarrollar los SO tan robustos y completos como los que tenemos ahora, los cuales han avanzado considerablemente en cuanto a capacidad, optimización de recursos y facilidad de uso, además de todas las aplicaciones con las que cuentan tanto en el hogar como en las grandes empresas.

Gracias a Internet se ha permitido la creación de SO más completos que facilitan la interacción entre otros dispositivos que se encuentran remotamente.

Bibliografía: Libro: Sistemas Operativos – Magister David Luis La Red Martínez

Sitio WEB: https://sites.google.com/site/sistemasoperativos9/

Page 8: essay computer

Procesos

Introducción El concepto central de cualquier Sistema operativo es el de proceso: una abstracción de un programa en ejecución también llamada tarea.

En sistemas de multiprogramación la cpu alterna de programa en programa, en un esquema de pseudoparalelismo, es decir que la cpu ejecuta en cierto instante un solo programa, intercambiando muy rápidamente entre uno y otro.

El modelo de procesos posee las siguientes características:

• Todo el software ejecutable, inclusive el S. O., se organiza en varios procesos secuenciales. • Un proceso incluye al programa en ejecución y a los valores activos del contador, registros

y variables del mismo. • Un proceso incluye al programa en ejecución y a los valores activos del contador, registros

y variables del mismo. • Conceptualmente cada proceso tiene su propia cpu virtual • Si la cpu alterna entre procsos, la velocidad a la que ejecuta un proceso no será uniforme. • Un proceso es una actividad de un cierto tipo, que tiene un programa, entrada, salida y

estado. • Un solo procesador puede ser compartido entre varios procesos con cierto algoritmo de

planificación.

Los S. O. deben de disponer de una forma de crear y distribuir procesos cuando se requiera durante la operación, teniendo además presente que los procesos pueden generar procesos hijos mediante llamadas al S. O., pudiendo darse ejecución en paralelo.

En los estados del proceso deben efectuarse las siguientes consideraciones:

• Cada proceso es una entidad independiente pero frecuentemente debe interactuar con otros procesos.

• Los procesos pueden bloquearse durante su ejecución porque: o Espera datos que aún no están disponibles. o El S.O. asignó cpu a otro proceso.

• Los estados que puede tener un proceso son: o En ejecución : Utiliza la CPU en el instante dado. o Listo: Ejecutable, se detiene en forma temporal para que se ejecute otro proceso o Bloqueado: No se puede ejecutar debido a la ocurrencia de algún evento externo.

Page 9: essay computer

Estados de procesos Durante la existencia de un proceso pasa por una serie de estados discretos, siendo varias las circunstancias que pueden hacer que el mismo cambie de estado. Debido a ello se puede establecer una “Lista de listos” para los procesos “Listos” y una lista de “Lista bloqueados” para los “Bloqueados” respectivamente.

La “Lista listos” se mantiene en orden prioritario y la “Lista bloqueados” está desordenada, ya que los procesos se desbloquean en el orden que tienen lugar los eventos que están esperando. Al admitirse un trabajo en el sistema se crea un proceso equivalente y es insertado en la última parte del “Lista listos”.

Cuando el S. O. cambia la atención de la cpu entre procesos, utiliza las áreas de preservación del PCB para mantener la información que necesita para reiniciar el proceso que consigna al nuevo cpu.

Los sistemas de administración deben poder crear, destruir, suspender, reanudar, cambar la prioridad, bloquear, despertar y despachar un proceso.

Creación de un proceso • Dar nombre al proceso. • Insertar un proceso en la lista de procesos conocidos. • Determinar la prioridad inicial del proceso. • Crear un bloque de control del proceso. • Asignar los recursos iniciales del proceso.

Destrucción de un proceso • Borrado del sistema. • Devolver sus recursos al sistema. • Purgarlo de todas las listas o tablas del sistema. • Borrar su bloque de control de procesos.

Al conjunto de control sobre los diferentes procesos se le llama “Tabla de Procesos”

Interrupciones Una interrupción es un evento que altera la secuencia en que el procesador ejecuta las instrucciones; es un hecho generado por el hardware de la computadora. Cuando ocurre una interrupción, el S. O.:

Page 10: essay computer

• Obtiene el control • Salva el estado del proceso interrumpido, generalmente en su bloque de control de

procesos. • Analiza la interrupción. • Transfiere el control de la rutina apropiada para la manipulación de la interrupción.

Tipos de Interrupciones:

El S. O. tiene rutinas llamadas “Manipuladores de Interrupciones (IH)” para procesar cada tipo diferente de interrupción.

Núcleo del SO Controla todas las operaciones que implican procesos y representa solo una pequeña porción del código del S.O. pero es de amplio uso.

Funciones:

• Manipulación de interrupciones • Creación y destrucción de procesos. • Cambio de estados de procesos. • Despacho. • Suspensión y reanudación de procesos. • Sincronización de procesos. • Comunicación de procesos. • Manipulación de bloques de control de proceso. • Soporte a las actividades E/S • Soporte a la asignación y des asignación de almacenamiento. • Soporte del sistema de archivos. • Soporte de un mecanismo de llamada / regreso al procedimiento. • Soporte de ciertas funciones contables (estadísticas) del sistema.

Planificación de procesos Cuando más de un proceso es ejecutable desde el punto de vista lógico, el S.O debe decidir cuál de ellos debe ejecutarse en primer término. El planificador es la porción del S.O. que decide y el Algoritmo de planificación es el utilizado.

Page 11: essay computer

Los principales criterios respecto de un buen algoritmo de planificación son equidad, eficacioa, tiempo de respuesta, tiempo de regreso y el rendimiento.

Temporizador de intervalos o reloj de ejecución El S.O. posee un reloj de interrupción para generar una interrupción en un tiempo futuro específico o después de un transcurso de tiempo en el futuro. Un proceso retiene el control de la cpu hasta que ocurra una de las siguientes situaciones:

• La libera voluntariamente. • El reloj la interrumpe. • Alguna otra interrupción atrae la atención de la cpu.

Bibliografía Libro: Sistemas Operativos – Magister David Luis La Red Martínez

Page 12: essay computer

Memoria

Introducción La organización y administración de la memoria principal de un sistema ha sido y es uno de los factores más importantes del diseño de los S. O.

Los programas deben de estar en el almacenamiento principal para:

• Poderlos ejecutar. • Referenciarlos directamente

Jerarquía de almacenamiento Los sistemas con varios niveles de almacenamiento requieren destinar recursos para administrar el movimiento de programas y datos entre niveles. Un nivel adicional es el caché, que posee las siguientes características:

• Es más rápida y costosa que la memoria principal. • Impone al sistema un nivel más de traspaso:

o Los programas son traspasados de la memoria principal al caché antes de su ejecución.

• Los programas en la memoria caché ejecutan mucho más rápido que en la memoria principal.

• Al utilizar memoria caché se espera que: o La sobrecarga que supone el traspaso de programas de un nivel de memoria a otra

sea de mucho menor que la mejora en rendimiento obtenida por la posibilidad de ejecución más rápida en la memoria caché.

Organización jerárquica del almacenamiento:

Page 13: essay computer

Estrategias de administración del almacenamiento Están dirigidas a la obtención del mejor uso posible del almacenamiento principal. Se dividen en las siguientes categorías:

• Estrategia de búsqueda: o Estrategias de búsqueda por demanda. o 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 cuándo 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.

Se considera que la búsqueda anticipada 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 colocará un programa nuevo.

Las estrategias de reposición están relacionadas con la determinación de qué fragmento de programa desplazar para dar lugar a programas nuevos.

Asignación contigua vs no contigua Contigua: Cada programa ocupa un bloque contiguo y sencillo de localizaciones de almacenamiento.

No contigua: Un programa se divide en varios bloques que pueden almacenarse en direcciones que no tienen que ser necesariamente adyacentes, por lo que es más compleja pero más eficiente que la asignación contigua.

Asignación contigua de almacenamiento de un solo usuario El tamaño de los programas está limitado por la cantidad de memoria principal, pero se puede superar este límite con técnicas de recubrimientos, con las siguientes características:

• Si una sección particular del programa ya no es necesaria, se carga otra sección desde el almacenamiento secundario ocupando las áreas de memoria liberadas por la sección que ya no se necesita.

• La administración manual por programa del recubrimiento es complicada y dificulta el desarrollo y el mantenimiento.

Page 14: essay computer

Multiprogramación de partición fija Los sistemas de un solo usuario desperdician gran cantidad de recursos computacionales debido a que:

• Cuando ocurre una petición de E/S la cpu normalmente no puede continuar el proceso hasta que concluya la operación de E/S requerida

• Los periféricos de E/S frenan la ejecución de los procesos ya que comparativamente la cpu es varios órdenes de magnitud más rápida que los dispositivos de E/S.

• Un trabajo en espera de E/S cederá la cpu a otro trabajo que esté listo para efectuar cómputos.

• Existe el paralelismo entre el procesamiento y la E/S. • Se incrementa la utilización de la cpu y la capacidad global de ejecución del sistema. • Es necesario que varios trabajos residan a la vez en la memoria principal.

Page 15: essay computer

Multiprogramación de partición variable Los procesos ocupan tanto espacio como necesitan, pero obviamente no deben superar el espacio disponible de memoria.

• No hay límites fijos de memoria. • Se consideran sistemas de asignación contigua, dado a que un programa debe ocupar

posiciones adyacentes de almacenamiento. • Los procesos que terminan dejan disponibles espacios de memoria principal llamados

agujeros. o Pueden ser usados por otros trabajos que cuando finalizan dejan otros agujeros o En sucesivos pasos los agujeros son cada vez más numerosos pero más pequeños,

por lo que genera un desperdicio de memoria principal.

Page 16: essay computer

Conclusión En la memoria principal son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos. La asignación consiste en determinar cuál espacio vacío en la memoria principal es el más indicado

Page 17: essay computer

para ser asignado a un proceso.

Las estrategias más comunes para asignar espacios vacíos (huecos) son: primer ajuste, mejor ajuste, peor ajuste. La paginación es una técnica de gestión de memoria en la cual el espacio de memoria se divide en secciones físicas de igual tamaño llamadas marcos de página, las cuales sirven como unidad de almacenamiento de información. La segmentación es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica; llevándose a cabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos.

Bibliografía Libro: Sistemas Operativos – Magister David Luis La Red Martínez

Page 18: essay computer

Archivos

Introducción

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. El término también es utilizado para referirse a una partición o disco que se está utilizando para almacenamiento, o el tipo del sistema de archivos que utiliza. Así uno puede decir “tengo dos sistemas de archivo” refiriéndose a que tiene dos particiones en las que almacenar archivos, o que uno utiliza el sistema de “archivos extendido”, refiriéndose al tipo del sistema de archivos.

Nombres de los sistemas de archivos

Algunos sistemas de archivos distinguen entre las letras mayúsculas y minúsculas, mientras que otros no. Muchos S. O. utilizan nombres de archivo con dos partes, separadas por un punto. La parte posterior al punto es la extensión de archivo y generalmente indica algo relativo al archivo, aunque las extensiones suelen ser meras convenciones

Estructura de un archivo • “Secuencia de bytes”:

o El archivo es una serie no estructurada de bytes. o Posee máxima flexibilidad. o El S. O. no ayuda pero tampoco estorba.

• “Secuencia de registros”: o El archivo es una secuencia de registros de longitud fija, cada uno con su propia

estructura interna. • “Árbol ”:

o El archivo consta de un árbol de registros, no necesariamente de la misma longitud.

o Cada registro tiene un campo key (llave o clave) en una posición fija del registro. o El árbol se ordena mediante el campo de clave para permitir una rápida búsqueda

de una clave particular.

Tipos de archivos

Muchos S. O. soportan varios tipos de archivos, por ej.: archivos regulares, directorios, archivos especiales de caracteres, archivos especiales de bloques, etc., donde:

• Los Archivos Regulares son aquellos que contienen información del usuario. • Los Directorios son archivos de sistema para el mantenimiento de una estructura del

sistema de archivos. • Los Archivos Especiales de Caracteres:

o Tienen relación con la e / s. o Se utilizan para modelar dispositivos seriales de e / s (terminales, impresoras,

redes, etc.).

Page 19: essay computer

• Los Archivos Especiales de Bloques se utilizan para modelar discos.

Acceso a un archivo

Los tipos de acceso más conocidos son:

• Acceso Secuencial: el proceso lee en orden todos los registros del archivo comenzando por el principio, sin poder:

o Saltar registros. o Leer en otro orden.

• Acceso Aleatorio: el proceso puede leer los registros en cualquier orden utilizando dos métodos para determinar el punto de inicio de la lectura:

o Cada operación de lectura (read) da la posición en el archivo con la cual iniciar. o Una operación especial (seek) establece la posición de trabajo pudiendo luego

leerse el archivo secuencialmente.

Atributos de un archivo

Cada archivo tiene:

• Su nombre y datos. • Elementos adicionales llamados atributos, que varían considerablemente de sistema a

sistema.

Algunos de los posibles atributos de archivo son:

• “Protección”: quién debe tener acceso y de qué forma. • “Contraseña”: contraseña necesaria para acceder al archivo. • “Creador”: identificador de la persona que creó el archivo. • “Propietario”: propietario actual. • “Bandera exclusivo - para - lectura”: 0 lectura / escritura, 1 para lectura exclusivamente. • “Bandera de ocultamiento”: 0 normal, 1 para no exhibirse en listas. • “Bandera de sistema”: 0 archivo normal, 1 archivo de sistema. • “Bandera de biblioteca”: 0 ya se ha respaldado, 1 necesita respaldo. • “Bandera ascii / binario”: 0 archivo en ascii, 1 archivo en binario. • “Bandera de acceso aleatorio”: 0 solo acceso secuencial, 1 acceso aleatorio. • “Bandera temporal”: 0 normal, 1 eliminar al salir del proceso. • “Banderas de cerradura”: 0 no bloqueado, distinto de 0 bloqueado. • “Longitud del registro”: número de bytes en un registro. • “Posición de la llave”: ajuste de la llave dentro de cada registro. • “Longitud de la llave”: número de bytes en el campo llave. • “Tiempo de creación”: fecha y hora de creación del archivo. • “Tiempo del último acceso”: fecha y hora del último acceso al archivo. • “Tiempo de la última modificación”: fecha y hora de la última modificación al archivo. • “Tamaño actual”: número de bytes en el archivo. • “Tamaño máximo”: tamaño máximo al que puede crecer el archivo.

Page 20: essay computer

El sistema de archivos proc de linux facilita acceder a ciertas estructura de datos del núcleo, como la lista de procesos (de ahí el nombre). Hace que estas estructuras de datos parezcan un sistema de archivos, y que el sistema de archivos pueda ser manipulado con las herramientas de archivos habituales. Por ejemplo, para obtener una lista de todos los procesos se puede utilizar el comando

$ ls -l /proc total 0 dr-xr-xr-x 4 root root 0 Jan 31 20:37 1 dr-xr-xr-x 4 liw users 0 Jan 31 20:37 63 dr-xr-xr-x 4 liw users 0 Jan 31 20:37 94 dr-xr-xr-x 4 liw users 0 Jan 31 20:37 95 dr-xr-xr-x 4 root users 0 Jan 31 20:37 98 dr-xr-xr-x 4 liw users 0 Jan 31 20:37 99 -r--r--r-- 1 root root 0 Jan 31 20:37 devices -r--r--r-- 1 root root 0 Jan 31 20:37 dma -r--r--r-- 1 root root 0 Jan 31 20:37 filesystems -r--r--r-- 1 root root 0 Jan 31 20:37 interrupts -r-------- 1 root root 8654848 Jan 31 20:37 kcore -r--r--r-- 1 root root 0 Jan 31 11:50 kmsg -r--r--r-- 1 root root 0 Jan 31 20:37 ksyms -r--r--r-- 1 root root 0 Jan 31 11:51 loadavg -r--r--r-- 1 root root 0 Jan 31 20:37 meminfo -r--r--r-- 1 root root 0 Jan 31 20:37 modules dr-xr-xr-x 2 root root 0 Jan 31 20:37 net dr-xr-xr-x 4 root root 0 Jan 31 20:37 self -r--r--r-- 1 root root 0 Jan 31 20:37 stat -r--r--r-- 1 root root 0 Jan 31 20:37 uptime -r--r--r-- 1 root root 0 Jan 31 20:37 version $

Operaciones con archivos

• Create (crear): el archivo se crea sin datos. • Delete (eliminar): si el archivo ya no es necesario debe eliminarse para liberar espacio en

disco. Ciertos S. O. eliminan automáticamente un archivo no utilizado durante “n” días. • Open (abrir): antes de utilizar un archivo, un proceso debe abrirlo. La finalidad es permitir

que el sistema traslade los atributos y la lista de direcciones en disco a la memoria principal para un rápido acceso en llamadas posteriores.

• Close (cerrar): cuando concluyen los accesos, los atributos y direcciones del disco ya no son necesarios, por lo que el archivo debe cerrarse y liberar la tabla de espacio interno.

• Read (leer): los datos se leen del archivo; quien hace la llamada debe especificar la cantidad de datos necesarios y proporcionar un buffer para colocarlos.

• Write (escribir): los datos se escriben en el archivo, en la posición actual. El tamaño del archivo puede aumentar (agregado de registros) o no (actualización de registros).

• Append (añadir): es una forma restringida de “write”. Solo puede añadir datos al final del archivo.

Page 21: essay computer

• Seek (buscar): especifica el punto donde posicionarse. Cambia la posición del apuntador a la posición activa en cierto lugar del archivo.

• Get attributes (obtener atributos): permite a los procesos obtener los atributos del archivo.

• Set attributes (establecer atributos): algunos atributos pueden ser determinados por el usuario y modificados luego de la creación del archivo. La información relativa al modo de protección y la mayoría de las banderas son un ejemplo obvio.

• Rename (cambiar de nombre): permite modificar el nombre de un archivo ya existente.

Directorios

Conclusión Existe una gran variedad de sistemas de archivos, todos con ciertas ventajas y desventajas dependiendo en que queremos que sea optimizado nuestro sistema. Todos los archivos deben de tener ciertas operaciones permitidas con sus restricciones para establecer cierta seguridad y asegurar que información privada no se pueda ver o modificar por nadie. Existen varias formas de organizar y tratar a los archivos, los sistemas de archivos han evolucionado para hacer más eficientes estas tareas, logrando que puedan existir varios usuarios con sus respectivos archivos y privacidad, y al mismo tiempo las rutas de acceso a los archivos han ido mejorando constantemente para lograr un mejor control de la información.

Bibliografía Libro: Sistemas Operativos – Magister David Luis La Red Martínez URL: http://exa.unne.edu.ar/informatica/SO/SO4.htm#NomAr

Page 22: essay computer

Dispositivos de E/S Introducción Los dispositivos de e/s permiten a la CPU relacionarse con el mundo exterior: teclados, pantallas, impresoras, discos. . . La comunicación de la CPU con un elemento externo es similar a la comunicación con la memoria: se leen y escriben datos. El comportamiento es distinto: los datos no siempre están disponibles, y el dispositivo puede no estar preparado para recibirlos. Al ser distinto el comportamiento los métodos son distintos que para el acceso a memoria.

Estructura de un sistema E/S En teoría los dispositivos de e/s se comunicarían con la CPU por los buses del sistema. Dado que son muy heterogéneos sería muy costoso que la CPU los manejase directamente, los dispositivos están conectados a una pieza de hardware llamada controlador de dispositivo. El controlador de dispositivo admite comandos abstractos de la CPU y se encarga de transmitirlos al dispositivo Se libera a la CPU de tareas de muy bajo nivel.

El controlador de dispositivo actúa de interfaz entre la CPU y el dispositivo de E/S. Cada controlador puede ocuparse de uno o varios dispositivos del mismo tipo.

Los controladores se comunican con la CPU a través de unos registros o puertos. Generalmente incluyen

• Registros de control Para enviar ´ordenes al dispositivo. • Registros de estado Para obtener información • del estado dispositivo o controlador, disponibilidad de datos . . . • Registros de datos Pueden ser de entrada, salida o bidireccionales.

Controladores El controlador debe:

• Convertir el flujo de bits en serie en un bloque de bytes. • Efectuar cualquier corrección de errores necesaria. • Copiar el bloque en la memoria principal.

Cada controlador posee registros que utiliza para comunicarse con la cpu:

Page 23: essay computer

• Pueden ser parte del espacio normal de direcciones de la memoria: e / s mapeada a memoria.

• Pueden utilizar un espacio de direcciones especial para la e / s, asignando a cada controlador una parte de él.

El S. O. realiza la e / s al escribir comandos en los registros de los controladores; los parámetros de los comandos también se cargan en los registros de los controladores.

Al aceptar el comando, la cpu puede dejar al controlador y dedicarse a otro trabajo.

Al terminar el comando, el controlador provoca una interrupción para permitir que el S. O.:

• Obtenga el control de la cpu. • Verifique los resultados de la operación.

La cpu obtiene los resultados y el estado del dispositivo al leer uno o más bytes de información de los registros del controlador.

Ejemplos de controladores, sus direcciones de e / s y sus vectores de interrupción en la PC IBM pueden verse en la Tabla

Acceso Directo a Memoria (DMA)

Muchos controladores, especialmente los correspondientes a dispositivos de bloque, permiten el DMA.

Si se lee el disco sin DMA:

• El controlador lee en serie el bloque (uno o más sectores) de la unidad: o La lectura es bit por bit. o Los bits del bloque se graban en el buffer interno del controlador.

• Se calcula la suma de verificación para corroborar que no existen errores de lectura. • El controlador provoca una interrupción. • El S. O. lee el bloque del disco por medio del buffer del controlador:

o La lectura es por byte o palabra a la vez. o En cada iteración de este ciclo se lee un byte o una palabra del registro del

controlador y se almacena en memoria. • Se desperdicia tiempo de la cpu.

Page 24: essay computer

DMA se ideó para liberar a la cpu de este trabajo de bajo nivel.

Manejadores de Dispositivos

Todo el código que depende de los dispositivos aparece en los manejadores de dispositivos.

Cada controlador posee uno o más registros de dispositivos:

• Se utilizan para darle los comandos. • Los manejadores de dispositivos proveen estos comandos y verifican su ejecución

adecuada.

La labor de un manejador de dispositivos es la de:

• Aceptar las solicitudes abstractas que le hace el software independiente del dispositivo. • Verificar la ejecución de dichas solicitudes.

Si al recibir una solicitud el manejador está ocupado con otra solicitud, agregara la nueva solicitud a una cola de solicitudes pendientes.

La solicitud de e / s, por ej. para un disco, se debe traducir de términos abstractos a términos concretos:

• El manejador de disco debe: o Estimar el lugar donde se encuentra en realidad el bloque solicitado. o Verificar si el motor de la unidad funciona. o Verificar si el brazo está colocado en el cilindro adecuado, etc. o Resumiendo: debe decidir cuáles son las operaciones necesarias del controlador y

su orden. o Envía los comandos al controlador al escribir en los registros de dispositivo del

mismo. o Frecuentemente el manejador del dispositivo se bloquea hasta que el controlador

realiza cierto trabajo; una interrupción lo libera de este bloqueo. o Al finalizar la operación debe verificar los errores. o Si todo esta o.k. transferirá los datos al software independiente del dispositivo. o Regresa información de estado sobre los errores a quien lo llamó. o Inicia otra solicitud pendiente o queda en espera.

Porqué es Necesaria la Planificación de Discos

En los sistemas de multiprogramación muchos procesos pueden estar generando peticiones de e / s sobre discos:

• La generación de peticiones puede ser mucho más rápida que la atención de las mismas: o Se construyen líneas de espera o colas para cada dispositivo. o Para reducir el tiempo de búsqueda de registros se ordena la cola de

peticiones: esto se denomina planificación de disco.

Page 25: essay computer

Características Deseables de las Políticas de Planificación de Discos

Los principales criterios de categorización de las políticas de planificación son:

• Capacidad de ejecución. • Media del tiempo de respuesta. • Varianza de los tiempos de respuesta (predecibilidad).

Una política de planificación debe intentar maximizar la capacidad de ejecución:

• Maximizar el número de peticiones servidas por unidad de tiempo. • Minimizar la media del tiempo de respuesta. • Mejorar el rendimiento global, quizás a costa de las peticiones individuales

Optimización de la Búsqueda en Discos

Las estrategias más comunes de optimización de la búsqueda son las siguientes:

• FCFS. • SSTF. • SCAN. • SCAN de N - Pasos. • C - SCAN. • Esquema Eschenbach.

Planificación FCFS (Primero en Llegar, Primero en Ser Servido)

Una petición no puede ser desplazada por la llegada de una petición con prioridad más alta. No hay reordenamiento de la cola de peticiones pendientes. Se ignoran las relaciones posicionales entre las peticiones pendientes.

Ofrece una varianza pequeña aunque perjudica a las peticiones situadas al final de la cola.

Planificación SSTF (Menor Tiempo de Búsqueda Primero)

El brazo del disco se sitúa en la siguiente petición que minimice el movimiento del brazo. No respeta el orden de llegada de las peticiones a la cola. Tiende a favorecer a las pistas del centro del disco. La media de tiempos de respuesta tiende a ser más baja que con FCFS, para cargas moderadas. Las varianzas tienden a ser mayores que con FCFS por el efecto de las pistas interiores y exteriores.

Page 26: essay computer

Planificación SCAN

El brazo del disco se desplaza sirviendo a todas las peticiones que encuentra a su paso. Cambia de dirección cuando ya no hay peticiones pendientes en la dirección actual. Ha sido la base de la mayoría de las estrategias de planificación implementadas. Elimina las discriminaciones de SSTF y tiene menor varianza. Las pistas exteriores son menos visitadas que las intermedias, pero no es tan grave como con SSTF.

Planificación SCAN de N - Pasos

La estrategia de movimiento del brazo es como en SCAN; solo da servicio a las peticiones que se encuentran en espera cuando comienza un recorrido particular. Las peticiones que llegan durante un recorrido son agrupadas y ordenadas y serán atendidas durante el recorrido de regreso. Posee menor varianza de los tiempos de respuesta si se compara con las planificaciones SSTF y SCAN convencionales.

Planificación C - SCAN (Búsqueda Circular)

El brazo se mueve del cilindro exterior al interior, sirviendo a las peticiones sobre una base de búsqueda más corta. Finalizado el recorrido hacia el interior, salta a la petición más cercana al cilindro exterior y reanuda su desplazamiento hacia el interior. No discrimina a los cilindros exterior e interior. La varianza de los tiempos de respuesta es muy pequeña.

Esquema Eschenbach

El brazo del disco se mueve como en C - SCAN, pero:

• Las peticiones se reordenan para ser servidas dentro de un cilindro para tomar ventaja de la posición rotacional.

• Si dos peticiones trasladan posiciones de sectores dentro de un cilindro, solo se sirve una en el movimiento actual del brazo del disco.

Conclusión:

Existen muchos tipos de dispositivos que utiliza la computadora y que son indispensables para poder comunicarnos con la máquina. Un ejemplo muy claro lo es el Teclado y el Mouse. Es claro que estos dispositivos deben de poder funcionar no solo con una computadora en específico, sino que debe de existir la posibilidad de poder utilizarlos con otras computadoras, es por eso que se han creado periféricos especiales dependiendo el tipo de dispositivo, y es por esto mismo que se ha creado la USB, la cual elimina la necesidad de tener diferentes puertos para cada dispositivo, ahorrando así espacio y dando un gran potencial a los dispositivos de E/S.

Page 27: essay computer

Biografía Libro: Sistemas Operativos – Magister David Luis La Red Martínez

URL: http://exa.unne.edu.ar/informatica/SO/SO5.htm#ConDis

Page 28: essay computer

Seguridad

Introducción Seguridad es un conjunto de métodos y herramientas destinados a proteger la información antes cualquier amenaza, y equivale principalmente a garantizar al usuario:

• Consistencia • Servicio • Protección • Control de acceso • Autenticidad. • Integridad • Disponibilidad

Seguridad está definido el conjunto de medidas tomadas para protegerse contra robos, ataques, crímenes y espionajes o sabotajes, que implica evitar la exposición a situaciones de peligro y la actuación para quedar a cubierto frente a contingencias adversas; hay que considerar la seguridad interna y externa. La información almacenada en el sistema y sus recursos físicos tienen que ser protegidos contra acceso no autorizado, destrucción o alteración mal intencionado, y la introducción accidental de inconsistencia.

Un Tratamiento Total de la Seguridad

Un tratamiento total incluye aspectos de la seguridad del computador distintos a los de la seguridad de los S. O.

La seguridad externa debe asegurar la instalación computacional contra intrusos y desastres como incendios e inundaciones:

• Concedido el acceso físico el S. O. debe identificar al usuario antes de permitirle el acceso a los recursos: seguridad de la interfaz del usuario.

La seguridad interna trata de los controles incorporados al hardware y al S. O. para asegurar la confiabilidad, operabilidad y la integridad de los programas y datos.

Seguridad Externa

La seguridad externa consiste en:

• Seguridad física. • Seguridad operacional.

Page 29: essay computer

La seguridad física incluye:

• Protección contra desastres. • Protección contra intrusos.

En la seguridad física son importantes los mecanismos de detección, algunos ejemplos son:

• Detectores de humo. • Sensores de calor. • Detectores de movimiento.

La protección contra desastres puede ser costosa y frecuentemente no se analiza en detalle; depende en gran medida de las consecuencias de la pérdida.

La seguridad física trata especialmente de impedir la entrada de intrusos:

• Se utilizan sistemas de identificación física: o Tarjetas de identificación. o Sistemas de huellas digitales. o Identificación por medio de la voz.

Seguridad Operacional

Consiste en las diferentes políticas y procedimientos implementados por la administración de la instalación computacional.

La autorización determina qué acceso se permite y a quién.

La clasificación divide el problema en subproblemas:

• Los datos del sistema y los usuarios se dividen en clases: o A las clases se conceden diferentes derechos de acceso.

Un aspecto crítico es la selección y asignación de personal:

• La pregunta es si se puede confiar en la gente. • El tratamiento que generalmente se da al problema es la división de responsabilidades:

o Se otorgan distintos conjuntos de responsabilidades. o No es necesario que se conozca la totalidad del sistema para cumplir con esas

responsabilidades. o Para poder comprometer al sistema puede ser necesaria la cooperación entre

muchas personas: Se reduce la probabilidad de violar la seguridad.

o Debe instrumentarse un gran número de verificaciones y balances en el sistema para ayudar a la detección de brechas en la seguridad.

o El personal debe estar al tanto de que el sistema dispone de controles, pero: Debe desconocer cuáles son esos controles:

Page 30: essay computer

Se reduce la probabilidad de poder evitarlos.

Debe producirse un efecto disuasivo respecto de posibles intentos de violar la seguridad.

Para diseñar medidas efectivas de seguridad se debe primero:

• Enumerar y comprender las amenazas potenciales. • Definir qué grado de seguridad se desea (y cuánto se está dispuesto a gastar en

seguridad). • Analizar las contramedidas disponibles.

Protección por Contraseña

Las clases de elementos de autentificación para establecer la identidad de una persona son:

• Algo sobre la persona: o Ej.: huellas digitales, registro de la voz, fotografía, firma, etc.

• Algo poseído por la persona: o Ej.: insignias especiales, tarjetas de identificación, llaves, etc.

• Algo conocido por la persona: o Ej.: contraseñas, combinaciones de cerraduras, etc.

El esquema más común de autentificación es la protección por contraseña:

• El usuario elige una palabra clave, la memoriza, la teclea para ser admitido en el sistema computarizado:

o La clave no debe desplegarse en pantalla ni aparecer impresa.

Controles de Acceso

Lo fundamental para la seguridad interna es controlar el acceso a los datos almacenados.

Los derechos de acceso definen qué acceso tienen varios sujetos o varios objetos.

Los sujetos acceden a los objetos.

Los objetos son entidades que contienen información.

Los objetos pueden ser:

• Concretos: o Ej.: discos, cintas, procesadores, almacenamiento, etc.

• Abstractos: o Ej.: estructuras de datos, de procesos, etc.

Page 31: essay computer

Los objetos están protegidos contra los sujetos.

Las autorizaciones a un sistema se conceden a los sujetos.

Los sujetos pueden ser varios tipos de entidades:

• Ej.: usuarios, procesos, programas, otras entidades, etc.

Los derechos de acceso más comunes son:

• Acceso de lectura. • Acceso de escritura. • Acceso de ejecución.

Una forma de implementación es mediante una matriz de control de acceso con:

• Filas para los sujetos. • Columnas para los objetos. • Celdas de la matriz para los derechos de acceso que un usuario tiene a un objeto.

Una matriz de control de acceso debe ser muy celosamente protegida por el S. O.

Criptografía

El uso creciente de las redes de computadoras y la importancia del trafico cursado hace necesario proteger a los datos.

La Oficina Nacional de Estándares de EE. UU. (NBS) ha adoptado la norma de cifrado de datos (DES) para la transmisión de información federal delicada.

La criptografía es el uso de la transformación de datos para hacerlos incomprensibles a todos, excepto a los usuarios a quienes están destinados.

El problema de la intimidad trata de cómo evitar la obtención no autorizada de información de un canal de comunicaciones.

El problema de la autentificación trata sobre cómo evitar que un oponente:

• Modifique una transmisión. • Le introduzca datos falsos.

El problema de la disputa trata sobre cómo proporcionar al receptor de un mensaje pruebas legales de la identidad del remitente, que serían el equivalente electrónico de una firma escrita.

Un Sistema de Intimidad Criptográfica

El remitente desea transmitir cierto mensaje no cifrado (texto simple) a un receptor legítimo:

Page 32: essay computer

La transmisión se producirá a través de un canal inseguro:

o Se supone que podrá ser verificado o conectado mediante un espía.

El remitente pasa el texto simple a una unidad de codificación que lo transforma en un texto cifrado o criptograma:

• No es comprensible para el espía. • Se transmite en forma segura por un canal inseguro. • El receptor pasa el texto cifrado por una unidad de descifrado para regenerar el texto

simple.

Criptoanálisis

Es el proceso de intentar regenerar el texto simple a partir del texto cifrado, pero desconociendo la clave de ciframiento:

• Es la tarea del espía o criptoanalista: o Si no lo logra, el sistema criptográfico es seguro.

Sistemas de Clave Pública

La distribución de claves de un sistema criptográfico debe hacerse por canales muy seguros.

Los sistemas de clave pública rodean el problema de distribución de claves:

• Las funciones de cifrado y descifrado están separadas y utilizan distintas claves. • No es computacionalmente posible (en un tiempo “razonable”) determinar la clave de

desciframiento “D” a partir de la clave de ciframiento “C”. • “C” puede hacerse pública sin comprometer la seguridad de “D”, que permanece privada:

o Se simplifica el problema de la distribución de claves.

Firmas Digitales

Para que una firma digital sea aceptada como sustituta de una firma escrita debe ser:

• Fácil de autentificar (reconocer) por cualquiera. • Producible únicamente por su autor.

En los criptosistemas de clave pública el procedimiento es:

• El remitente usa la clave privada para crear un mensaje firmado. • El receptor:

o Usa la clave pública del remitente para descifrar el mensaje. o Guarda el mensaje firmado para usarlo en caso de disputas.

Para mayor seguridad se podría actuar como sigue:

Page 33: essay computer

• El remitente puede codificar el mensaje ya cifrado utilizando la clave pública del receptor. • La clave privada del receptor permite recuperar el mensaje cifrado firmado. • La clave pública del remitente permite recuperar el texto simple original.

Aplicaciones

La criptografía es especialmente útil en los sistemas multiusuario y en las redes de computadoras.

Se debe utilizar para proteger a las contraseñas, almacenándolas cifradas.

Se puede utilizar también para proteger todos los datos almacenados en un sistema de computación; se debe considerar el tiempo de cifrado / descifrado.

También es aplicable en los protocolos de redes de capas, que ofrecen varios niveles de cifrado.

En el cifrado de enlace la red asume la responsabilidad de cifrado / descifrado de cada nodo:

• Los datos se transmiten cifrados entre los nodos. • En cada nodo se descifran, se determina a dónde transmitirlos y se los vuelve a cifrar.

En el cifrado punto a punto un mensaje se cifra en su fuente y se descifra solo una vez, en su destino:

• Existen ciertas limitaciones tales como la legibilidad de la dirección de destino en cada nodo:

o Debe ser legible para el encaminamiento del mensaje. o Ej.: sistemas de conmutación de paquetes de almacenamiento y reenvío con

cifrado punto a punto; en este caso la dirección de destino asociada a un paquete no puede ser cifrada.

Conclusión: La seguridad es uno de los temas más importantes tanto a los usuarios comunes como a las grandes empresas. La razón por la este tema sea de suma importancia y hasta vital para las grandes empresas e incluso gobiernos es debido a que la información es poder. Si información importante se llega a dañar o es robada, las consecuencias pueden ser graves, desde una publicación de imágenes privadas, hasta el uso de información confidencial para guerra (llegando hasta un extremo). Para evitar alguna de estas situaciones se estudia intensamente los métodos para proteger la información (tanto en dispositivos físicos como archivos), pero no solo es, por cada paso que se da para la seguridad en los sistemas, hay alguien que encuentra una forma de burlar esa nueva forma de seguridad.

Bibliografía Libro: Sistemas Operativos – Magister David Luis La Red Martínez