1.SISTEMAS OPERATIVOS Conceptos Generales
1.SISTEMAS OPERATIVOS Conceptos Generales
1.SISTEMAS OPERATIVOS Conceptos Generales
Este tipo de sistema está descrito como un conjunto de procedimientos o rutinas entrelazadas de
tal forma que cada una tiene la posibilidad de llamar a las otras rutinas cada vez que así lo
requiera. Las falencias en este tipo de estructura radica principalmente en la poca confiabilidad
lograda ya que todo el sistema -al no tener una estructura definida- se ejecuta todo en el mismo
nivel del núcleo (kernel) lo que lo hace altamente vulnerable.
Considerando que en el espacio del kernel están incluidos todos los servicios básicos la estructura
monolítica presenta tres grandes inconvenientes: el tamaño del núcleo la falta de extensibilidad y
la dificultad de mantenimiento.
El primer sistema construido de esta manera fue el sistema THE (Technische Hogeschool
Eindhoven) desarrollado en Holanda por E. W. Dijkstra (1968) y sus estudiantes. El sistema
original consta de 6 capas: Capa 5: Se encuentra la interfaz de usuario. Capa 4: Aloja los
programas de usuario. Capa 3: Se controlan los dispositivos E/S (entrada y salida) Capa 2: Se
administra la comunicación inter-proceso y la consola del operador. Capa 1: Administración de
memoria y discos. Capa 0: Correspondiente al Hardware realizando asignación del procesador
también alterna entre procesos cuando ocurren interrupciones o han expirado y proporciona
multiprogramación básica de la CPU.
Como ventajas de esta alternativa podemos mencionar que al tener una organización
modularizada otorga facilidad en la construcción y depuración del sistema. La facilidad de
construcción se respalda porque al existir división en módulos (capas) se produce una abstracción
del problema simplificándose solamente a la función que realiza el módulo correspondiente a una
capa N.
Sistema Cliente-Servidor
La esencia de esta arquitectura es la presencia de procesos cliente y procesos servidor. En los
sistemas operativos modernos los sistemas cliente-servidor nacen con la finalidad de minimizar el
núcleo (kernel) trasladando el código de todos sus servicios a las capas superiores; y el núcleo
sólo deberá controlar la comunicación que se realiza mediante mensajes entre clientes y
servidores o servidores y hardware.
2. Interfaz usuario máquina. Función básica que posibilita que el usuario explote los recursos del
computador en términos del lenguaje que utiliza. Existe diferentes paradigmas de interacción; el
de mayor preferencia es aquel basado en el concepto de “icono” o representación abstracta de
conceptos.
3. Manejo de Ficheros. La función del SO es abstraer las propiedades físicas del dispositivo de
almacenamiento proporcionando una unidad lógica de almacenamiento. El SO es responsable de:
creación y eliminación de ficheros creación y eliminación de directorios proporcionar primitivas
para la modificación de ficheros asignar/manejar permisos de acceso a ficheros realización de
copias de seguridad.
En la actualidad es posible hablar de: ejecución remota o virtual de programas (cloud computing
proceso en la nube o servicio ofrecido por algún proveedor https://www.gob.mx/cms/uploads/attachment/file/228994/InterPARES_8_020617.pdf)
En cada una de estas alternativas de ejecución el programa debe estar cargado en la memoria del
computador anfitrión (modelo de computación Von Newman).
PnP (Plug and Play): es una tecnología para soportar la instalación de dispositivos que pueden
usarse inmediatamente después de conectarlos físicamente sin procesos adicionales. La
capacidad PnP viene integrada en los sistemas operativos modernos; para usarlo el BIOS del
computador así como las tarjetas de expansión deben también tener soporte para PnP. Esta
tecnología es el resultado de proyectos que buscaban cambiar el modelo de computación (v.gr.
Proyecto de la Quinta Generación otros).
Kernel: es el módulo central del sistema operativo. Es la parte que se carga primero y permanece
en memoria principal. Debido a esto es importante que el kernel sea lo más pequeño posible; pero
provea todos los servicios esenciales que requieren las otras partes del sistema operativo y las
aplicaciones. Normalmente el kernel es responsable por la administración de la memoria los
procesos las tareas y los discos. http://cc.etsii.ull.es/ftp/antiguo/SISOA/comp_kernel.pdf;
https://hpc.ac.upc.edu/PDFs/dir13/file000419.pdf
Driver: es un programa de bajo nivel encargado de atender a un dispositivo físico ejecutado como
resultado de invocación desde el sistema operativo
Paquetes de Software: son combinaciones de diferentes programas que forman parte de una
oferta comercial. Por ejemplo Microsoft Windows viene “empaquetado” con muchas herramientas
de software.
Archivo ejecutable (código objeto): Es un archivo cuyo contenido tiene un formato que el
computador puede ejecutar directamente. A diferencia de los archivos o códigos fuente los
ejecutables no pueden ser leídos por las personas. Para transformar el código fuente (programa
con las instrucciones) en código ejecutable se necesita pasarlo a través de un programa
compilador o ensamblador y añadirle rutinas de entrada/salida (tarea de los cargadores
enlazadores).
Código Abierto: Es una certificación estándar generada por la Open Source Initiative (OSI) indica
que el código abierto de un programa de computación está disponible para el público en general
libre de cargo.
Software Propietario: Se refiere a los programas que pertenecen y son controlados por alguien. En
la industria de la computación propietario es lo opuesto de abierto. Un diseño o técnica propietaria
es la que pertenece a una empresa y esto implica que no se han divulgado especificaciones que
podrían permitir que otras compañías duplicaran el producto.
Licencia de software: Permiso que se le otorga a un individuo o grupo para el uso de una pieza de
software. Casi todas las aplicaciones trabajan bajo la modalidad de darle una licencia al usuario
en lugar de venderle el programa. Existe una amplia gama de tipos de licencias de software.
Algunas se basan en el número de máquinas en las que se ejecutará el programa y otras en el
número de usuarios que lo pueden utilizar.
Software de dominio público: Se refiere a cualquier programa que no está sujeto a Derechos de
Autor. Este software es gratuito y se puede usar sin restricciones. Este término no es aplicable a
software con licencia freeware y shareware; estos últimos sí están sujetos a Derechos de Autor.
Freeware: Software protegido por Derechos de Autor pero liberado por el autor para su uso
gratuito. Aunque está disponible sin costo el autor retiene su derecho lo que significa que el
usuario no puede hacer con ese software nada que no esté expresamente permitido por el autor.
Generalmente se permite el uso pero no la venta.
Shareware: Software que se distribuye sobre las bases de un sistema de ética. La mayoría del
shareware se distribuye libre de cargo pero el autor generalmente solicita que se pague una
pequeña tarifa en caso de que al usuario le guste el programa y lo use con regularidad. Al
cancelar esa tarifa el usuario queda registrado con el productor y puede recibir asistencia y
actualizaciones. El shareware está sujeto a Derechos de Autor. Esto significa que no podemos
vender un producto shareware como nuestro a menos que lo sea.
Firmware: Es software (programas o datos) que se han escrito en la memoria ROM. El firmware es
una combinación de hardware y software. Las memorias ROM PROM y EPROM que tienen datos
o programas grabados son firmware
Condiciones de Carrera
El funcionamiento de un proceso y su resultado debe ser independiente de su
velocidad relativa de ejecución con respecto a otros procesos.
Sección crítica: Segmento de código que manipula un recurso y debe ser ejecutado de forma
atómica. Se asocia a un recurso un mecanismo de gestión de exclusión mutua. Solamente un
proceso puede estar simultáneamente en la sección crítica de un recurso. Las secciones críticas
no están definidas (aparecen y desaparecen).
Exclusión Mutua. Tarea ejecutada en los sistemas operativos que consiste en la necesidad de que
los procesos se excluyan a fin de que solo un proceso realice tareas en determinado tipo de
recursos. La exclusión mutua es necesaria debido a la cantidad limitada de recursos que dispone
el sistema computacional y a la gran cantidad de procesos que coexisten.
Condiciones para la exclusión mutua. Solamente un proceso puede estar simultáneamente en la
sección crítica de un recurso (garantizar la exclusión mutua). Debe ser posible que un proceso
que solicite acceso a una sección crítica no sea postergado indefinidamente. Cuando ningún
proceso esté en una sección crítica cualquier proceso que solicite su entrada lo hará sin demora.
No se puede hacer suposiciones sobre la velocidad relativa de los procesos ni el número de
procesadores. Un proceso permanece en su sección crítica durante un tiempo finito.
Sección Crítica: Proceso de control o sincronización que debe ejecutarse sin interrupción a fin de
que el PD sea correcto. Podemos decir que es un Mecanismo de Sincronización y control de
procesos.
Cualquier mecanismo que solucione el problema de la sección crítica debe proporcionar
sincronización entre procesos.
– Cada proceso debe solicitar permiso para entrar en la sección crítica
– Cada proceso debe indicar cuando abandona la sección crítica.
Alternativas de implementación
Desactivar interrupciones. El proceso no sería interrumpido. Sería válido en sistemas
monoprocesador.
Instrucciones máquina. Test and set o swap. Implica espera activa. Son posibles inanición
e interbloqueo.
Otra alternativa: Soporte del sistema operativo. Solución de Peterson. Solo para 2
procesos.
Actividad. Caracterice las funciones que ofrece el SO de su computador relativo a las siguientes
tareas:
Levantar/Iniciar el sistema
Defragmentar el disco
Establecer nivel de uso del procesador
Contabilidad del sistema
Elabore reporte de 1 página relativa a su experiencia. Fuente tamaño 11