Post on 21-Jun-2015
description
Enrique Torrescano Montiel
Sencillas Razones Para Sentarse Un Buen Día A Iniciar
El Diseño De Un Sistema Operativo
Los SISTEMAS OPERATIVOS son programas extremadamente grandes
Los SISTEMAS OPERATIVOS tienen que manejar concurrencia
Los SISTEMAS OPERATIVOS tienen que enfrentarse a usuarios hostiles en potencia
Los SISTEMAS OPERATIVOS deben permitir a los usuarios compartir información y recursos con otros usuarios seleccionados
Los SISTEMAS OPERATIVOS deben ser flexibles para poder adaptarse a posibles cambios futuros en el Hardware y en el Software
Los SISTEMAS OPERATIVOS deben ser generales para poder ser usados de muchas formas distintas
Los SISTEMAS OPERATIVOS deben ser (trans)portables
Muchos SISTEMAS OPERATIVOS deben ser compatibles con algún SO anterior
AHORA, YA QUE TIENES LA INTENCION DE INICIAR EL DISEÑO DE UN SISTEMA OPERATIVO, UNOS HUMILDES CONSEJOS
Una Pregunta…
¿Por dónde comenzar?
Pues es un tanto difícil de responder, créeme que hacer un sistema operativo, en su diseño, es una tarea ardua, bastante extenuante. Si lo hace una persona sola, puede llevarle más de un año su diseño (con una inversión diaria de al menos cinco horas), si lo hacen un grupo de personas, aún así es difícil pues el trabajo grupal ha de centrarse en el producto total llamado sistema operativo.
Por un lado es difícil el diseño, pues el trabajo debe finalizar en un producto que esté hecho para que las personas, en relación con el sistema informático, el sistema operativo, sus datos y los programas, realicen cosas eficientemente y sucede que en muchas ocasiones nos encontramos con problemática, pues los sistemas operativos suelen tener fallas.
Uno de los casos importantes en el de los productos Windows. Windows se caracteriza por vender producto no terminados y frecuentemente nos enfrentamos a detallitos en cuestión a fallas o imprevistos.
Como medida de seguridad Windows implemento las famosas actualizaciones y los service pack, que no son otra cosa que “reparaciones” virtuales a las fallas en sus sistemas.
Aparte de ello, necesitas esperar a que todo esté listo de parte de Microsoft, pues uno como usuario no puede acceder al código fuente, pues tiene propietario.
Los sistemas operativos de código abierto, si bien no son los más socorridos por los usuarios (pues estamos muy acostumbrados a lo de marca) son muy eficientes en su aplicación, pues tienen la ventaja del Open Source, con ello sabemos que todo programador, ingeniero, puede acceder al código y puede hacer los arreglos que considere necesario.
Si bien las compañías, Microsoft, i mac, tienen en su grupo de desarrolladores a gente muy talentosa que está luchando por hacer cada día mejor los sistemas operativos, lo cierto es que no pueden competir con los miles de desarrolladores del Open Source que día con día están haciendo las mejoras en los sistemas de código abierto. Mejoras que son puestas a la disposición de los usuarios en modo inmediato.
No pretendo que esto se vea como pesimismo (criticar no es la intención de mi trabajo), es de entenderse que si estudio una carrera afín los sistemas informáticos, entonces, es cierto que todo lo referente a las computadoras me apasiona y, no tengo nada en contra de Microsoft, u otra compañía, sólo es un punto de comparación; mismo que se debe hacer.
Y bueno, aun es difícil de iniciar la gestión en el diseño de un sistema operativo, en base a lo estudiado, integro puntos generales que creo deben considerarse al momento de hacer la gestión:
Primero: debemos leer algunos documentos y libros para empaparnos sobre Sistemas Operativos. Tanto orientado a diseño como a conceptos, ya que si no sabemos lo que es un Sistema Operativo no podemos pretender hacer uno.
Segundo: Elegir una plataforma para el Sistema Operativo, hay que limitar desde el primer momento, porque no se puede hacer un Sistema Operativo para todas las plataformas. O al menos no al principio.
Tercero: Elegir un lenguaje de alto nivel, y un compilador que genere código del procesador al que tenemos de objetivo, y que proporcione facilidades a bajo nivel, porque no nos engañemos, va a haber que programar en ensamblador, y lo mejor es buscar un lenguaje de alto nivel en el que se pueda insertar código ensamblador en línea.
Cuarto: Especializarse en ciertos componentes físicos del ordenador (procesador, registros, buses, puertos, tarjetas, E/S, memoria, etcétera), y su forma de programación.
Quinto: Planificación del Sistema y del arranque, colocación física de los datos, tanto en disco como en memoria, esto no es asunto ligero, ya que nos quitará de muchos quebraderos de cabeza. Además hay que tener en cuenta que hay que limitar desde el primer momento, porque para ampliar siempre hay tiempo.
Sexto: Elegir una plataforma de desarrollo, que nos proporcione las mayores facilidades de programación posibles, que tenga o estén disponibles muchas herramientas de programación, e incluso proyectos que nos ayuden a depurar el Sistema Operativo.
Séptimo: Comenzar a programar, recomiendo que se haga primero el arranque del sistema, y el controlador de video, para poder ver las cosas como van, y no desanimarnos tan pronto. Cuando hagamos el controlador de video, nos daremos cuenta que necesitaremos varios ficheros más, como la entrada/salida, controlador de memoria, e incluso uno de los tipos del sistema. Y cuando hagamos el controlador de memoria, necesitaremos otras cosas y así sucesivamente. Hay que hacer casi todas las cosas a la vez, y hasta que arranque el sistema no vamos a tener nada sólido, y vamos a tardar mucho.
Octavo: Buscar un nombre para el Sistema Operativo, no es que sea importante, pero si ha sido una buena obra, habrá que bautizarle un nombre de pila impuesto por nosotros
Bueno, existen infinidad de cosas, pero la verdad no soy experto en esto, ya con el tiempo y la experiencia más “experimentada”, éste apartado dará más de qué hablar. El asunto es que podamos iniciar pensando que nada será fácil y el verte entre miles de líneas de código, éstas no te atrapen y te desanimes. Piensa, cuando activas una aplicación (ejemplo negritas en Word), detrás de esto existe gente que trabajo arduamente.
DESEMPEÑO: En el sistema Se genera cuando se ejecuta una aplicación ésta sea de forma ágil con capacidades de poder realizar tares de multiprocesos.
FLEXIBILIDAD: Aspecto importantes en la estructura de los sistemas: monolítico que se refiere a que la máquina deberá ejecutar un núcleo tradicional que proporcione la mayoría de los servicios y micronucleo comúnmente nombrado microkernel, que debe proporcionar lo menos posible; el grueso de los servicios del sistema operativo se debe obtener a partir de los servidores al nivel de usuario.
VAMOS AL DIAGRAMA DE FLUJO, AHORA CONCEPTUALIZADO
¿QUÉ ADMINISTRA EL SISTEMA OPERATIVO?
RECURSOS DE HARDWARE: Concretamente, los principales recursos
de hardware en una PC son la memoria (RAM principalmente, ROM,
Caché, etc.), las direcciones ó puertos de I/O (Imput/Output), las IRQ (Interrupt ReQuest) y los canales de DMA.
SISTEMA
debe considerar
RECURSOS DE SOFTWARE: Software es todo el conjunto
intangible de datos y programas de la computadora.
MEMORIA: Tiene estrecha relación con la
computadora y el sistema operativo, ya
que todos los programas que se ejecuten
por el usuario, serán colocados ahí; se dice
llamados a memoria
ARCHIVOS: La parte más visible de un
sistema operativo es el sistema de
archivos. La mayoría de los programas
leen o escriben cuando menos un archivo
, la comodidad y utilidad del sistema
operativo dependen principalmente de la
interfaz, estructura y confiabilidad del
sistema de archivos
DISPOSITIVOS ENTRADA: Son
aquellos que sirven para introducir
datos a la computadora para su
proceso. Los datos se leen de los
dispositivos de entrada y se
almacenan en la memoria central o
interna. Los dispositivos de entrada
convierten la información en
señales eléctricas que se
almacenan en la memoria central.
/ SALIDA
SUS BASES
PRINCIPALES
AMPLITUD DE FUNCIONES Y ADMINISTRADOR DE ERRORES: es conveniente aumentar las posibilidades de multiprocesamiento de los sistemas operativos, para permitir la ejecución de varias aplicaciones sin que
el sistema operativo colapse
ABSTRACCION: Define qué hace el sistema operativo, sin
tomar en cuenta el cómo lo hace
ESTANDARIZACION: ESTABLECE LA COMUNICACIÓN
ENTRE LAS DIFERENTES ARQUITECTURAS
UN SISTEMA OPERATIVO
CON VISION PROFESIONAL
CONECTIVIDAD DEL
SISTEMA OPERATIVO
ORIENTACION A OBJETOS APLICACIÓN
CLIENTE/SERVIDOR
SERVICIOS
NACE EL (SO) CON VISION
PROFESIONAL
TRANSPARENCIA: La transparencia suele determinarse sobre el diseño de interfaces de llamadas al sistema, de modo que no sea visible la existencia de dos o más procesadores.
Sistema Operativo (SO): Software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario. Funciones básicas del Sistema Operativo; Administrar los recursos de la máquina, coordinar el hardware y organizar archivos y directorios en dispositivos de
almacenamiento. Sistemas Operativos más utilizados son , Windows, Linux y Mac. Algunos SO ya vienen con un navegador integrado, como Windows que trae el navegador Internet Explorer.
MIRA EL SISTEMA OPERATIVO…
La interacción entre el Software y el Hardware hace operativa la máquina, es decir, el
Software envía instrucciones al Hardware haciendo posible su funcionamiento.
DISPOSITIVOS
DE SALIDA: Son los que permiten
representar los resultados (salida) del
proceso de datos. El dispositivo de
salida típico es la pantalla o monitor.
Otros dispositivos de salida son:
impresoras (imprimen resultados en
papel), trazadores gráficos (plotters),
bocinas, entre otros...
SEGURIDAD Y PROTECCIÓN: Se prevén los mecanismos de protección para poder
implementar políticas de seguridad. Definen qué hay que hacer , qué datos y recursos
deben protegerse de quién. Los mismos mecanismos, si son flexibles, pueden usarse
para implementar distintas políticas.
Los mecanismos que ofrece el sistema operativo necesariamente deben
complementarse con otros de carácter externo; impedir el acceso físico de personas
no autorizadas a los sistemas es un mecanismo de protección cuya implementación
no tiene nada que ver con el sistema operativo.
Un aspecto importante de la seguridad es el de impedir la pérdida de información, la
cual puede producirse por diversas causas: fenómenos naturales, guerras, errores de
hardware o de software, o errores humanos.
Necesaria la conjugación de forma interactiva ya que entre ellos se ofrecerá al usuario la solución global para el desarrollo del sistema. Mediante la
visión profesional del desarrollo del sistema, se puede aprovechar para crear aplicaciones con funciones específicas para los usuarios basándose en
el rendimiento del sistema y aprovechamiento de cada dispositivo conectado al sistema
INTERFAZ
Es el medio por el cual se ingresa a
un sistema operativo. Por lo general
se tiene que, mientras más completa,
sencilla e integra sea la cara de un
sistema operativo, este podrá ser
sencillo de utilizar por el usuario.
CONFIABILIDAD: Aspecto de mucha importancia, ya que dependiendo de la objetividad del sistema; o, si falla algún proceso, otro adicional al sistema operativo deberá
encargarse del trabajo. Importante el diseño y la arquitectura, la seguridad, la tolerancia a los fallos del sistema
ESCALABILIDAD: Si el software “normal” debe ser escalable, imaginar el sistema operativo, como parte fundamental de una computadora, entonces, La nueva era de tecnologías indica que se tiene que ir mejorando en cuestiones básicas de administración de dispositivos de E/S, para que se esté al día con los requerimientos del sistema operativo que deberá tener la capacidad de mejorar su procesos y gestión de recursos.
PORTABILIDAD: Antes Microsoft era para Microsoft, su software y su hardware, ahora es una necesidad básica en sistemas operativos modernos, pues suelen diseñarse a modo que se puedan utilizar en diferentes arquitecturas de hardware, y deban reconocer sin problema la mayoría de dispositivos de E/S.
INTERFACE ALTERNATIVA Se utilizan muy poco, sin embargo son de mucha utilidad para pensar en alguna alternativa de seguridad,. Son las que se basan en el reconocimiento de voz, la cual soporta un diálogo interactivo entre el usuario y una aplicación de software. En los dispositivos de interface neuronal el sistema provecha de los usuarios las señales eléctricas generadas por sus cuerpos para controlar una computadora o dispositivos eléctricos conectados entre sí.
LOS CONCEPTOS INCLUIDOS EN
LA ARQUITECTURA DEL (SO)
Diseño de Alto Nivel
VISION ARQUITECTONICA
PORTABILIAD
PATRONES
ARQUITECTONICOS
VISTAS
ARQUITECTONICAS
PRINCIPIOS DEL
DISEÑO
La arquitectura del diseño del sistema operativo, debe ser diferencial al diseño e implementación de un sistema operativo, la arquitectura es la base del
diseño, la implementación es la puesta en operación de un sistema operativo ya desarrollado.
CARACTERISTICAS DIFERENCIALES
SOPORTE EN MEMORIA,
TRAS SU EVOLUCION
NIVEL DE ABSTRACCION
DEL DISEÑO
EL INGREDIENTE ESENCIAL PARA EL
DISEÑO
INTERFACES, SU DISEÑO
EL DISEÑO DE INTERFACES
SUS PRINCIPIOS
FUNIONAL
EL PARADIGMA DEL
SISTEMA OPERATIVO
LOGICO IMPERATIVO
ORIENTADO A
OBJETOS ESTRUCTURADO GUIADO POR EVENTOS
Debemos entender como arquitectura de un sistema a la conformación de éste de acuerdo a sus componentes de software, sus propiedades extremamente visibles y la relación que existe entre ellos: esto es un conjunto de conceptos y decisiones de diseño relativos a la estructura del sistema operativo, que deben considerarse antes de la ingeniería, con el fin de asegurar la satisfacción del usuario. Y está concebida dentro un nivel de diseño la importancia está en ofrecer la comunicación entre las personas que van a involucradas, la documentación, restricciones de implementación, cualidades del sistema. Se basa en el diseño de alto nivel, a la estructura del sistema, los componentes del sistema sus relaciones y principios de funcionalidad, componentes, conectores, configuración y sus
restricciones.
La administración de los recursos de hardware es uno de los objetivos principales del diseño, por ello, no se puede hace a un lado el
cómo los usuarios van a interactuar con la computadora y, a través de ésta manejan el sistema y todas sus aplicaciones, pudiendo ser
este proceso fascinante, pues mucho del trabajo se puede plasmar en la presentación de cómo está planteado el sistema para su
manejo
INTERACCION HUMANO-COMPUTADORA
Esto se relaciona con la práctica del diseño, construcción e implementación de sistemas de cómputo interactivos basados en el usuario; actividad principal, el desarrollo de nuevos sistemas de interface para los usuarios, lo que implica nuevas técnicas de graficación.; ver la interfaz
INTERFACE BASADA EN TEXTO
“Arcaicamente” los desarrollos de sistemas orientados en textos o caracteres, nada más tenían la capacidad de desplegar códigos ASCII en la pantalla, contrastando esto a los orientados a gráficos, en donde la interface de texto consiste en un conjunto de comandos que el usuario debe memorizar y con los cuales se dan instrucciones al sistema para el manejo de los recursos del sistema.
INTERFACE GRAFICA DE USUARIO
Se beneficia de las capacidades de
despliegue gráfico de la computadora,
permitiendo hacer más sencillo el manejo
del sistema, utiliza iconos y menús tanto
para realizar comandos, como para abrir
archivos, ejecutar alguna acción dentro de
la aplicación.. Componentes gráficos
comunes en este tipo de interfaces: El
apuntador, dispositivo apuntador, iconos,
menús, ventanas, y escritorio. Cada sistema
operativo tiene su propia arquitectura
gráfica.
INTERFACE DE USUARIO Tiene como principal objetivo la implementación de interfaces que sean eficientes y efectivas al ser utilizadas por el usuario, su principio de su desarrollo está en el planteamiento de prototipos de interfaces donde se determinan qué eventos ocurrirán y los procesos lógicos a seguir por tales eventos.
SUS PRINCIPIOS EFICIENCIA
Si un usuario llama al sistema y sus aplicaciones, esto debe ser de forma eficiente y transparente, entonces, la implementación de los mecanismos debe ser de forma eficaz. Para el desarrollador debe ser automático para
poder tener una eficiencia del sistema.
INTEGRIDAD Todo sistema operativo debe permitir utilizar todas y cada una de las aplicaciones, el principio de la
integridad permitirá un uso integral del mismo.
SENCILLEZ
Como literalmente suena: Evita que los usuarios
tengan complicaciones al uso del sistema, entonces
un sistema operativo debe basarse en el principio de
la sencillez al uso
Los paradigmas son de importancia extrema, pues son la clave en la programación, ya que por estos se pueden generar planteamientos y bases para poder
desarrollar un software… son:
Se basa en sentencias de cálculos sencillos e iterativas, asociadas a una dirección de memoria y al final de la iteración represente el
resultado correcto.
Nuestro código se divide en bloques, estructuras, que pueden o no comunicarse entre ellas, mismas que pueden ser controlados por secuencias, selección e interacción.
Se basa en un tipo de programación en forma de funciones matemáticas.
Los sistemas operativos basados en, poseen clases y herencias, los cuales se pueden comunicar entre ellos.
OBJETOS
En este paradigma y su ejecución de programas se determinan por los sucesos que ocurran en el sistema
Definición de reglas lógicas que va a resolver problemas planteados por el sistema.
En estructuras similares de datos para sistemas operativos, tenemos la posibilidad que uno sea más rápido que otro, pero también, puede ser que el sistema más rápido puede ser menos confiable que el sistema más lento. Tratar de realizar optimizaciones complejas en estructura del sistema operativo puede generar errores, para evitar estos errores es conveniente aplicarlos solo si
son necesarias. Existen diferentes técnicas que pueden ser utilizadas para mejorar el desempeño en la estructura del sistema, Son las siguientes
PARADIGMA UNIFICADOR
DE DATOS
LLAMADAS AL
SISTEMA
LLAMADAS AL SISTEMA
EN MODO GENERALIZADO LLAMADAS AL
SISTEMA, SOBRE O
SIN CONEXION
PROCEDIMIENTOS
DE BIBLIOTECA CON
SENCILLEZ
IMPLEMENTACION Y DESEMPEÑO DEL
SISTEMA OPERATIVO
INTEGRACION DE LOS
COMPONENTES
SERVICIOS OBJETOS
DISTRIBUIDOS
ESTRCUTURA DEL
SISTEMA
En informática, llamada al sistema (en inglés system call) es el mecanismo usado por una aplicación para solicitar un servicio al sistema operativo. En el proceso de las interfaces, las llamadas al sistema deben cumplir con el menor número de llamadas, es importante contar con un paradigma de datos unificador el cual es muy útil durante el proceso de diseño. Las llamadas al sistema no deberán interferir en la potencia del hardware Si una llamada al sistema es rápida los usuarios siempre podrán construir interfaces más cómodas con base en ella.
Todo sistema operativo para ser eficiente, debería de ofrecer el menor número de llamadas al sistema, por lo cual debe de cumplir con los criterios abajo mencionados
La implementación de las llamadas al sistema requiere un control de transferencia que involucra características especificas de la arquitectura del procesador. Una forma típica de implementar es usar una interrupción por software. Linux usa esta implementación en la arquitectura x86.
Para los procesadores con arquitectura RISC, ésta es la única forma, pero arquitecturas CISC como x86 soportan otras técnicas adicionales. Un ejemplo es SYSCALL/SYSRE.
CRITERIOS A
CONSIDERAR…
Las llamadas al sistema comúnmente emplean una instrucción especial de la CPU, esto origina que el procesador transfiera el control a un código privilegiado, previamente especificado por el mismo código. Esto permite al código privilegiado especificar donde va a ser conectado así como el estado del procesador.
Cuando una llamada al sistema es invocada, la ejecución del programa que invoca es interrumpida y sus datos son guardados, normalmente en su PCB (Bloque de Control de Proceso del inglés Process Control Block), para poder continuar ejecutándose luego. El procesador entonces comienza a ejecutar las instrucciones de código de alto nivel de privilegio, para realizar la tarea requerida. Cuando esta finaliza, se retorna al proceso original, y continúa su ejecución. El retorno al proceso demandante no obligatoriamente es
inmediato, depende del tiempo de ejecución de la llamada al sistema y del algoritmo de planificación de CPU.
Generalmente, los sistemas operativos proveen bibliotecas que relacionan los programas de usuario y el resto del sistema operativo, usualmente una biblioteca C como glibc o el runtime de Microsoft C. Esta biblioteca maneja los detalles de bajo nivel para transferir información al kernel y conmutar a modo supervisor, así como cualquier procesamiento de datos o tareas que deba ser realizada en modo supervisor. Idealmente, esto reduce la dependencia entre el sistema operativo y la aplicación, e incrementa su portabilidad.
En los sistemas operativos bajo norma POSIX o similares, algunas llamadas al sistema muy usadas son open, Read (system call), write, close, wait, exec, fork, exit y kill. Los sistemas
operativos actuales tienen cientos de llamadas, por ejemplo Linux 2.x y FreeBSD tienen más de 300.
Durante la etapa de análisis del sistema operativo es aquí donde se tendrá línea para la etapa del desarrollo y para saber lo que se tiene que hacer para un futuro sistema, cómo hacerlo y cuáles serán sus límites. La arquitectura de un sistema es un paso hacia el desarrollo del mismo, y cuando se analizan y definen los requerimientos del usuario, el sistema quedará con todos los módulos o subsistemas para tener una estructura completa de los datos que se tendrán que procesar.
Un Sistema Operativo debe ser…
CAPAS Y ANILLOS En este tipo de estructura se contemplan seis capas para su formación:
ARQUITECTURA MAQUINA VIRTUAL
Arquitectura, alternativa de software, cada vez más útil para el manejo de servidores y economizador de hardware, en el sistema emula la existencia de hardware y el software convierte las peticiones a la maquina virtual en operaciones sobre la máquina física.
MICROKERNEL Y MULTIHILADO
Este tipo de arquitectura, se basa en obtener la mayor funcionalidad del kernel, se limita para que se pueda ejecutar en modo privilegiado y que permita las modificaciones y extensiones de forma simple y sencilla.
ARQUITECTURA CLIENTE SERVIDOR: Distribuye las tareas entre diferentes llamadas al sistema.
MULTIPROCESO: Permite gestionar dos o más procesadores para gestionar la carga entre ellos.
MULTIUSUARO Permite ser ocupado por dos o más usuarios durante el tiempo de ejecución de sus procesos.
MULTITAREA: Tiene la capacidad de ejecutar varias tareas a la vez
ORIENTADO A
OBJETOS
Para este tipo de
arquitecturas los
recursos que provee
el sistema operativo
es por medio grafico
u objetos.
Capa 0, se encarga de la administración de multiprogramación básica del
microprocesador
Capa 1, en esta capa se encarga de gestionar el espacio en la memoria.
Capa 2, para esta capa su principal actividad es comunicar entre cada proceso y la consola del operador.
Capa 3, en esta capa la gestión se enfoca sobre los dispositivos de E/S.
Capa 4, esta capa se gestionan los programas de los usuarios.
Capa 5, es donde se alojan los procesos del operador del sistema. No te espantes, no es que no sepa contar, es que todo inicia desde el cero
fuentes empleadas
Unidad 4. Diseño de Sistemas Operativos documento PDF
http://ditec.um.es/deiso/apuntes/tema1.pdf
http://so.fciencias.unam.mx/presentaciones/ch2.pdf
http://galeon.com/ipnupiicsaif/unidad4.html#1
A T E N T A M E N T E
Enrique Torrescano Montiel
IMPLEMENTACION ASCENDENTE
DESCENDENTE
CACHES
PRINCIPIOS DE OPTIMIZACION
ESTRUCTURA ESTATICA
Aquí, el tipo de estructura, se caracteriza por ser de más fácil comprensión, su programación es más simple
y su uso es más rápido.
ESTRUCTURA DINAMICA
Suele distinguirse por ser más flexible y permite adaptarse a todos los recursos disponibles, pero tiene como desventaja de que requieren de un gestor de memoria dentro del sistema operativo.
ESTRUCTURA ESTATICA O ESTRUCTURAS DINAMICAS
OCULTACION DE HARDWARE
Técnica que permite ocultar las
interrupciones, convirtiéndolas
en operaciones de
sincronización entre hilos. El
ocultar la arquitectura del
hardware, permite facilitar la
transportabilidad del sistema
operativo. La fuente del sistema
operativo deberá ser única y
una compilación condicional.
INDIRECCION
En la técnica deberá existir cierta flexibilidad por parte del sistema operativo, ya que si por algún motivo el usuario da la entrada de algún proceso por medio del teclado, al pulsar la tecla puede obtener un valor que no corresponde con lo deseado, para solucionarlo debe existir la posibilidad de utilizar configuraciones distintas de teclados.
REENTRABILIDAD
Técnica se permitirá la ejecución de forma simultánea de algún fragmento de código, la ejecución se puede dar dentro de un multiprocesador o en un monoprocesador , en este, pueden darse interrupciones cuando se ejecuten las mismas porciones del código al anterior.
Para un buen proceso de la
implementación de un sistema,
bien se podría verificar la
existencia de errores. Cuando
determinada llamada al
sistema falle, puede ser porque
los ficheros no existen dentro
del módulo o bien pertenecen a
otro, se deben considerar la
mayor parte de las pruebas al
inicio del procedimiento para
validar que la ejecución de
llamadas al sistema. sean las
correctas
CACHE DE BLOQUE
Esto representa un pequeño segmento de memoria RAM, que se añade algún sitio del disco duro con la finalidad de almacenar los datos que han sido leídos con anterioridad, teniendo como resultado agilidad al cargar los datos
CACHE DE PAGINACIÓN
Este tipo de cache se almacena en memoria RAM, esto dentro del disco duro.
BUENO, YA TENEMOS EL DISEÑO DE NUESTRO SISTEMA OPERATIVO Y NO DEBEMOS OLVIDAR UNA PARTE MUY IMPORTANTE:
TODO SISTEMA CUANDO ES RECIEN COMPRADO NOS MARAVILLA CON SUS POTENCIALIDADES EN CUANTO A LA VELOCIDAD CON QUE
TRABAJA Y VEMOS QUE LOS LLAMADOS A LAS APLICACIONES CORREN CON SORPRENDENTE VELOCIDAD, EN FIN, TODO NOS MARAVILLA.
PERO, CUANDO PASAN LOS MESES Y NOS VEMOS EN LA NECESIDAD DE INTEGAR PROGRAMAS, DE ABRIRLES Y CERRARLES, DE METERSE
A LA RED, DE GUARDAR ARCHIVOS, DE OLVIDARNOS DEL MANTENIMIENTO BÁSICO DEL SISTEMA, INICAN LOS PROBLEMA EN CUANTO A LA
VELOCIDAD.
SOBRA DECIR QUE TODO SISTEMA OPERATIVO DEBE SER DISEÑADO E IMPLEMENTADO BAJO LA METODOLOGIA DEL DESARROLLO PARA
QUE EN CUANTO SURJAN INCONVENIENTES EN CUANTO AL USO DEL HARDWARE Y EL SOFTWARE, EL SISTEMA OPERATIVO ESTE EN
POSIBILIDADES DE OPTIMIZAR SU USO.
TODA EMPRESA DESARROLLADORA DE SISTEMAS OPERATIVOS, DEBE INCLUIR EN SU DISEÑO E IMPLEMENTACIÓN, LAS FASES DE LA
OPTIMIZACIÓN, YA QUE DE ELLO DEPENDERÁ QUE EL SISTEMA NO PIERDA TANTA VELOCIDAD.
ENTONCES, ÉSTE ES UNO DE LOS PUNTOS POR DEMAS IMPORTANTES PARA EL DISEÑO DE NUESTRO SISTEMA OPERATIVO.
Espero te
haya gustado,
fue un
verdadero
gusto
desarrollarle