INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS
1-¿Cuáles son las principales funciones de un sistema operativo?
Gestionar los recursos del ordenador.
Dispone de una interfase liberando al usuario del conocimiento del hardware.
"GUI" , permitiendo al usuario interactuar con el hardware de una forma sencilla y rápida.
Sobre el SO funcionan el resto de programas y aplicaciones del software.
2-¿Qué diferencia existe entre un mandato y una llamada al sistema?
Un mandato es una orden dirigida al sistema operativo por medio del usuario.
Una llamada al sistema es el procedimiento en el cual los programas, apoyados en el sistema operativo, acceden a los recursos que necesitan
3-¿Cómo se solicita una llamada al sistema operativo?
La forma en que se realiza una llamada al sistema consiste en colocar una serie de parámetros en un lugar específico, para después ejecutar una instrucción del lenguaje máquina del procesador denominada trap.
4-¿Cómo indica POSIX en un programa C el tipo de error que se ha producido en una llamada al sistema? ¿y Win32?
En caso de error: Las llamadas al sistema devuelven -1 ó NULL.
Deben siempre comprobar después de una llamada si todo es correcto, para ello Linux proporciona una variable error y una función perror()
5-¿Cuál de las siguientes técnicas hardware tiene mayor influencia en la construcción de un sistema operativo? Razone su respuesta
A.- Microprogramación del procesador
B.- Cache de la memoria principal
C.- DMA
D.- RISC
Microprogramación del procesador ya que involucra lo que son las operaciones básicas que un computador debe realizar para propósito general mientras que los demás ya serían los componentes que se le agregan para que las operaciones que vaya a realizar el procesador sea más eficiente.
6-¿El intérprete de mandatos de UNIX es interno o externo? Razone su respuesta con un ejemplo
Es un intérprete de comandos interno, ya que este acerca al usuario todas las posibilidades del sistema convirtiéndose en la interfaz entre el usuario y el nivel de llamadas del sistema.
7-¿Dónde es más compleja una llamada al sistema, en un sistema operativo monolítico o en uno por capas?
En un sistema operativo por capas, debido a que la llamada tiene que pasar por muchos más procedimientos que la simple monolítica
8-¿Qué tipo de sistema operativo es más fácil de modificar, uno monolítico o uno por capas? ¿Cuál es más eficiente?
Los SO de estructura monolítica son más fáciles de cambiar y modificar. Sin embargo, los sistemas operativos por capas son más eficientes, ya que el intérprete de comandos asimila los mandatos, y luego de ellos haber pasado por cada uno de los niveles la orden habrá sido completado.
9-¿Debe ser un sistema operativo multitarea de tiempo compartido? ¿Y viceversa? Razone su respuesta.
Los sistemas operativos de tiempo compartido se caracterizan por realizar n tareas a la vez, dar servicio a n cantidad de usuarios.
Los SO multitareas pueden y deben ser de tiempo compartido, siempre y cuando sean fáciles de entender y operar, seguros y lo suficientemente eficientes como para satisfacer las necesidades de todos los usuarios en el momento.
10-¿Qué ventajas considera que tiene escribir un sistema operativo utilizando un lenguaje de alto nivel?
Independientemente de la complejidad del lenguaje, pienso que un SO debe ser escrito en un lenguaje de programación avanzado, ya que las necesidades, las demandas y la diversidad de aplicaciones de un SO son cada vez mayores, y por tal razón, al momento de programar uno, deben ser aprovechadas las ventajas que ofrece un lenguaje de programación avanzado como por ejemplo una mayor cantidad de funciones.
11-Liste cinco servicios que un sistema operativo presta. Explique cómo cada uno ofrece comodidad a los usuarios, y también en que casos sería imposible que programas en el nivel de usuario proporcionen estos servicios.
Un Sistema Operativo Distribuido tiene que sincronizar los procesos que se están ejecutando en diferentes computadoras cuando estas tratan de accesar concurrentemente un recurso compartido, por ejemplo: un directorio.
El recurso compartido debe ser accesado por un proceso a la vez, a esto se le conoce como mutua exclusión.
Cuando se tiene acceso concurrentemente a un recurso compartido por diversas peticiones no coordinadas de usuarios, estas deben de seriabilizarse para asegurar la integridad del recurso.
Los procesos deben solicitar recursos locales o remotos y posteriormente liberados en cualquier orden que puede ser no conocido.
Si la ausencia de asignación de recursos de los procesos no se controla se puede presentar un " Dead Lock " que degrade al sistema.
Gestionar los recursos del ordenador.
Dispone de una interfase liberando al usuario del conocimiento del hardware.
"GUI" , permitiendo al usuario interactuar con el hardware de una forma sencilla y rápida.
Sobre el SO funcionan el resto de programas y aplicaciones del software.
2-¿Qué diferencia existe entre un mandato y una llamada al sistema?
Un mandato es una orden dirigida al sistema operativo por medio del usuario.
Una llamada al sistema es el procedimiento en el cual los programas, apoyados en el sistema operativo, acceden a los recursos que necesitan
3-¿Cómo se solicita una llamada al sistema operativo?
La forma en que se realiza una llamada al sistema consiste en colocar una serie de parámetros en un lugar específico, para después ejecutar una instrucción del lenguaje máquina del procesador denominada trap.
4-¿Cómo indica POSIX en un programa C el tipo de error que se ha producido en una llamada al sistema? ¿y Win32?
En caso de error: Las llamadas al sistema devuelven -1 ó NULL.
Deben siempre comprobar después de una llamada si todo es correcto, para ello Linux proporciona una variable error y una función perror()
5-¿Cuál de las siguientes técnicas hardware tiene mayor influencia en la construcción de un sistema operativo? Razone su respuesta
A.- Microprogramación del procesador
B.- Cache de la memoria principal
C.- DMA
D.- RISC
Microprogramación del procesador ya que involucra lo que son las operaciones básicas que un computador debe realizar para propósito general mientras que los demás ya serían los componentes que se le agregan para que las operaciones que vaya a realizar el procesador sea más eficiente.
6-¿El intérprete de mandatos de UNIX es interno o externo? Razone su respuesta con un ejemplo
Es un intérprete de comandos interno, ya que este acerca al usuario todas las posibilidades del sistema convirtiéndose en la interfaz entre el usuario y el nivel de llamadas del sistema.
7-¿Dónde es más compleja una llamada al sistema, en un sistema operativo monolítico o en uno por capas?
En un sistema operativo por capas, debido a que la llamada tiene que pasar por muchos más procedimientos que la simple monolítica
8-¿Qué tipo de sistema operativo es más fácil de modificar, uno monolítico o uno por capas? ¿Cuál es más eficiente?
Los SO de estructura monolítica son más fáciles de cambiar y modificar. Sin embargo, los sistemas operativos por capas son más eficientes, ya que el intérprete de comandos asimila los mandatos, y luego de ellos haber pasado por cada uno de los niveles la orden habrá sido completado.
9-¿Debe ser un sistema operativo multitarea de tiempo compartido? ¿Y viceversa? Razone su respuesta.
Los sistemas operativos de tiempo compartido se caracterizan por realizar n tareas a la vez, dar servicio a n cantidad de usuarios.
Los SO multitareas pueden y deben ser de tiempo compartido, siempre y cuando sean fáciles de entender y operar, seguros y lo suficientemente eficientes como para satisfacer las necesidades de todos los usuarios en el momento.
10-¿Qué ventajas considera que tiene escribir un sistema operativo utilizando un lenguaje de alto nivel?
Independientemente de la complejidad del lenguaje, pienso que un SO debe ser escrito en un lenguaje de programación avanzado, ya que las necesidades, las demandas y la diversidad de aplicaciones de un SO son cada vez mayores, y por tal razón, al momento de programar uno, deben ser aprovechadas las ventajas que ofrece un lenguaje de programación avanzado como por ejemplo una mayor cantidad de funciones.
11-Liste cinco servicios que un sistema operativo presta. Explique cómo cada uno ofrece comodidad a los usuarios, y también en que casos sería imposible que programas en el nivel de usuario proporcionen estos servicios.
Un Sistema Operativo Distribuido tiene que sincronizar los procesos que se están ejecutando en diferentes computadoras cuando estas tratan de accesar concurrentemente un recurso compartido, por ejemplo: un directorio.
El recurso compartido debe ser accesado por un proceso a la vez, a esto se le conoce como mutua exclusión.
Cuando se tiene acceso concurrentemente a un recurso compartido por diversas peticiones no coordinadas de usuarios, estas deben de seriabilizarse para asegurar la integridad del recurso.
Los procesos deben solicitar recursos locales o remotos y posteriormente liberados en cualquier orden que puede ser no conocido.
Si la ausencia de asignación de recursos de los procesos no se controla se puede presentar un " Dead Lock " que degrade al sistema.