Funciones Esenciales de los Sistemas Operativos: Comunicación, E/S, Ficheros y Seguridad
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,98 KB
Comunicación y Sincronización de Procesos
Los procesos son entidades independientes y aisladas, pero el **Sistema Operativo (SO)** proporciona mecanismos que permiten la **comunicación y sincronización** entre ellos, tanto en una misma máquina como entre máquinas diferentes. Entre los mecanismos de comunicación más comunes encontramos: **tuberías**, **memoria compartida** y **sockets**. El SO permite crearlos, usarlos y destruirlos.
La comunicación puede ser:
- Síncrona: Los servicios de comunicación son simultáneos, es decir, el receptor espera al emisor o viceversa.
- Asíncrona: Los procesos no esperan y el SO dispone de una memoria temporal donde el emisor puede depositar la información.
Los **semáforos** y **mutex** son mecanismos específicos para la **sincronización de procesos**.
Gestión de Entradas/Salidas (E/S)
El gestor de E/S se encarga de los **dispositivos periféricos**: relojes, terminales, dispositivos de almacenamiento secundario o terciario, etc. Controla su funcionamiento con la finalidad de:
- Facilitar el manejo de los periféricos, proporcionando una **interfaz sencilla, uniforme y fácil de usar**, además de gestionar los errores que se producen durante el acceso a estos dispositivos.
- Garantizar la **protección**, evitando que usuarios no autorizados puedan acceder.
Los servicios de E/S que proporciona el SO son **independientes del dispositivo**. Esto significa que pueden usarse las mismas funciones para leer un disquete, un disco duro o un CD-ROM. Las funciones básicas son las de **lectura** y **escritura**. Dependiendo del periférico, los servicios se orientan a **caracteres** o **bloques**.
Gestión de Ficheros y Directorios
El sistema de ficheros forma parte de la máquina extensa que proporciona el SO. Sus objetivos son:
- Facilitar el manejo de los dispositivos periféricos, ofreciendo una **visión lógica simplificada** en forma de ficheros y ficheros especiales.
- **Proteger** a los usuarios, poniendo limitaciones a los ficheros que puede manipular cada usuario.
La **visión lógica** permite que el usuario disponga de objetos etiquetados con un nombre lógico cada uno de ellos, y la **visión física** corresponde a la forma en que los objetos lógicos se proyectan sobre los dispositivos reales.
Ficheros
Un fichero es una unidad de **almacenamiento lógico no volátil** que agrupa bajo un mismo nombre informaciones normalmente relacionadas entre sí. Sus atributos son:
- Tipo: Datos, ejecutable, directorio, etc.
- Propietario: UID y GID del creador.
- Tamaño: En bytes.
- Instantes: Fecha de creación, última modificación.
- Derechos de acceso: Lectura, escritura, etc.
Visión lógica: Puntero de posición. Visión física: Información de los bloques donde reside el fichero. Esta información reside en el propio disco. Servicios: Crear, leer, escribir, borrar, abrir, cerrar, etc. Descriptor: Elemento que permite identificar un fichero y realizar sobre él todas las operaciones. El nombre solo se usa durante la creación.
Directorios
Un directorio es un objeto que relaciona de forma unívoca un **nombre** con un **fichero**. Un fichero puede tener diferentes nombres, pero un mismo nombre no puede identificar diferentes ficheros. Visión lógica: Estructura jerárquica en carpetas. Visión física: Nombre <--> identificador. Directorio raíz: El primer directorio de la jerarquía. Nombre local: Nombre asignado al fichero dentro del subdirectorio. Nombre absoluto: Nombre desde el directorio raíz. Directorio de trabajo: Punto que utiliza el proceso para identificar ficheros con el nombre local. Directorio home: Directorio asignado a cada usuario. Servicios: Crear, borrar, abrir, cerrar, leer, etc.
Seguridad y Protección
Los objetivos de la seguridad y protección son **evitar la pérdida de bienes** y **controlar su uso**. Para ello, se utilizan mecanismos y políticas de protección:
- Garantizar la identidad de los usuarios mediante la **autenticación**.
- Definir qué puede hacer cada usuario mediante los **privilegios**.
Autenticación: Pretende determinar que un usuario es quien dice ser. El método más utilizado es la **contraseña**. Privilegios: Especifican qué operaciones puede realizar cada usuario sobre cada recurso. Habitualmente se definen por grupos de usuarios con iguales privilegios. Información por recurso: Lista de acceso a cada recurso. Información por usuario: Lista de capacidades de cada usuario.