domingo, 17 de abril de 2011

SISTEMAS OPERATIVOS


Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones
Sus funciones más importantes son:

-Gestiona los recursos del ordenador en sus niveles mas bajos.
-Dispone de una interface (elemento que hace posible la fácil comunicación usuario maquina) liberando al usuario del conocimiento del hardware. El SO Windows se basa en una interface graficas, "GUI" (Interface Grafica de Usuario), 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.          ------
Las funciones básicas del Sistema Operativo son administrar los recursos de la máquina, coordinar el hardware y organizar archivos y directorios en dispositivos de almacenamiento.

PROGRAMA PRINCIPAL DEL SISTEMA

Programas de sistema
Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de él. Ofrecen un entorno útil para el desarrollo y ejecución de programas, siendo algunas de las tareas que realizan:
§  Manipulación y modificación de archivos.
§  Información del estado del sistema.
§  Soporte a lenguajes de programación.
§  Comunicaciones.

La parte más importante del Sistema Operativo se llama núcleo o kernell. Asigna tareas al procesador siguiendo un orden y administrando los tiempos que lleva cada tarea.

El programa principal del sistema es designado como núcleo del sistema o interprete de comando.Este tiene la capacidad  de traducir ordenes que ingresan los usuarios, por medio de un conjunto de instrucciones facilitadas  por el mismo directamente al núcleo y al conjunto de herramientas que forman el sistema operativo.

Entre las tareas que desempeña se incluye el manejo de las interrupciones, la asignación de trabajo al procesador y proporcionar una vía de comunicación entre los distintos programas. En general, el núcleo se encarga de controlar el resto delos módulos y sincronizar su ejecución.







En informática, el núcleo es la parte principal de un sistema operativo. Es el software es el encargado se facilitar a los distintos programas el acceso seguro al hardware del ordenador o en forma básica es el encargado de gestionar recursos, a travéz de servicios de llamada al sistema.
Como el acceso al harwared  es limitado por lo que hay muchos programas, por eso elnucleo se encarga de decidir a que programa pued acceder y durante cuanto tiempo. También permite esconder la complejidad y proporcionar un interfaz limpia y uniforme a hardware lo que facilita su uso para el programa.

CUATRO GRANDES FUNCIONES DEL SISTEMA OPERATIVO

-Gestiona los recursos del ordenador en sus niveles mas bajos.
-Dispone de una interface (elemento que hace posible la fácil comunicación usuario maquina) liberando al usuario del conocimiento del hardware. El SO Windows se basa en una interface graficas, "GUI" (Interface Grafica de Usuario), 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
.

SISTEMAS OPERATIVOS EXISTENTES

Aquí les muestro una lista de cuales son los sistemas operativos existentes:
* AmigaOS:
* Amoeba
* BeOS
* DR-DOS
* DragonFly BSD
* FreeBSD
* FreeDOS
* GNU/Linux
* GNU Hurd
* MacOS
* Minix
* MS-DOS
* NetBSD
* OpenBSD
* PC-DOS
* Plan 9
* OS/2
* QDOS
* QNX
* Solaris
* Microsoft Windows
* Sistemas Unix
* Xenix
* Symbia

FUNCIONES DEL SISTEMA OPERATIVO

 

El sistema operativo cumple varias funciones:
·   Administración del procesador: el sistema operativo administra la distribución del procesador entre los distintos programas por medio de un algoritmo de programación. El tipo de programador depende completamente del sistema operativo, según el objetivo deseado.
·         Gestión de la memoria de acceso aleatorio: el sistema operativo se encarga de gestionar el espacio de memoria asignado para cada aplicación y para cada usuario, si resulta pertinente. Cuando la memoria física es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada "memoria virtual". La memoria virtual permite ejecutar aplicaciones que 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 el acceso 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 de que las aplicaciones se ejecuten sin problemas asignándoles los recursos que éstas necesitan para funcionar. Esto significa que si una aplicación no responde correctamente puede "sucumbir".
·         Administración de autorizaciones: el sistema operativo se encarga de la seguridad en relación con la ejecución de programas garantizando que los recursos sean utilizados sólo por programas y usuarios que posean las autorizaciones correspondientes.
·         Gestión de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios.
·         Gestión de la información: el sistema operativo proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo.

CLASIFICACIÓN DE SISTEMAS OPERATIVOS


Con el paso del tiempo, los Sistemas Operativos fueron clasificándose de diferentes maneras, dependiendo del uso o de la aplicación que se les daba.
Sistemas Operativos de multiprogramación (o Sistemas Operativos de multitarea).
Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. La conmutación de contextos (context Switching) es un tipo muy simple de multitarea en el que dos o más aplicaciones se cargan al mismo tiempo, pero en el que solo se esta procesando la aplicación que se encuentra en primer plano (la que ve el usuario). Para activar otra tarea que se encuentre en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que contenga esa aplicación.
Sistema Operativo Monotareas.
Los sistemas operativos monotareas son más primitivos y es todo lo contrario al visto anteriormente, es decir, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. Por ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresión.
Sistema Operativo Monousuario.
Los sistemas monousuarios son aquellos que nada más puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicación que se este ejecutando.
Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada, salida y control dependen de la tarea que se esta utilizando, esto quiere decir, que las instrucciones que se dan, son procesadas de inmediato; ya que existe un solo usuario.
Sistema Operativo Multiusuario.
Es todo lo contrario a monousuario; y en esta categoría se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes.
Sistemas Operativos por lotes.
Los Sistemas Operativos por lotes, procesan una gran cantidad de trabajos con poca o ninguna interacción entre los usuarios y los programas en ejecución. Se reúnen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o más trabajos como sucede en el procesamiento en serie. Estos sistemas son de los más tradicionales y antiguos, y fueron introducidos alrededor de 1956 para aumentar la capacidad de procesamiento de los programas.
Sistemas Operativos de tiempo real.
Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene importancia el usuario, sino los procesos. Por lo general, están subutilizados sus recursos con la finalidad de prestar atención a los procesos en el momento que lo requieran. se utilizan en entornos donde son procesados un gran número de sucesos o eventos.
Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones muy específicas como control de tráfico aéreo, bolsas de valores, control de refinerías, control de laminadores.

Sistemas Operativos de tiempo compartido.
Permiten la simulación de que el sistema y sus recursos son todos para cada usuario. El usuario hace una petición a la computadora, esta la procesa tan pronto como le es posible, y la respuesta aparecerá en la terminal del usuario. Los principales recursos del sistema, el pocesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusión de que tiene el sistema dedicado para sí mismo. Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo, principalmente en la administración de memoria principal y secundaria.
Sistemas Operativos distribuidos.
Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, en este caso es trasparente para el usuario. Existen dos esquemas básicos de éstos. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.
Sistemas Operativos de red.
Son aquellos sistemas que mantienen a dos o más computadoras unidas através de algún medio de comunicación (físico o no), con el objetivo primordial de poder compartir los diferentes recursos y la información del sistema.
Sistemas Operativos paralelos.
En estos tipos de Sistemas Operativos se pretende que cuando existan dos o más procesos que compitan por algún recurso se puedan realizar o ejecutar al mismo tiempo. En UNIX existe también la posibilidad de ejecutar programas sin tener que atenderlos en forma interactiva, simulando paralelismo (es decir, atender de manera concurrente varios procesos de un mismo usuario). Así, en lugar de esperar a que el proceso termine de ejecutarse (como lo haría normalmente), regresa a atender al usuario inmediatamente después de haber creado el proceso.

ORGANIZACIÓN DE SISTEMAS OPERATIVOS


·       En el primer nivel y más bajo, se encuentra el núcleo [kernel], que es el que tiene contacto directo con los circuitos electrónicos.
·         En el segundo se encuentran las rutinas que implementan los servicios que ofrece el Sistema Operativo, como el manejo de lo discos, el monitor, teclado y la gestión de los procesos.
·         En el tercero se encuentran el gestor de la memoria y de archivos.
·         El cuarto, están los procesos que permiten la comunicación del usuario con el Sistema Operativo: el
·         Caparazón  [shell] y las órdenes propias del Sistema Operativo. La comunicación sólo es posible entre los niveles inmediatamente superior e inferior.

PROCESOS INFORMATICOS

En informática, cuando hablamos de procesos nos referimos a un concepto que se maneja dentro del ámbito de los sistemas operativos, como por ejemplo Windows, GNU/Linux, Mac OS X u otros. En este contexto, un proceso se refiere a las instrucciones que ejecutara el microprocesador mientras lee un programa determinado. Esto también implica a la memoria reservada y a sus contenidos, el estado de ejecución en determinado momento, y la información que permite al sistema operativo planificar.


ESTADOS DE PROCESOS

  • a tarea ejecución  es la que está ejecutándose en un instante dado.En el caso de sistemas con un único procesador, sólo puede haber una tarea en dicho estado en cada instante.
  • En el estado de listo, se encuentran todas las tareas que están listas para ejecutarse pero que esperan a que un/el procesador quede libre (hay otros procesos más prioritarios en ejecución).
  • Las tareas que están a la espera de que se cumpla una condición y que por lo tanto, no están preparadas para ejecutase, se dice que están en el estado suspendido o en espera; algunos ejemplos de condición son: que se termine una operación de E/S o que se reciba una señal de sincronización.
  • Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema operativo. En general los procesos que se encuentran en este estado todavía no fueron cargados en la memoria principal.
  • Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque terminó o por algún fallo, como un error de protección, aritmético, etc.

MASTER BOOTT RECORD:

Un master boot record (MBR) es el primer sector ("sector cero") de un dispositivo de almacenamiento de datos, como un disco duro. A veces, se emplea para el arranque del sistema operativo con bootstrap, otras veces es usado para almacenar una tabla de particiones y, en ocasiones, se usa sólo para identificar un dispositivo de disco individual, aunque en algunas máquinas esto último no se usa y es ignorado.




El MBR está compuesto por código ejecutable y las entradas de la Tabla de Particiones.  

   Estructura del Master Boot Record
Offset
Naturaleza
size
+00h
Código ejecutable
varía
+1BEh
1a entrada de tabla de particiones
16 bytes
+1CEh
2a entrada de tabla de particiones
16 bytes
+1DEh
3a entrada de tabla de particiones
16 bytes
+1EEh
4a entrada de tabla de particiones
16 bytes
+1FEh
Marcador ejecutable (AA55h)
2 bytes

BOOTSTRAPPING

La palabra inglesa bootstrapping es generalmente un término utilizado para describir el arranque, o proceso de inicio de cualquier ordenador. Suele referirse al programa que arranca un sistema operativo como por ejemplo GRUB, LiLo o NTLDR. Se ejecuta tras el proceso POST del BIOS. También es llamado «Bootstrap Loader» (cargador de inicialización).

512 bytes DEL SECTOR DE ARRANQUE

el MBR casi siempre se refiere al sector de arranque de 512 bytes, o el partition sector de una partición para ordenadores compatibles con IBM PC. Debido a la amplia implementación de ordenadores PC clónicos, este tipo de MBR se usa mucho, hasta el punto de ser incorporado en otros tipos de ordenador y en nuevos estándares multiplataforma para el particionado y el arranque.

NUCLEO Y SU FUNCION

Un núcleo  es un software que actúa de sistema operativo. Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma más básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, también se encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado.


TIPOS DE NUCLEO

§  Los núcleos monolíticos facilitan abstracciones del hardware  subyacente realmente potentes y variadas.
§  Los micronúcleos proporcionan un pequeño conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad.
§  Los núcleos híbridos (micronúcleos modificados) son muy parecidos a los micronúcleos puros, excepto porque incluyen código adicional en el espacio de núcleo para que se ejecute más rápidamente.
§  Los exonúcleos no facilitan ninguna abstracción, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware.

KERNEL

Núcleo. Parte esencial de un sistema operativo que provee los servicios más básicos del sistema. Se encarga de gestionar los recursos como el acceso seguro al hardware de la computadora.
Se encarga también del multiplexado, determinando qué programa accederá a un determinado hardware si dos o más quieren usarlo al mismo tiempo.
El kernel también ofrece una serie de abstracciones del hardware para que los programadores no tengan que acceder directamente al hardware, proceso que puede ser complicado.

CONVENCIONES PARA NOMBRAR 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;
·         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

SISTEMAS DE ARRANQUE LINUX Y GNU

ver lo que pasa cunado arranca el sistema
        LILO (LInux LOader) es el sistema de arranque más extendido en el mundo Linux, aunque es un poco arcáico. Se instala en un sector de arranque - de una partición o de un disco flexible - o en el Master Boot Record (MBR) del disco duro y permite arrancar Linux y otros sistemas operativos instalados en el PC.

La configuración se encuentra generalmente en el archivo /etc/lilo.conf, aunque en realidad se almacena en el sector de arranque o en el MBR, por lo que cada vez que queramos aplicar los cambios hechos en el fichero será necesario ejecutar la orden /sbin/lilo para que reinstale el programa.
           GRUB (GRand Unified Bootloader) es un sistema de arranque más potente que el anterior. Una vez instalado en un sector de arranque de una partición o un disco flexible o en el Master Boot Record (MBR) del disco duro, ejecuta un intérprete de comandos cada vez que iniciamos el sistema que nos permite arrancar prácticamente cualquier sistema operativo actual.
Este intérprete se puede usar de modo interactivo o puede leer un fichero de configuración almacenado en el disco (que por defecto estará en /boot/grub/menu.lst). Una característica importante de GRUB es que es capaz de reconocer gran cantidad de sistemas de ficheros, de modo que no es necesario reinstalarlo cuando cambiamos ese fichero de configuración, que es simplemente un fichero de texto. 

SISTEMA DE ARCHIVOS. DEFINICION

En computación, un sistema  de archivos es un método para el almacenamiento y organización de archivos de computadora y los datos que estos contienen, para hacer más fácil la tarea encontrarlos y accederlos. Los sistemas de archivos son usados en dispositivos de almacenamiento como discos duros y CD-ROM e involucran el mantenimiento de la localización física de los archivos.


Añadir leyenda






NUCLEO O KERNEL FUNCIONES

           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.
Aparte de las funcionalidades básicas, el conjunto de las funciones de los puntos siguientes (incluidos los pilotos materiales, las funciones redes y sistemas de ficheros o los servicios) necesariamente no son proporcionados por un núcleo de sistema de explotación. Pueden establecerse estas funciones del sistema de explotación tanto en el espacio usuario como en el propio núcleo. Su implantación en el núcleo se hace en el único objetivo de aumentar los resultados. En efecto, según la concepción del núcleo, la misma función llamada desde el espacio usuario o el espacio núcleo tiene un coste temporal obviamente diferente. Si esta llamada de función es frecuente, puede resultar útil integrar estas funciones al núcleo para aumentar los resultados.
Hay que señalar que estas técnicas se utilizan para atenuar defectos de los núcleos como los elevados estados. En la medida de lo posible, es preferible escribir un programa informático fuera del núcleo, en el espacio usuario. En efecto, el espacio del núcleo, supone la ausencia de mecanismos como la protección de la memoria. Es pues más complejo escribir un programa informático que funciona en el espacio del núcleo, que en el espacio usuario; los errores y faltas de seguridad pueden ser elevados.

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