1. TALLER DE SISTEMAS OPERATIVOS
ESTUDIANTE:
MANUEL IGNACIO CHAPARRO TAPIAS
ING. DE SISTEMAS
FUNDACION UNIVERSITARIA DE SAN GIL “UNISANGIL”
FACULTAD DE CIENCIAS NATURALES E INGENIERIA
SISTEMAS OPERATIVOS
YOPAL-CASANARE
2013
2. TALLER DE SISTEMAS OPERATIVOS
INGENIERA:
MARÍA NANCY ESPINEL
ESTUDIANTE:
MANUEL IGNACIO CHAPARRO TAPIAS
ING. DE SISTEMAS
FUNDACION UNIVERSITARIA DE SAN GIL “UNISANGIL”
FACULTAD DE CIENCIAS NATURALES E INGENIERIA
SISTEMAS OPERATIVOS
YOPAL-CASANARE
2013
3. INTRODUCCIÓN
Actualmente en el mercado de la informática tenemos a la mano una gran variedad de
herramientas que cada vez hace más fácil el uso del pc y así mismo abre puerta a los
futuros programadores pero muchas veces desconocemos grandes características de
los cuales forman parte estos mismos por ello en este corto taller desarrollado
conocerán algunas de las características tanto de los discos duros, sistemas operativos
y al mismo algunas partes fundamentales de Linux porque en un mercado tan
comercializado con Microsoft desconocemos lo que nos pueden ofrecer otras “mentes”
dado aquí a través de Linux.
Se dará a conocer mucho de la arquitectura usada en los diferentes O.S así como a la
vez se trata de compararlos entre sí, es un trabajo sencillo pero con un enfoque de
adquirir nuevos conocimientos y tener claro conceptos básicos de kernel, master boot
entre otros.
4. 1. Explique ¿qué es sistema operativo?
Sistema operativo es el software encargado de administrar y coordinar el uso del
hardware entre los programas que instalamos en el sistema operativo y los usuarios
que posee el equipo, administrar la información almacenada en los diferentes
dispositivos de entrada y salida y esto se logra mediante dos funciones diferentes.
Proveer una máquina virtual, es decir, un ambiente en el cual el usuario pueda
ejecutar programas de manera conveniente, protegiéndolo de los detalles y
complejidades del hardware. Administrar eficientemente los recursos del computador.
2. ¿Qué es el núcleo?
El núcleo es la parte fundamental del sistema operativo así mismo como lo es el
procesador para la CPU, es el sistema lógico encargado de facilitar el acceso seguro al
hardware y a su vez administrar los programas que pueden hacer uso de un dispositivo
de hardware y el tiempo de los mismos, esto se conoce como multiplexado.
Debido a la complejidad de generar el puente entre el software y el hardware, el
núcleo implementa una serie de abstracciones del hardware, que disminuye la
dificultad generando interfaz limpia y uniforme al hardware subyacente.
3. ¿Cuáles son las funciones del núcleo o kernel?
· La comunicación entre los programas informáticos y el hardware.
· Gestión de los distintos programas informáticos (tareas) de una máquina.
· Gestión del hardware (memoria, procesador, periférico, forma de almacenamiento,
etc.)
Los núcleos tienen como funciones básicas de garantizar el cargamento y la ejecución
de los procesos, las entradas / salidas y proponer un interfaz entre el espacio núcleo y
los programas del espacio del usuario.
4. Explique los cuatro tipos de núcleos
Los núcleos monolíticos: facilita una plataforma de hardware consistente sobre la
cual correr las aplicaciones más potentes.
5. Los micronúcleos: El objetivo principal es la separación de la implementación de
losServicios básicos y de la política de funcionamiento del sistema.
Los núcleos híbridos: son micronúcleos que tienen algo de código «no esencial»
enespacio de núcleo para que éste se ejecute más rápido de lo que lo haría si estuviera
enespacio de usuario.
Los exonúcleos: también conocidos como sistemas operativos
verticalmenteestructurados, representan una aproximación radicalmente nueva al
diseño de sistemasoperativos.
5. ¿Cuáles son los sistemas operativos existentes?
SO (pc y celular)
Microsoft Windows, Mac OS, GNU/Linux, Unix, Solaris, Google Chrome OS,
Debian,Ubuntu, Mandriva, Sabayon, Fedora, Reactos, Symbian OS, Android, IOS,
Windows Phone, BlackBerry OS, HP web OS, Bada.
6. ¿Cuáles son las distintas funciones de los sistemas operativos?
Funciones:
Administración del procesador: el sistema operativo administra la distribucióndel
procesador entre los distintos programas por medio de un algoritmo deprogramación.
El tipo de programador depende completamente del sistemaoperativo, según el
objetivo deseado.
Gestión de la memoria de acceso aleatorio: el sistema operativo se encargade
gestionar el espacio de memoria asignado para cada aplicación y para cadausuario, si
resulta pertinente. Cuando la memoria física es insuficiente, elsistema operativo puede
crear una zona de memoria en el disco duro,denominada "memoria virtual". La
memoria virtual permite ejecutar aplicacionesque requieren una memoria superior a la
memoria RAM disponible en el sistema.Sin embargo, esta memoria es mucho más
lenta.
Gestión de entradas/salidas: el sistema operativo permite unificar y controlar
elacceso de los programas a los recursos materiales a través de los drivers(también
conocidos como administradores periféricos o de entrada/salida).
Gestión de ejecución de aplicaciones: el sistema operativo se encarga deque las
aplicaciones se ejecuten sin problemas asignándoles los recursos queéstas necesitan
para funcionar. Esto significa que si una aplicación no respondecorrectamente puede
"sucumbir".
6. Administración de autorizaciones: el sistema operativo se encarga de laseguridad
en relación con la ejecución de programas garantizando que losrecursos sean utilizados
sólo por programas y usuarios que posean lasautorizaciones correspondientes.
Gestión de archivos: el sistema operativo gestiona la lectura y escritura en elsistema
de archivos, y las autorizaciones de acceso a archivos de aplicaciones yusuarios.
Gestión de la información: el sistema operativo proporciona cierta cantidad de
indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del
equipo.
7. ¿Cuál es la organización de un sistema operativo?
* Organización Modular: Son también llamados Monolíticos y es la forma
más común de organizar un sistema operativo, consiste en que no tiene ninguna
estructura, es decir el sistema operativo puede comunicarse con los demás sistemas
cuando este lo requiera; esta organización se solicita cuando se colocan
los parámetros se ponen en lugares bien definidos.
* Organización Por Microkernel: Este se encarga de controlar las funciones
centrales por un núcleo llamado "Kernel y el interfaz por el entorno "Shell", en
esta organización las funciones de nivel bajo y las de comandos están separadas.
* Organización Por Anillos Concéntricos: En este el sistema operativo se organiza
por capas como una estructura jerárquica, el sistema cuenta con 6 capas una debajo
de la otra. La capa 1, administra al memoria, la capa 2, comunica el proceso con al
consola del operador, la capa 3, controla dispositivos de entrada y salida, la capa 4 es
donde están los programas del usuario y de ahí en adelante esas dos capas que sigues
eran buscadas por la 4 capa.
* Organización Cliente Servidor: el núcleo es controlar la comunicación entre
los clientes y los servidores. Al separar el sistema operativo en partes, cada una de
ellas controla una faceta del sistema, como el servicio a archivos, servicios a procesos,
servicio a terminales o servicio a la memoria, cada parte es pequeña y controlable.
Además como todos los servidores se ejecutan como procesos en modo usuario y no
en modo núcleo, no tienen acceso directo al hardware. En consecuencia si hay un error
en el servidor de archivos, éste puede fallar, pero esto no afectará en general a toda la
máquina.
7. 8. En informática ¿Qué es un proceso?
Un proceso es una instancia de ejecución de un programa, caracterizado por su
contador de programa, su palabra de estado, sus registros del procesador, su
segmento de texto, pila y datos, etc. Un programa es un concepto estático, mientras
que un proceso es un concepto dinámico. Es posible que un programa sea ejecutado
por varios usuarios en un sistema multiusuario, por cada una de estas ejecuciones
existirá un proceso, con su contador de programa, registros, etc. El sistema operativo
necesita el concepto de proceso para poder gestionar el procesador mediante la
técnica de multiprogramación o de tiempo compartido, de hecho, el proceso es la
unidad planificable, o de asignación de la CPU.
9. Explique los estados de proceso: Ejecución, listo, Espera, nuevo y
terminado. De un ejemplo para cada estado
Durante su vida, un proceso puede pasar por una serie de estados
discretos, algunos de ellos son:
En ejecución: El proceso ocupa la CPU actualmente, es decir, se está
ejecutando. Ej: una aplicación ya abierta como puede ser office,
reproductor, navegador etc.
Listo o preparado: El proceso dispone de todos los recursos para su
ejecución, sólo le falta la CPU. Ej:
Bloqueado: Al proceso le falta algún recurso para poder seguir
ejecutándose, además de la CPU. Por recurso se pueden entender un
dispositivo, un dato, etc. El proceso necesita que ocurra algún evento que le
permita poder proseguir su ejecución. Ej:operación de E/S.
El estado de nuevo indica que el programa realmente existe pero todavía no
es conocido por el OS. Ej: una nueva aplicación.
Un proceso está terminado cuando ha terminado su ejecución o bien el
sistema operativo a detectado un error fatal y lo ha transferido a dicho
estado. También es posible que haya entrado él como resultado de un fallo
del propio sistema operativo (cuestión que desgraciadamente suele ocurrir
frecuentemente en algunos OS. Ej: error inesperado en Windows.
10. ¿Qué es el master boot record (MBR)?
El MBR se encuentra en el primer sector absoluto de un disco duro, nos informa
de las particiones primarias que contiene el disco duro (hasta un máximo de 4)
y se asocia normalmente al sector de arranque. El Master Boot Record se
encuentra en el primer sector de un disco duro, tiene un tamaño de 512 bytes
8. y como el MBR tiene código que es ejecutado, pues lo voy a definir como un
programa que se encarga de ceder el control al sector de arranque de una
partición primaria y que esté activa.
11. ¿De qué está compuesto el MBR?
El MBR está compuesto por un código ejecutable, las entradas de la Tabla
de Particiones y un marcador ejecutable.
12. ¿Qué es bootstrap?
Son las siglas de Bootstrapportocol.
Suele referirse al programa de arranque de un sistema operativo o proceso de
inicio de cualquier ordenador y originalmente está definido en el RFC 951. Se
ejecutan tras el proceso de POST de la BIOS .También llamado cargador de
inicialización, o bootstraploader.
13. Cómo se encuentran distribuidos los 512 bytes del sector de
arranque en un disco duro
El MBR se divide en varias partes, sin embargo, para no complicar esto mucho más, lo
voy a dividir en 3 partes que considero principales: código ejecutable (Master
BootCode), tabla de particiones (PartitionTable) y firma del MBR. Realmente pueden
existir más partes pero esas 3 nos valen para entender su funcionamiento.
Se tomaría de este modo la distribución:
Código ejecutable 446 bytes, tabla de particiones 64 bytes, firma MBR 2 bytes.
14. En Linux cuales son las convenciones para nombrar los discos
GNU/Linux usa un método lógico para nombrar las particiones. En primer lugar,
alnombrar las particiones no tiene en cuenta el tipo de particiones que Usted pudiera
tener, y en segundo lugar nombra las particiones de acuerdo al disco en el cual están
ubicadas. Así es como se nombran los discos:
Los dispositivos IDE maestro y esclavo primarios (ya sean discos rígidos, unidades
de CD-ROM o cualquier otra cosa) se
denominan /dev/hda y /dev/hdb respectivamente;
en la interfaz secundaria, se denominan /dev/hdc y /dev/hdd para el maestro y el
esclavo respectivamente;
9. si su computadora contiene otras interfaces IDE (por ejemplo, la interfaz IDE presente
en algunas tarjetas SoundBlaster™), los dispositivos se
denominarán /dev/hde, /dev/hdf, etc.
los discos SCSI se denominan /dev/sda, /dev/sdb, etc. en el orden en que aparezcan
en la cadena SCSI (dependiendo de los ID incrementalmente) Los CD-ROM SCSI se
denominan /dev/scd0, /dev/scd1, siempre en el orden de aparición de los mismos en la
cadena SCSI.
Las particiones se nombran en base al disco en el cual se encuentran, de la siguiente
manera (en el ejemplo, usamos el caso de particiones en un disco IDE maestro
primario):
las particiones primarias (o extendidas) se denominan /dev/hda1 a /dev/hda4 cuando
están presentes;
las particiones lógicas , si existen, se denominan /dev/hda5, /dev/hda6, etc. en el
orden de aparición de las mismas en la tabla de particiones lógicas.
15. ¿Cuáles son los cargadores de arranque para GNU/Linux?
Cargadores de Arranque para GNU / Linux
LILO: es un gestor de arranque que permite elegir, entre sistemas operativos Linux y
otras plataformas, con cual se ha de trabajar al momento de iniciar un equipo con más
de un sistema operativo disponible.
LILO funciona en una variedad de sistemas de archivos y puede arrancar un sistema
operativo desde el disco duro o desde un disco flexible externo . LILO permite
seleccionar entre 16 imágenes en el arranque. LILO puede instalarse también en el
master boot record (MBR).
10. GRUB: En computación es un administrador o gestor de arranque múltiple,
desarrollado por el proyecto GNU, que se usa comúnmente para iniciar uno de dos o
más sistemas operativos instalados en un mismo equipo. Se usa principalmente en
sistemas operativos GNU/Linux. El Sistema Operativo Solaris ha usado GRUB como
gestor de arranque en sistemas x86.
16. ¿Qué es un sistema de archivos?
El sistema de archivos se basa en la administración de clústers, la unidad de
disco más chica que el sistema operativo puede administrar.
Un clúster consiste en uno o más sectores. Por esta razón, cuanto más
grande sea el tamaño del clúster, menores utilidades tendrá que administrar
el sistema operativo. La elección de un sistema de archivos depende en
primer lugar del sistema operativo que esté usando. Generalmente, cuanto
más reciente sea el sistema operativo, mayor será el número de archivos
que admita.
Tipos de sistemas de archivos admitidos segun OS: Dos FAT16,Windows 95
FAT16,FAT16, FAT32,Windows 98 FAT16, FAT32,Windows NT4 FAT, NTFS (versión
4),Windows 2000/XP FAT, FAT16, FAT32, NTFS (versiones 4 y 5),Linux Ext2, Ext3,
ReiserFS, Linux Swap (FAT16, FAT32, NTFS), MacOSHFS (Sistema de Archivos
Jerárquico), MFS (Sistemas de Archivos Macintosh), OS/2 HPFS (Sistema de
Archivos de Alto Rendimiento), SGI IRIX XFS, FreeBSD, OpenBSD, UFS (Sistema de
Archivos Unix), Sun Solaris UFS (Sistema de Archivos Unix),IBM AIX JFS (Sistema
Diario de Archivos).
17. ¿Cuál es la arquitectura de Windows y de Linux?
11. Arquitectura de Windows
Características:
Corre sobre múltiples arquitecturas de hardware y plataformas, Es compatible
con aplicaciones hechas en plataformas anteriores, es adaptable al mercado
global soportando código Unicode, balancea los procesos de forma paralela en
varios procesadores a la vez, es un sistema operativo de memoria virtual.
Uno de los pasos más importantes que revoluciono los sistemas operativos de
Microsoft fue el diseño y creación de un sistema operativo extensible, portable,
adaptable, robusto y compatible con sus versiones anteriores.
Arquitectura de Linux
Algunas de las características de Linux son su núcleo monolítico hibrido, los
controladores de dispositivos y las extensiones del núcleo que normalmente se
ejecutan en un espacio privilegiado conocido como anillo 0. A diferencia de los
núcleos monolíticos tradicionales, los controladores de dispositivos y las
extensiones al núcleo se pueden cargar y descargar fácilmente como módulos
mientras el sistema continua funcionando sin interrupciones, también a
diferencia de los núcleos monolíticos tradicionales los controladores pueden ser
prevolcados.
18. Realice la comparación entre el núcleo de Linux y Windows
Actualmente Linux es un núcleo monolítico híbrido. Los controladores de dispositivos y
las extensiones del núcleo normalmente se ejecutan en un espacio privilegiado
conocido como anillo 0 (ring 0), con acceso irrestricto al hardware, aunque algunos se
ejecutan en espacio de usuario
Modo núcleo Windows: Tiene acceso total a la memoria del sistema y los dispositivos
externos. Los núcleos de los sistemas operativos de esta línea son todos conocidos
como núcleos híbridos, aunque hay que aclarar que este término está en discusión ya
que este núcleo es esencialmente un núcleo monolítico que está estructurado al estilo
de un micronúcleo.
19. Explique la nomenclatura del kernel en Linux
12. El kernel de Linux está escrito en C y es código abierto licenciado bajo licencia
GNU/GPL (excepto el planificador de recursos, el cual pertenece a Linux Torvalds y al
resto de programadores que se han ocupado de dicha parte), con lo cual tenemos
acceso al código para su estudio y/o modificación.
La nomenclatura del Kernel se divide en 3 campos separados por un punto (.) estos
son:
- Primer campo: Número de la versión, actualmente a fecha de este documento.
- Segundo campo: Numero de "sub-versión", por llamarlo de algún modo, es la
versión dentro de la propia versión, si este número es par, la versión será estable, si
este es impar, ésta sera inestable.
- Tercer campo: Nivel de corrección el en que se encuentra.
20. Explique el núcleo de Windows 7 (MinWin)
Es altamente modular y lo forman dos capas principales:
Modo usuario: estos programas y subsistemas están limitados a los recursos que se
tienen del sistema.
Modo núcleo: se tiene un acceso a la memoria del sistema y a los periféricos.
Estos núcleos se llaman núcleos híbridos, este nombre se encuentra en discusión, ya
que el núcleo está estructurado al estilo de un micro núcleo y es esencialmente un
núcleo monolítico.
Su arquitectura se compone de:
1. núcleo hibrido
2. Una capa de abstracción de hardware (conexión entre el software y el hardware del
sistema).
3. Controladores
4. Executivo (se implementan los servicios de alto nivel)
5. Las librerías dinámicas que sirven para su correcto funcionamiento.
21. ¿Cuál es la diferencia entre software libre, software gratuito y
software de dominio público?
13. •Software Libre: Es la denominación al software que brinda libertad de acceso Puede
ser modificado, copiado, estudiado y redistribuido libremente, aunque sea un software
libre, este puede ser distribuido comercialmente.
•Software Gratuito: En algunas ocasiones incluye el código fuente, es libre cuando se
garanticen los derechos de modificación y redistribución de dichas versiones
modificadas del programa.
•Software de Dominio Público: Es aquel software que no requiere licencia, pues sus
derechos de explotación son para la humanidad, porque pertenece a todos por igual.
Cualquiera puede hacer uso de él, siempre con fines legales y consignando su autoría
original.
22. Explique por qué Linux es llamado GNU/LINUX
El nombre GNU / Linux viene de las herramientas básicas del sistema operativo
creadas por el proyecto GNU. La contribución de GNU es la razón por la que existe
controversia a la hora de utilizar Linux o GNU / Linux para referirse al sistema
operativo formativo por las herramientas de GNU y el núcleo Linux en su conjunto.
23. ¿Cuál es la diferencia entre GNU Hurd y GNU Mach?
GNU Hurd
Es un conjunto de programas servidores que simulan un núcleo Unix que establece la
base del sistema operativo GNU. El Proyecto GNU lo ha estado desarrollando desde
1990 como software libre, distribuyéndolo bajo la licencia GPL.
Hurd intenta superar los núcleos tipo Unix en cuanto a funcionalidad, seguridad y
estabilidad, aun manteniéndose compatible con ellos. Esto se logra gracias a que Hurd
implementa la especificación POSIX (entre otras), pero eliminando las restricciones
arbitrarias a los usuarios.
GNU Mach
Es el micronúcleo oficial del Proyecto GNU. Como cualquier otro micronúcleo, su
función principal es realizar labores mínimas de administración sobre el hardware para
que el grueso del sistema operativo sea operado desde el espacio del usuario.
En la actualidad el GNU Mach sólo funciona en máquinas de arquitectura Intel de 32
bits (IA32) y su uso más popular es servir de soporte a Hurd, el proyecto que pretende
reemplazar a los núcleo tipo Unix en el sistema operativo libre GNU. Sin embargo,
desde el año 2002 los esfuerzos de la Fundación del Software Libre se encaminaron
14. hacia la adopción del OSKit Mach como micronúcleo oficial. Actualmente se denomina
GNU Mach 1.x al antiguo GNU Mach y GNU Mach 2.x a OSKit Mach
24. Para los siguientes sistemas operativos cuales son los tipos de
archivos admitidos: DOS, Windows 95, Windows 98, Windows XP,
Windows 7, Linux, MacOS, OS/2, Sun Solaris e IBM AIX
DOS: FAT16
Windows 95 FAT16 FAT 32
Windows 98 FAT16 FAT 32
Windows XP FAT 32 NTFS
Windows 7 NTFS
LinuxExt2, Ext3, ReiserFS, Linux Swap (FAT16, FAT32, NTFS)
Mac Os SHFS (Sistema de Archivos Jerárquico), MFS (Sistemas de Archivos Macintosh)
Sun Solaris UFS (Sistema de Archivos Unix)
IBM AIX JFS (Sistema Diario de Archivos).
25. En Linux cual es la función de las particiones: / (raiz), /boot y
swap
/ (Raíz): es la partición más importante del sistema Linux. En ella se instalarán los
ficheros del sistema operativo Linux. Además, será el punto de partida para el montaje
de otras particiones. Esta partición será obligatoria, el tamaño asignado puede variar
en función del uso que queramos dar a nuestro equipo, si vamos a instalar muchas
aplicaciones necesitaremos darle un tamaño grande. Si no vamos a disponer de una
partición home separada los datos de los usuarios residirán en esta partición por lo que
necesitaremos bastante espacio. Puede ser ext2, ext3, y ext4.
/boot: es una partición no obligatoria, se usa para separar los ficheros necesarios
para el arranque del sistema del resto. Es la partición de arranque del sistema. La
partición montada en /boot contiene el kernel del sistema operativo junto con archivos
utilizados durante el proceso de arranque. Puede ser ext2, ext3, y ext4.
Swap: es la partición de intercambio, puede ser un fichero en vez de una partición, el
uso de esta partición es muy recomendable y obligatorio en casi todas las
distribuciones de Linux. Esta partición es el equivalente al fichero de memoria virtual
de Windows. Por lo tanto será usada por Linux como memoria virtual, cuando la
15. memoria RAM del equipo se vaya llenando, la usará como un almacén temporal de
datos. En sistemas anteriores se aconsejaba que esta partición tuviera al menos el
doble de bytes que la memoria RAM del equipo. Actualmente, en equipos con mucha
RAM, se recomienda al menos que esta partición tenga un poco más del tamaño usado
habitualmente por la RAM del equipo. Por ejemplo, si en nuestro equipo con 20GB de
RAM suele haber ocupadas 12, es recomendable que la swap tenga, al menos, unas
17GB. De todas formas esta partición es redimensionable, si creemos que necesitamos
más podremos ampliarla o reducirla