Virus..........simpático?

martes, 18 de diciembre de 2007

Sistema Operativo

lunes, 17 de diciembre de 2007

Un sistema operativo es un programa o conjunto de programas de un ordenador destinados a permitir una gestión eficaz de sus recursos. Comienza a trabajar cuando se enciende el ordenador, y gestiona el hardware de la máquina desde los niveles más básicos, permitiendo también la interacción con el usuario.

Los sistemas operativos pueden ser clasificados de la siguiente forma:

- Multiusuario: Permite que dos o más usuarios utilicen sus programas al mismo tiempo.Algunos sistemas operativos permiten a centenares o millares de usuarios al mismo tiempo.

- Multiprocesador: Soporta el abrir un mismo programa en más de una CPU.

- Multitarea: Permite que varios programas se ejecuten al mismo tiempo.

- Multitramo: Permite que diversas partes de un solo programa funcionen al mismo tiempo.

- Tiempo Real: Responde a las entradas inmediatamente. Los sistemas operativos como DOS y UNIX, no funcionan en tiempo real.






Logotipos de los principales Sistemas Operativos





Fuente:
http://es.wikipedia.org/wiki/Sistema_operativo

Funciones de un SO

Función de un Sistema Operativo

  • Aceptar los trabajos y conservarlos hasta su finalización.

  • Detectar errores y actuar de modo apropiado en caso de que se produzcan.

  • Controlar las operaciones de E/S.

  • Controlar las interrupciones.

  • Planificar la ejecución de tareas.

  • Entregar recursos a las tareas.

  • Retirar recursos de las tareas.

  • Proteger la memoria contra el acceso indebido de los programas.

  • Soportar el multiacceso.

  • Proporcionar al usuario un sencillo manejo de todo el sistema.

  • Aprovechar los tiempos muertos del procesador.

  • Compartir los recursos de la máquina entre varios procesos al mismo tiempo.

  • Administrar eficientemente el sistema de cómputo como un todo armónico.

  • Permitir que los diferentes usuarios se comuniquen entre sí, así como protegerlos unos de otros.

  • Permitir a los usuarios almacenar información durante plazos medianos o largos

  • Dar a los usuarios la facilidad de utilizar de manera sencilla todos los recursos, facilidades y lenguajes de que dispone la computadora.

  • Administrar y organizar los recursos de que dispone una computadora para la mejor utilización de la misma, en beneficio del mayor número posible de usuarios.

  • Controlar el acceso a los recursos de un sistema de computadoras.




Fuente:

http://entrenate.dgsca.unam.mx/introduccion/sistoper.html

Componentes de un SO

Un sistema operativo está conformado básicamente por cuatro módulos:

1.- Núcleo o Kernel.
2.- Administrador de memoria.
3.- Sistema de entrada/salida.
4.- Administrador de archivos.

A veces se considera un quinto módulo: el intérprete de comandos o intérprete de instrucciones, el cual se encarga de "traducir" las órdenes que el usuario ingresa mediante el teclado u otros dispositivos a un "lenguaje" que la máquina pueda entender.

Núcleo o Kernel: Es el módulo de más bajo nivel de un sistema operativo, pues descansa directamente sobre el hardware de la computadora. Entre las tareas que desempeña se incluyen el manejo de las interrupciones, la asignación de trabajo al procesador y el proporcionar una vía de comunicación entre los distintos programas. En general, el núcleo se encarga de controlar el resto de los módulos y sincronizar su ejecución. El núcleo contiene un submódulo denominado "planificador", el cual se encarga de asignar tiempo del procesador a los programas, de acuerdo a una cierta política de planificación que varía de un sistema operativo a otro. Normalmente se utiliza una jerarquía de prioridades que determinan cómo se asignará el tiempo del CPU a cada programa. Una política de planificación muy común en los sistemas de multiprogramación y multiproceso son las técnicas de "time slicing" (fracción de tiempo). Se asigna a cada programa un corto intervalo de tiempo del procesador. Si el programa no ha terminado durante este intervalo de tiempo, vuelve a la cola de programas.

Administrador de memoria: Este módulo se encarga de asignar ciertas porciones de la memoria principal (RAM) a los diferentes programas o partes de los programas que la necesiten, mientras el resto de los datos y los programas se mantienen en los dispositivos de almacenamiento masivo. De este modo, cuando se asigna una parte de la memoria principal se hace de una forma estructurada, siguiendo un determinado orden. La forma más común de administración de la memoria supone crear una memoria virtual; con este sistema, la memoria de la computadora aparece, para cualquier usuario del sistema, mucho mayor de lo que en realidad es.

Sistema de entrada/salida (E/S): Este componente presenta al usuario la E/S de datos como una cuestión independiente del dispositivo; es decir, para los usuarios, todos los dispositivos tienen las mismas características y son tratados de la misma forma, siendo el sistema operativo el encargado de atender las particularidades de cada uno de ellos (como su velocidad de operación). Una técnica muy común, especialmente en salida, es el uso de "spoolers". Los datos de salida se almacenan de forma temporal en una cola situada en un dispositivo de almacenamiento masivo (el spool), hasta que el dispositivo periférico requerido se encuentre libre; de este modo se evita que un programa quede retenido porque el periférico no esté disponible. El sistema operativo dispone de llamadas para añadir y eliminar archivos del spool.

Administrador de archivos: Se encarga de mantener la estructura de los datos y los programas del sistema y de los diferentes usuarios (que se mantienen en archivos) y de asegurar el uso eficiente de los medios de almacenamiento masivo. El administrador de archivos también supervisa la creación, actualización y eliminación de los archivos, manteniendo un directorio con todos los archivos que existen en el sistema en cada momento y coopera con el módulo administrador de memoria durante las transferencias de datos desde y hacia la memoria principal. Si se dispone de un sistema de memoria virtual, existen transferencias entre la memoria principal y los medios de almacenamiento masivo para mantener la estructura de la misma.
Los archivos almacenados en los dispositivos de almacenamiento masivo tienen distintos propósitos. Algunos contienen información que puede ser compartida. Otros son de carácter privado, e incluso secreto. Por tanto, cada archivo está dotado de un conjunto de privilegios de acceso, que indican la extensión con la que se puede compartir la información contenida en el archivo. El sistema operativo comprueba que estos privilegios no sean violados.















Fuente:

Proceso de arranque del S.O. (BOOT)

Desde que arrancamos el PC hasta que entra el sistema operativo, el ordenador hace una serie de procesos. El primero es el Post (hace unas comprobaciones básicas y toma la configuración del CMOS. Son las instrucciones del CMOS las que determinan, entre otras cosas, el orden de los dispositivos de arranque) que cuando verifica que el primer dispositivo de arranque es un disco duro,le pasa el control al MBR (Master Boot Record o Registro Maestro de Arranque) que está en el primer sector físico del disco duro.El MBR es un índice que contiene la tabla de particiones y es el encargado de buscar en ella la primera partición activa para transferirle el control,revisar cual es el sector de inicio y cargar una copia del sector de inicio en memoria.Una vez finalizado el trabajo del MRB,empiezan a intervenir los archivos propios del sistema operativo.

Imagen del Power On Self Test

En todos los sistemas con núcleo NT (por ejemplo Windows XP o Windows 2000) el cargador se llama NTLDR (de “nt loader”), y se encuentra en la partición activa o volumen de sistema (habitualmente C). El archivo ntldr lee el sistma de archivos,carga una serie de controladores básicos de dispositivos y lee la información contenida en el archivo boot.ini. Este archivo se encuentra oculto en el directorio raíz de nuestro volumen de sistema,.es decir en C, y referencia qué tipo de Sistema Operativo tiene que cargar.

Supongamos que tenemos un arranque dual de XP y Windows 98. Si en el menú de arranque elegimos en este momento Windows 98, el ntldr pasará el control al bootsect.dos (para que se inicie Windows 98).Si elegimos XP o un Sistema Operativo basado en núcleo NT se le pasa el control al ntdetect.com que es el encargado de la detección del hardware instalado.Nuestro archivo ntdetect.com¸ se encarga de cargar la información contenida en nuestro perfil de hardware y las tablas de la ACPI, y las envía para su inclusión a nuestro archivo de arranque ntldr, para ser agregadas en la clave del registro.

El Kernel (núcleo) utiliza datos internos que provee el propio ntldr para crear la clave mencionada, cuya información será renovada en cada arranque de nuestra máquina en base al hardware que se detecte durante cada inicio de nuestra máquina. De vuelta al ntldr, este pasará el control al archivo ntoskrnl.exe, es decir, el núcleo del sistema operativo (el nombre del archivo proviene de “nt operating system kernel”) y al archivo HAL (hardware abstraction layer o capa de abstracción del hardware), y leerá la información contenida el fichero “system” que tenemos ubicado en la carpeta \windows\system32\config.
Son el HAL y el kernel los encargados de poner en funcionamiento el software mediante una serie de componentes llamada Windows executive. Estos componentes están almacenados en los “conjuntos de control” del registro (control sets).






Fuente:
http://www.prysmax.com/forum/windows/19682-arranque-del-sistema-en-xp-explicacion-detallada-de-su-funcionamiento.html

Conceptos Windows

Memoria Virtual: Permite al software usar más memoria de la que realmente posee el ordenador,es decir,es la memoria extraída al disco para que trabaje como memoria RAM.

Memoria Núcleo: Es la memoria del sistema operativo reservado para el sistema operativo.

Paginación: La memoria virtual usualmente (pero no necesariamente) es implementada usando paginación. En paginación, los bits menos significativos de la dirección de memoria virtual son preservados y usados directamente como los bits de orden menos significativos de la dirección de memoria física. Los bits más significativos son usados como una clave en una o más tablas de traducción de direcciones (llamadas tablas de paginación) para encontrar la parte restante de la dirección física buscada.

Servicios (del sistema): Los servicios son los principales puntos de vulnerabilidad para los atacantes, que pueden aprovechar los privilegios y capacidades de un servicio para obtener acceso al servidor local o a otros servidores de la red.Los servicios que no autentican a los clientes,los que utilizan protocolos que no son seguros o los que se ejecutan con demasiados privilegios representan un riesgo especial.Si no necesita utilizar un determinado servicio,debería deshabilitarlo.Deshabilitar los servicios innecesarios es un método rápido y sencillo de reducir la superficie de ataque.

HAL: La capa de abstracción de hardware (en inglés, Hardware Abstraction Layer o HAL) es un elemento del sistema operativo que funciona como una interfaz entre el software y el hardware del sistema, proveyendo una plataforma de hardware consistente sobre la cual correr las aplicaciones.


FUENTE: