lunes, 18 de abril de 2011

SISTEMAS OPERATIVOS

 SISTEMA OPERATIVO
Un sistema operativo es el programa o conjunto de programas que efectuan la gestion de los procesos basicos de un sistema informatico,y permite la normal ejecucion del resto de las operaciones. el navegador y todo tipo de herramientas que permiten la interacion con el sistema operativo, tambien llamado núcleo o kernel. uno de los mas prominentes ejemplos de esta diferencia, es el nucleo linux, que es el nucleo del sistema operativo GNU, del cual existen las llamadas distribuciones GNU. para que un ordenador pueda hacer funcionar un programa informatico (a veces conocidos como aplicacion o software) debe contar con la capacidad necesaria para realizar cierta cantidad de operaciones  preparatorias que puede garantizar el intercambio entre el procesador la memoria y los recursos fisicos.
(a veces tambien citado mediante su forma abreviada OS en ingles) se encarga de crear el vinculo entre los recursos materiales, el usuario y las aplicaciones (procesador de texto, videojuegos, computador. etc)

Archivo:Operating system placement-es.svg
LAS CUATRO GRANDES FUNCIOES DEL SISTEMA OPERATIVO
sistema operativo: es un programa de software diferente del software de aplicacion, como por ejemplo los procesadores de texto o las hojas de calculo electronica.
el S.O proporciona al usuario las herramientas (comando) que le permite interactuar con la computadora. cuando emites un comando, el S.O lo produce en un codigo de la maquina puede usar.  el S.O tambien asegura que los resultados de sus acciones  sean desplegados en pantalla, impresos...
Sistema Operativo, Linux
interfaz del usuario: cuando se inicia un sistema operativo, tú ves e interactúa con un conjunto de elementos en la pantalla; esta es la interfaz del usuario. en el caso de los sistemas operativos más actuales ( incluyendo: windows vista, windows XP, entre otros),
la interfaz de usuario se ve como una colección de objetos sobre un fondo coloreado.
Interfaz del Usuario

 PARTES DEL INTERFAZ  DEL USUARIO
EL ESCRITORIO: los diseños de software se llaman escritorio al area coloreada que ves en la pantalla debido a que ellos quieren  que lo consideres como si fuera una superficie del escritorio.
Escritorio de Windows

ICONOS: representan las partes de la computadora con las que trabajas; impresoras, fuentes, archivos de documento, carpetas (una forma de organizar archivos en grupos logicos, explorador de  windows) unidades  de disco, programas y demás.
los diseñadores de software intenta hacer que los iconos se ven como lo que representan, de modo que te sea facil la identificacion del icono que necesitas utilizar.
Iconos de Mi PC

BARRA DE TAREA Y EL BOTON DE INICIO
siempre que se inicia un programa en la plataforma Windows, aparecerá un botón para él en la barra de tareas, un area en la base de la pantalla cuyo proposito es mostrar los botones de los programas que se estan ejecutando.
el boton inicio es una caracteristicas permanente de la barra de tarea. se hace clic en este para abrirel menu inicio.desde el menu inicio, puedes hacer clic en el icono de programa para iniciarlo, seleccionar ayuda (help) para encontrar informacion que lo asista mientras trabaja, o seleccionar apagar el sistema (shut down) cuando estes listos para apagar  tu computadora.
Barra de tareas de Windows

FUNCIONES DEL SISTEMA OPERATIVO
*provee las instruciones para desplegar los elementos en pantalla con los cuales interactuas. de manera colectiva, estos elementos se conocen como interfaz del usuario que detallaremos posteriormente.
*carga programa (como programas de procesamiento de palabras y de hoja de calculo en la memoria de la computadora para que puedas usar)
*coordina como trabajan  los programas con la CPU, RAM, teclado, raton, impresora y demas hardware asi como con otro software.
*administra la forma en que se almcena la informacion y se recupera de los discos.

TIPOS DE SISTEMAS OPERATIVOS Q EXISTEN SON
*Sistema operativo de multiprogramas o multitarea
*Sistema operatimo monotarea
*sistema operativo monousuario
*sistema operativo multiusuario
*sistema operativo por lotes
*sistema operativo por tiempo real
*sistema operativo por tiempo compartido
*sistemas operativos distribuidos
*sistema operativo de red
*sistema operativo paralelo
FUNCIONES DE LOS SISTEMAS OPERATIVOS
SISTEMA OPERATIVO DE MULTIPROGRAMAS O 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 multitarea.para activar otra tarea que se encuentre en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que contenga esa  aplicacion. se distinguen por sus habilidades para poder soportar la ejecucion de dos o mas trabajos activos esto trae como resultado que la unidad central de procesamiento (ucp) siempre tenga alguna tarea para que ejecute, aprovechando al maximo su utilización.
sistemas operativos como unix windows 95, windows 98 windows NT, mac-os, os/2, soportan la multitarea.
CARACTERISTICAS DE UN SISTEMA OPERATIVO MULTIPROGRAMACION O  MULTITAREA
*mejora productividad  del sistema y utilizacion de los recursos.
*multiplexa recursos entre varios programas.
*generalmente soportan multiples usuarios(multiusuarios)
*proporcionan facilidades para mantener el entorno de usuario individuales.
*multitarea sin soporte multiusuario se encuentra en algunos computadores personales o en sistemas de tiempo real.
*sistemas multiprocesadores son sistemas multitarea por definicion ya que soportan la ejecucion simultanea de multiples tareas sobre diferentes procesadores.
*en general, los sistemas de multiprogramacion se caracterizan por tener multiples programas activos compitiendo por los recursos del sistema: procesador, memoria y dispositivos perifericos.
SISTEMAS OPERATIVOS MONOTAREAS
son mas 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 a una. por ejemplo cuando la computadora esta imprimiento un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresion.
SISTEMAS OPERATIVOS MONOUSUARIO
son aquellos que nada mas pueden atender a un solo usuario, gracias a las limitaciones creados por el hardware,los programas o el tipo de aplicacion que se este ejecutando.
estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada y salida y control dependen de la tarea que se esta utilizando, es 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 categoria se encuentran todos los sistemas que cumplen simultaneamente las necesidades de dos o mas usuarios, que comparten mismos recursos. este tipo de sistema se emplean especialmente en redes.en otras palabras consiste en el fraccionamiento el tiempo.
SISTEMAS OPERATIVOS POR LOTES
procesan una gran cantidad de trabajos con poca o ninguna interaccion entre los usuarios y programas en ejecucion.estos sistemas son de los mas tradicionales y antiguos, y fueron introducidos alrededor de 1956 para aumentar la capacitad de procesamiento de los programas.
algunos ejemplos de sistemas operativos por lotes exitosos son el SCOPE, del DC6600, el cual esta orientado a procesamiento cientifico pesado, y el EXEC II para el UNIVAC 1107, orientado a procesamiento academico.
algunas caracteristicas
*requiere que el programa, datos y ordenes al sistema sean remitidos todos juntos en forma de lote.
*permiten poca o ninguna interaccion usuario/programa en ejecucion.
*mayor potencial de utilizacion de recursos que procesamiento serial simple en sistemas multiusuarios.
*no conveniente para desarrollo de programas para bajo tiempo de retorno y depuracion fuera de linea.
*conveniente para programas de largos tiempos de ejecucion.
*se encuentra en muchos computadores personales combinados con procesamiento serial.
*planificacion del procesador sencilla, tipicamente procesados en orden de llegada.
SISTEMAS OPERATIVOS DE TIEMPO REAL
son aquellos en los cuales no tiene importancia el usuario, sino los procesos por lo general, estan subutilizados sus recursos con la finalidad de prestar atencion a los procesos en el momento que no requieran. se utilizan en entornos donde son procesados un gran numero de sucesos o eventos.
muchos sistemas operativos de tiempo real son costruidos para aplicaciones muy especificas como control de trafico aereo, bolsas de valores, control de refinerias,control de laminadores.
otros campos de aplicacion de los sistemas operativos de tiempo real son:
*control de trenes.
*telecomunicaciones.
*sistemas de fabricacion integrada.
*produccion y distribucion de energia electrica.
*control de edificios.
*sistemas multimedia
algunos ejemplos son:
VxWorks, solaris, lyns OS y spectra.
caracteristicas:
*objetivo en proporcionar rapidos tiempos de respuesta.
*procesa rafagas de miles de interrupciones por segundo sin perder un solo suceso.
*proceso se activa tras ocurrencia de suceso, mediante interrupcion.
*proceso de mayor prioridad expropia recursos.
*por tanto generalmente se utiliza planificacion expropiativa basada en prioridades.
*poco movimiento de programas  entre almacenamiento secundario y memoria.
SISTEMAS OPERATIVOS DE TIEMPO COMPARTIDO
permiten la simulacion de que el sistema y sus recursos son todos para cada usuario. el usuario hace una peticion 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 procesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusion de que tiene el sistema dedicado para si mismo.
ejemplos son: multics, OS/360 y DEC-10.
caracteristicas:
*populares representantes de sistemas multiprogramados multiusuario, ej: sistemas de diseño asistido por computador, procesamiento de texto etc....
*dan la ilusion de que cada usuario tiene una maquina para si.
*mayoria utilizan algoritmo de reparto circular.
*programas se ejecutan con prioridad rotatoria que se incrementa con la espera y disminuye después de concedido el servicio.
*evitan monopolizacion del sistema asignando tiempos de procesador(time slot)
*gestion de memoria proporciona proteccion a programas residentes.
SISTEMAS OPERATIVOS DISTRIBUIDOS.
permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. existen dos esquemas basicos de estos. un sistema fuertemente acoplado es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores.un sistema debilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.
diferentes sistemas operativos distribuidos que existen son: Sprite, solaris-MC, mach,chorus, spring, amoeba, taos, etc...
caracteristicas:
*coleccion de sistema autonomos capaces de comunicacion y cooperacion mediante interconexiones hardware y software.
*gobierna operacion de un S.C. y proporciona abstraccion.
SISTEMA OPERATIVO 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.
El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware.
Los Sistemas Operativos de red mas ampliamente usados son: Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.
SISTEMA OPERATIVO PARALELO.
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.
Ejemplos de estos tipos de Sistemas Operativos están: Alpha, PVM, la serie AIX, que es utilizado en los sistemas RS/6000 de IBM.
LA ORGANIZACION DE UN SISTEMA OPERATIVO

Ficheros especiales de caracteres
de caracteres: cinta magnética, puerto paralelo, puerto serie, . . .
Ficheros especiales de bloque
bloques: disquete partición del disco duro, disco duro entero, . .
representan a dispositivos) representan a dispositivos de
Esos ficheros se almacenan en el directorio
/dev:
/dev/fd0
disquete de la primera disquetera (A: en Windows)
/dev/sda
primer disco duro (sin considerar particiones)
/dev/sda1
/dev/sdb
/dev/sdc
de dipositivo libre sdb, o sdc, o sdd, etc.
primera partición del primer disco) segundo disco duro) disco USB (se utiliza emulación SCSI, se usa el primer nombre
/dev/sdc1
/dev/tty1
/dev/tty2
/dev/lp0 )
partición de un disco USB) primera terminal de consola) segunda terminal de consola) primer puerto paralelo.
UN PROCESO INFORMATICO
Un proceso es un programa en ejecución. Los procesos son gestionados por el sistema operativo y están formados por:
*Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.
*Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa.
*Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.
*Otra información que permite al sistema operativo su planificación.
Esta definición varía ligeramente en el caso de sistemas operativos multihilo, donde un proceso consta de uno o más hilos, la memoria de trabajo (compartida por todos los hilos) y la información de planificación. Cada hilo consta de instrucciones y estado de ejecución.
Los procesos son creados y destruidos por el sistema operativo, así como también este se debe hacer cargo de la comunicacion entre procesos, pero lo hace a petición de otros procesos. El mecanismo por el cual un proceso crea otro proceso se denomina bifurcacion (fork). Los nuevos procesos pueden ser independientes y no compartir el espacio de memoria con el proceso que los ha creado o ser creados en el mismo espacio de memoria.
LOS CINCO ESTADOS DE PROCESOS
*EJECUCIÓN: el proceso está actualmente en ejecución.
*LISTO: el proceso está listo para ser ejecutado, sólo está esperando que el planificador así lo disponga.
*BLOQUEADO: el proceso no puede ejecutar hasta que no se produzca cierto suceso, como una operación de Entrada/Salida.
*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 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.
En la práctica, 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.
Cuando un dispositivo de almacenamiento de datos se ha particionado con un esquema de tabla de particiones del MBR (por ejemplo el esquema convencional de particionado de IBM PC), el MBR contiene las entradas primarias en la tabla de particiones.
Además del código del arranque y la tabla de particiones, hay un tercer campo que puede estar contenido en un MBR: la firma del disco (de Windows NT ). Tiene 32 bits para identificar inequívocamente el hardware de disco (no confundir con la unidad de disco — no tienen por qué ser lo mismo en discos duros extraíbles).
EL BOOTSTRAP
La idea central de este método es simple; dada una muestra aleatoria con n observaciones dicha muestra es tratada como si fuera toda la población de las cuál extraeremos B muestras con reemplazamiento.Para cada remuestreo se calculará el valor del estimador bootstrap que se utilizará para estimar la variabilidad muestral. Tal y como los estudios teóricos han demostrado, este enfoque proporciona una buena aproximación de la distribución de los estimadores, lo cual permitirá describir algunas de sus propiedades muestrales, así como el cálculo de intervalos de confianza y la realización de contrastes de hipótesis. Funciones generalmente ejercidas por un núcleo
Los núcleos tienen como funciones básicas garantizar la carga y la ejecución de los procesos, las entradas/salidas y proponer una 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 de 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 mejorar 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 mejorar los resultados.
HAY CUATRO TIPOS DE NUCLEOS
*LOS NUCLEOS MONOLITICOS facilitan abstracciones del hardware subyacente realmente potentes y variadas.
*LOS MICRONUCLEOS: (en inglés microkernel) proporcionan un pequeño conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad.
*LOS NUCLEOS HIBRIDOS (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 EXONUCLEOS no facilitan ninguna abstracción, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware.

NUCLEOS MONOLITICOS
Frecuentemente se prefieren los núcleos monolíticos frente a los micronúcleos debido al menor nivel de complejidad que comporta el tratar con todo el código de control del sistema en un solo espacio de direccionamiento. Por ejemplo, XNU, el núcleo de Mac OS X, está basado en el núcleo Mach 3.0 y en FreeBSD, en el mismo espacio de direccionamiento para disminuir la latencia que comporta el diseño de micronúcleo convencional.
Los núcleos monolíticos suelen ser más fáciles de diseñar correctamente, y por lo tanto pueden crecer más rápidamente que un sistema basado en micronúcleo, pero hay casos de éxito en ambos bandos. Los micronúcleos suelen usarse en robótica embebida o computadoras médicas, ya que la mayoría de los componentes del sistema operativo residen en su propio espacio de memoria privado y protegido. Esto no sería posible con los núcleos monolíticos, ni siquiera con los modernos que permiten cargar módulos del núcleo.

NUCLEOS HIBRIDOS ( MICRONUCLEOS MODIFICADO)
Los núcleos híbridos fundamentalmente son micronúcleos que tienen algo de código «no esencial» en espacio de núcleo para que éste se ejecute más rápido de lo que lo haría si estuviera en espacio de usuario. Éste fue un compromiso que muchos desarrolladores de los primeros sistemas operativos con arquitectura basada en micronúcleo adoptaron antes que se demostrara que los micronúcleos pueden tener muy buen rendimiento. La mayoría de sistemas operativos modernos pertenecen a esta categoría, siendo el más popular Microsoft Windows. XNU, el núcleo de Mac OS X, también es un micronúcleo modificado, debido a la inclusión de código del núcleo de FreeBSD en el núcleo basado en Mach. DragonFlyBSD es el primer sistema BSD que adopta una arquitectura de núcleo híbrido sin basarse en Mach.
Algunos ejemplos de núcleos híbridos:
*Microsoft Windows NT, usado en todos los sistemas que usan el código base de Windows NT
*XNU (usado en Mac OS X)
*DragonFlyBSD
*ReactOS


EXONUCLEOS
también conocidos como sistemas operativos verticalmente estructurados, representan una aproximación radicalmente nueva al diseño de sistemas operativos.
La idea subyacente es permitir que el desarrollador tome todas las decisiones relativas al rendimiento del hardware. Los exonúcleos son extremadamente pequeños, ya que limitan expresamente su funcionalidad a la protección y el multiplexado de los recursos. Se llaman así porque toda la funcionalidad deja de estar residente en memoria y pasa a estar fuera, en bibliotecas dinámicas.
La finalidad de un exonúcleo es permitir a una aplicación que solicite una región específica de la memoria, un bloque de disco concreto, etc., y simplemente asegurarse que los recursos pedidos están disponibles, y que el programa tiene derecho a acceder a ellos.
Algunas de las implicaciones teóricas de un sistema exonúcleo son que es posible tener distintos tipos de sistemas operativos (p.e. Windows, Unix) ejecutándose en un solo exonúcleo, y que los desarrolladores pueden elegir prescindir de o incrementar funcionalidades por motivos de rendimiento.

El procedimiento bootstrap es útil para:
*Valorar el sesgo y el error muestral de un estadístico calculado a partir de una muestra.
*Establecer un intervalo de confianza para un parámetro estimado.
*Realizar una prueba de hipótesis respecto a uno o más parámetros poblacionales.
Adicionalmente, el bootstrapping tiene varios métodos para estimar intervalos de confianza:
*Percentile Bootstrap
*Standard Bootstrap
*Bootstrap-t (“Pivotal Bootstrap”)
*Bias-corrected (BCa) Bootstrap
GENERALIDADES
NUCLEO INFORMATICO Y SUS FUNCIONES
En informatica, un núcleo o kernel (de la raíz germanica Kern) 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. Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones de hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso al programador.

Los dispositivos se representan/manejan como ficheros

En informática, el núcleo es el programa informático que se asegura de:
*La comunicación entre los programas que solicitan recursos 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.)
La mayoría de las interfaces de usuario se construyen en torno al concepto de núcleo.