13
0 Factores que influyen en el diseño e implementación de un S.O. IMPLEMENTACION DISEÑO DE LA INTERFAZ CONOCER SOBRE LENGUAJE DE PROGRAMACION Seguridad Asignación de nombres Estructura del s.o. Rendimiento ensamblador C y C++ Decidir el diseño y por donde empezar

Mapa mental gilberto ramos itdo acosta_erik solis

Embed Size (px)

Citation preview

0

Factores que influyen en el diseño e implementación de un S.O.

IMPLEMENTACION

DISEÑO DE

LA INTERFAZ

CONOCER SOBRE

LENGUAJE DE

PROGRAMACION

Seguridad

Asignación

de

nombres

Estructura

del s.o.

Rendimiento

ensamblador C y C++

Decidir el diseño

y por donde

empezar

Interfaz grafica

Interfaz gráfica atractiva, clara y fácil.

Inicio rápido del sistema operativo.

Accesibilidad para personas con alguna discapacidad.

Manejo fácil del sistema de archivos.

Estabilidad ante problemas en la ejecución de programas de

aplicación.

1

Decide el diseño

Existen núcleos monolíticos y micronúcleos. Los monolíticos

implementan todos los servicios en el núcleo, mientras que los

micronúcleos tienen un núcleo pequeño combinado con

servicios de implementación de usuario. En general, los

núcleos monolíticos son más rápidos, pero los micronúcleos

tienen un mejor aislamiento de fallos y fiabilidad.

2

Decide si prefieres hacerlo todo tú mismo desde cero o si

hay un núcleo existente que te gustaría usar como base para construir. Por ejemplo, programar Linux desde cero

será un proyecto para aquellos que le gustaría crear su

propia distribución de Linux.

3

Especifica qué plataforma de procesador será compatible con tu sistema operativo. Te recomendamos

las dos más comunes para las computadoras personales:

AI-32 y x86_64.

Si bien es posible crear un sistema operativo con un lenguaje como

Pascal o BASIC, será mejor si usas C o el ensamblador. El

ensamblador es absolutamente necesario, ya que algunas partes

vitales de un sistema operativo lo necesitan. Por su parte, C++

contiene palabras clave que necesitan otro sistema operativo

totalmente integrado para poder funcionar.

Decide qué lenguaje de programación vas a

utilizar.

La seguridad tiene dos mitades: impide el acceso a los objetos que no

tienen derecho a acceder y permite a los usuarios acceder a objetos

que tienen todo el derecho de acceso. A veces parece que los

sistemas operativos están escritas por los fascistas; por ejemplo, es

imposible compartir cualquier objeto en Unix de una manera

significativa. Otras veces, parece como si estuvieran escritos por

personas que no tienen la menor idea de lo que significa la

privacidad. La verdadera seguridad tiene muchas implicaciones.

La seguridad es una de las características más buscados en un

sistema operativo en la actualidad. Con las computadoras ahora están

utilizando para almacenar grandes cantidades de datos, a partir de la

información gubernamental de alto secreto a las empresas y hacer el

seguimiento de negocios de números de cuentas bancarias, la

seguridad en un sistema operativo es una necesidad.

SEGURIDAD

Diseño de los Sistemas Operativos.

MODELO CLIENTE - SERVIDOR

ESTE ENFOQUE BUSCA IMPLEMENTAR LA MAYORIA DE LAS FUNCIONES DEL SISTEMA OPERATIVO EN PROCESOS “SERVIDORES", DEJANDO UN KERNEL MÍNIMO.

PARA SOLICITAR UN SERVICIO, UN PROCESO DEL USUARIO (“CLIENTE”) ENVIA LA SOLICITUD A UN PROCESO “SERVIDOR” , QUE REALIZA ELTRABAJO Y DEVUELVE LA RESPUESTA .

EN ESTE MODELO, EL KERNEL BASICAMENTE SE ENCARGA DE LA COMUNICACIÓN ENTRE CLIENTES Y SERVIDORES.

SON ADAPTABLES A SISTEMAS DISTRIBUIDOS.

EJEMPLOS: MINIX, MACH, AMOEBA, WINDOWS NT.

7

Los sistemas por capas o jerárquica

(Estructura por niveles)

8

9

Estructura del sistema capas (NIVELES)

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 se han

expirado y proporciona multiprogramación básica de la

CPU.

Asignación

de nombres

Casi todas las estructuras de datos duraderas que utiliza un SO tienen algún tipo de nombre o identificador (nombre de dispositivo, de fichero, identificador de proceso, etc.)

Es común que los nombres se asignen a dos niveles:

Externo: cadenas de caracteres (estructuradas o no) que usan los usuarios .

Interno: identificacion usada internamente por el SO.

o Debe existir algún mecanismo que permita asociar unos nombres con otros. Ejemplo: los directorios (enlazan nombres de fichero con nodos-i).

o Un buen diseño debe estudiar con detenimiento cuantos espacios de nombres van a necesitarse, qué sintaxis tendrán los nombres, cómo van a distinguirse, etc. 10

Rendimiento

En condiciones iguales, un sistema operativo rápido es mejorque uno lento. Sin embargo, un sistema operativo rápido y poco confiable no es tan bueno como uno lento peroconfiable.

Un método general para mejorar el desempeño es sacrificartiempo a cambio de espacio.

Una técnica muy conocida para mejorar el desempeño es eluso de cachés.

Los procesos y programas no actúan al azar; exhiben un altogrado de localidad en el tiempo y en el espacio, y hay variasformas de aprovechar esta información para mejorar el desempeño.

11

Tendencias en Sistemas Operativos.

Una tendencia actual es hacia los llamados Sistemas Abiertos, lo cual indica que estos sistemas operativos trabajan sobre una gran variedad de plataformas con independencia de las empresas fabricantes.

Software NO Libre: Se refiere a cualquier programa en el que su código fuente no está disponible o el acceso a éste se encuentra restringido. Caso: Windows.

Software Libre: Es aquel que proporciona a los usuarios la libertad de ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. Caso: Linux.

12