miércoles, 23 de noviembre de 2011



¿Qué es un Blog?

  En el ámbito informático un blog es un espacio informativo generalmente colgado a la red "Internet", que "debe" contener información de carácter educativo para instruir y orientar a otros usuarios que quizás no dominen algún tema en especifico. Dicha información varía dependiendo del tipo de tema o ciencia la cual se desee aplicar.

Sistemas Operativos


   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. Un Sistema Operativo es una parte importante de cualquier sistema de computación. 
   Un Sistema de computación puede dividirse en cuatro componentes: El hardware, el Sistema Operativo, los programas de aplicación y los usuarios.


Tipos de Sistemas Operativos

*- DOS;Disk Operating System” (sistema operativo de disco): conocido por los nombres de PC-DOS y MS-DOS. MS-DOS hecho por la compañia de software Microsoft.

*- Windows 3.1: Sistema operativo con una interfaz gráfica amigable para el usuario, este sistema muestra iconos en la pantalla que representan diferentes archivos o programas.
  Todas las aplicaciones elaboradas para Windows se parecen por lo tanto al aprender este ya las siguientes versiones varían solo un poco con respecto a este aspecto.

*- Windows 95: Versión del Windows 3.1 lanzada en 1995, las mejoras de este SO incluyen soporte multitareas y arquitectura de 32 bits, permitiendo así correr mejores aplicaciones para mejorar la eficacia del trabajo.

*- Windows NT: Se especializa en las redes y servidores. Con este SO se puede interactuar de forma eficaz entre dos o más computadoras.

*- OS/2: Elaborado por IBM,  Tiene soporte de 32 bits y su interfaz es muy buena. El problema que presenta este SO es la pocas aplicaciones que ofrece, es decir, no se han creado muchas aplicaciones que aprovechen las características de él SO.

*- Mac OS: Este fue creado por Apple Computer, Inc. SO que usan las computadoras Macintosh como SO de planta. Este SO es tan amigable para el usuario que cualquier persona puede aprender a usarlo en muy poco tiempo. Por otro lado, es muy bueno para organizar archivos y usarlos de manera eficaz.

*- UNIX: El SO UNIX  es creado por los laboratorios Bell de AT&T en 1969 y es ahora usado como una de las bases para la supercarretera de la información.
Unix es un SO multiusuario y multitarea, que corre en diferentes computadoras, desde supercomputadoras, Mainframes, Minicomputadoras, computadoras personales y estaciones de trabajo. Esto quiere decir que muchos usuarios pueden estar usando una misma computadora por medio de terminales o usar muchas de ellas.




Placa base


   Se denomina Placa Base o Madre (MotherBoard en inglés) a la placa de circuito impreso que integra los siguientes elementos:

Banco de memoria

   Está formado por uno o varios "chips" que forman la RAM, ésta es una de las dos partes que componen la memoria principal.

Ranuras o Slots de expansión

   Se trata de conexiones para las tarjetas de ampliación de la placa base; las más habituales suelen ser la tarjeta gráfica, la controladora de discos, la tarjeta de los puertos serie y paralelo. 
Microprocesador 

   consiste en un circuito integrado que contiene la Unidad Aritmético/ Lógica y la Unidad de Control. En la familia PC corresponde a los micros 8088, 8086, 80286,... En esta familia a partir del 80486 también se incorpora el coprocesador matemático encargado de las operaciones en punto flotantes.

Procesador

   Es un circuito integrado constituido por millones de componentes electrónicos integrados. Constituye la unidad central de procesamiento (CPU) de un PC catalogado como microcomputador.

   Es el cerebro del computador; también está constituido por registros, una unidad de control y una unidad aritmético lógica (AUL). Aunque actualmente todo microprocesador también incluye una unidad de cálculo en coma flotante.
   Funcionalmente es el encargado de realizar toda operación aritmético-lógica, de control y de comunicación con el resto de los componentes integrados que conforman un PC.



Memoria

   Son dispositivos que retienen datos informáticos durante algún intervalo de tiempo. Las memorias de computadora proporcionan una de las principales funciones la retención o almacenamiento de información. Es uno de los componentes fundamentales de todas las computadoras modernas que están acopladas a una unidad central de procesamiento.




Memoria RAM (random-access memory)
  
   Es la memoria desde donde el procesador recibe las instrucciones y guarda los resultados.
   Es un tipo de memoria de la computadora que se puede acceder al azar, es decir, cualquier byte de memoria se puede acceder sin tocar los bytes precedentes. 
   En la RAM se guarda distinto tipo de información, desde los procesos temporales como modificaciones de archivos, hasta las instrucciones que posibilitan la ejecución de las aplicaciones que tenemos instaladas en nuestra PC. 

Tipos de memoria RAM como SDR SDRAM (Memoria síncrona, con tiempos de acceso de entre 25 y 10 ns y que se presentan en módulos DIMM de 168 contactos. Fue utilizada en los Pentium II y en los Pentium III),.
   DDR SDRAM (envía los datos dos veces por cada ciclo de reloj, Se presenta en módulos DIMM de 184 contactos en el caso de ordenador de escritorio y en módulos de 144 contactos para los ordenadores portátiles.).
   DDR2 SDRAM (permiten que los búferes de entrada/salida trabajen al doble de la frecuencia del núcleo, permitiendo que durante cada ciclo de reloj se realicen cuatro transferencias. Se presentan en módulos DIMM de 240 contactos.).
   DDR3 SDRAM (La mejora de las DDR2 y presentan disminución del gasto global de consumo. Los módulos DIMM DDR 3 tienen 240 pines, el mismo número que DDR 2; sin embargo, los DIMMs son físicamente incompatibles, debido a una ubicación diferente de la muesca.).

Memoria ROM (Read Only Memory)

   Es una memoria sólo de lectura, ya que la mayoría de estas memorias no pueden ser modificadas debido a que no permiten su escritura. 
   Viene incorporada a la tarjeta madre y es utilizada por la PC para dar inicio a la BIOS, lo cual es básicamente un programa que posee las instrucciones adecuadas para guiar a la computadora durante el arranque. 

   Tipos de memoria ROM como ROM programadas por máscara, cuya información se graba en fábrica y no se puede modificar.
   PROM 
Programmable Read-Only Memory (ROM programable). Memoria digital donde el valor de cada bit depende del estado de un fusible, pueden ser quemados una sola vez, estas memorias son utilizadas para grabar datos permanentes en cantidades menores a las ROMs, o cuando los datos deben cambiar en muchos o todos los casos.

   EPROM Erasable Programmable Read-Only Memory (ROM programable borrable). Es un tipo de chip de memoria ROM no volátil inventado por el ingeniero Doy Frohman. Formada por transistores de puerta flotante, de fábrica vienen sin nada escrito y son programadas celda por celda luego de ser programada una EPROM se puede borrar solamente mediante exposición a una fuerte luz ultravioleta.
   EAROM (electrically alterable ROM) son memorias que están en la frontera entre las RAM y las ROM, ya que su contenido puede reagravarse por medios eléctricos es considerada memoria no volátil.      
                      

Memoria Flash

Derivada de la memoria EAROM permite la lecto-escritura de múltiples posiciones de memoria en la misma operación. siempre mediante impulsos eléctricos, tecnología empleada en los dispositivos pendrive.

Periféricos: Definidos como  aparatos o dispositivos auxiliares e independientes conectados a la unidad central de procesamiento de una computadora. Su característica principal es que comunica a la computadora con el mundo exterior.
   Permiten  realizar operaciones de entrada/salida (E/S) complementarias al proceso de datos que realiza la CPU.
    Estas tres unidades básicas en un computador, CPU, memoria central y el subsistema de E/S, están comunicadas 

Dispositivos (Entrada/Salidad)

Entrada
*- Teclado:
*- Mouse
*- Micrófono
*- Scanner
*- Cámara Digital
*- Joystick

                                             
                                                         Salida
*- Monitor
*- Impresora
*- Altavoces
*- Auriculares
*- Bocinas
*- Multimedia
*- Fax



TECLADO: Nos permite ingresar la información en forma de caracteres los mismos que son codificados al lenguaje binario y así ser entendibles por parte del PC.

RATÓN: Nos permite manipular la información del computador, este se visualiza en la pantalla como un puntero, por lo general estos poseen tres botones principales.

MICRÓFONO: El micrófono es el que nos permite enviar señales acústicas al ordenador, este está formado por una célula que recepta los sonidos y los envía mediante un cable hasta el puerto para luego ser enviada al procesador y ser transformada al código binario.

ESCÁNER: Nos permite digitalizar la imagen es decir nos permite realizar una copia de una imagen o documento  e introducirlo al PC como archivo.

MONITOR: Dispositivos de salida más comunes de las computadoras con el que los usuarios ven la información en pantalla. Recibe también los nombres de CRT, pantalla o terminal.

IMPRESORA: Es el periférico que el ordenador utiliza para presentar información impresa en papel.

BOCINAS: Cada vez las usa más la computadora para el manejo de sonidos, para la cual se utiliza como salida algún tipo de bocinas. 


Administración de las solicitudes de entrada/salida.

 Divide la tarea en tres partes…

* El controlador de tráfico de entrada/salida.
* El planificador de entrada/salida.
* El manejador de dispositivos de entrada/salida.

Controlador de Tráfico de E/S

   Lleva el estado de los dispositivos, unidades de control y procesadores de E/S por medio de bloques de control.
    Determina la posibilidad de una operación de E/S y la posibilidad de caminos alternativos.
   Una vez que hay un orden, es el controlador de tráfico de E/S el que determina que puede ser satisfecho el pedido al colocarlo en un determinado Bloque de control estableciendo de esta forma la ruta.

La administración de dispositivos comprende 4 funciones básicas:

* Controlar el estado de cada dispositivo (como unidades de cinta, unidades de disco, impresoras, grafica dotes y terminales)
* Utilizar políticas preestablecidas para determinar qué proceso obtendrá un dispositivo y durante cuánto tiempo.
* Asignar los dispositivos.
* Desasignarlos en dos niveles: en el nivel de procesos cuando se ejecute un comando de entrada/salida y el dispositivo se libera de manera permanente.

Spooling

   Se refiere al proceso mediante el cual la computadora introduce trabajos en un buffer (un área especial en memoria o en un disco), de manera que un dispositivo pueda acceder a ellos cuando esté listo.
   El spooling es útil en caso de dispositivos que acceden a los datos a distintas velocidades. El buffer proporciona un lugar de espera donde los datos pueden estar hasta que el dispositivo (generalmente más lento) los procesa.

La máquina virtual utiliza recursos virtuales; estos recursos pueden ser elementos hardware o software, aunque de forma genérica los denominamos dispositivos virtuales  (VDs).
Los VDs son utilizados mediante controladores de dispositivo también virtuales VxDs. Observe que los VDs no existen, son en realidad una abstracción conceptual.

Buffer Es una ubicación de la memoria en un Disco o en un instrumento digital reservada para el almacenamiento temporal de información digital, mientras que está esperando ser procesada.


Arquitectura de un Computador

   Es el diseño conceptual y la estructura operacional fundamental de un sistema de computadora, describe la función  de los requerimientos y las implementaciones de diseño para varias partes de una computadora, con especial interés en la forma en que la unidad central de proceso (UCP) trabaja internamente y accede a las direcciones de memoria.

   También suele definirse como la forma de seleccionar e interconectar componentes de  hardware para crear computadoras según los requerimientos de funcionalidad, rendimiento y costo.



Datos

   Es una representación simbólica (numérica, alfabética, algorítmica, etc.), un atributo o característica de una entidad. Los datos son hechos que describen sucesos y entidades. No tienen ninguna información. Puede significar un número, una letra, o cualquier símbolo que representa una palabra, una cantidad, una medida o una descripción.

   El dato no tiene valor semántico (sentido) en si mismo, pero si recibe un tratamiento (procesamiento) apropiado, se puede utilizar en la realización de cálculos o toma de decisiones.

Direccionamiento de Registros 
Se  emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria  y proporcionar capacidad aritmética. Los registros son espacios físicos dentro del microprocesador con capacidad de 4 bits hasta 64 bits dependiendo del microprocesador que se emplee.
     Los registros son direccionales por medio de una viñeta.
Viñeta: Es una dirección de memoria. Los bits, por conveniencia, se numeran de derecha a izquierda (15,14,13…. 3,2,1,0).


Tipos de Registros:
  • Registros de segmento
  • Registros de apuntadores de instrucciones
  • Registros apuntadores
  • Registros de propósitos generales
  • Registro índice
  • Registro de bandera.

    Instrucciones
     
    Se  le llama a un conjunto de datos insertados en una secuencia estructurada o específica que el procesador  interpreta y ejecuta.

    Tipos de Instrucciones
    Instrucciones de transferencia de datos
Se transfieren datos desde una localización a otra. Los pasos que se siguen para realizarlo son:
  1. Determinación de las direcciones de origen y destino de memoria.
  2. Realización de la transformación de memoria virtual a memoria real.
  3. Comprobación de la caché.
  4. Inicio del proceso de lectura/escritura en la memoria.
Instrucciones aritméticas

Pueden implicar transferencia de datos antes y/o después.
 Realizan operaciones aritméticas de las que se encarga la ALU.
Se pueden clasificar en de 1 operando (valor absoluto, negación) y 2 operandos (suma, resta).

Instrucciones lógicas
Al igual que las aritméticas, la ALU se encarga de realizar estas operaciones, que en este caso son de tipo lógico.

Instrucciones de Conversión
Similares a las aritméticas y lógicas. Pueden implicar lógica especial para realizar la conversión.

Instrucciones de transferencia de control

actualizan el contador de programa (PC). Administran las llamadas/retornos a las subrutinas, el paso de parámetros y el enlazado.

Instrucciones de E/S


Administran los comandos de entrada/salida. Si hay un mapa de memoria de entrada/salida, determina la dirección de este mapa de memoria.
Mascara: Es el conjunto de datos que, junto con una operación permiten extraer selectivamente ciertos datos almacenados en otro conjunto. El tipo de máscara más frecuente es la llamada máscara de bits (bitmask, en inglés), que extrae ciertos bits particulares de las cadenas binarias.

   El término proviene, en sentido figurado, de la capacidad de las máscaras para permitir a través de sus agujeros la visualización de ciertas partes de aquello que cubren, a la vez que ocultan (enmascaran) aquello tapado por las zonas no perforadas.

Protección Locks: 
  Se define como  un mecanismo de sincronización de la aplicación de límites en el acceso a un recurso en un ambiente donde hay muchos hilos de ejecución.

   Es una forma de aplicar las políticas de control de concurrencia., en la que cada hilo coopera con la adquisición de la cerradura antes de acceder a los datos correspondientes.
  
Algunos sistemas también implementar bloqueos obligatorios, donde intentar el acceso no autorizado a un recurso bloqueado obligará a una excepción en la entidad que intenta facilitar el acceso.

    Por Ejemplo…

   Un semáforo (binario) es el tipo más simple de bloqueo. En términos de acceso a los datos, no se hace distinción entre los compartidos (sólo lectura) o exclusivos modos (lectura y escritura). 

Configuración de un computador

   Es un conjunto de datos que determina el valor de algunas variables de un programa o de un SO.
 Estas opciones generalmente son cargadas en su inicio y en algunos casos se deberá reiniciar el equipo para poder ver los cambios, ya que el programa no podrá cargarlos mientras se esté ejecutando.
   Si la configuración aún no ha sido definida por el usuario (personalizada), el programa o sistema cargará la configuración por defecto (predeterminada).

Administración de memoria

Se refiere a los distintos métodos y operaciones que se encargan de obtener la máxima utilidad de la memoria.  Organiza los procesos y programas que se ejecutan de manera tal que se aproveche de la mejor forma posible el espacio disponible.

Memoria real o principal: Es en donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos. El acceso a la información contenida en esta memoria es de más rápido acceso. Solo la memoria cache es más rápida que la principal, pero su costo es a su vez mayor.

Memoria Auxiliar o secundaria: Suele estar conformada por un grupo de dispositivos de almacenamiento preparados para administrar gran cantidad de información, poseyendo además de esta diferencia cuantitativa con la memoria RAM.

   Ejemplos de memoria Auxiliar lo son los discos rígidos, las unidades ópticas como los CDs o DVDs, memorias FLASH o diskettes. La memoria RAM recibe datos desde estos dispositivos de almacenamiento masivo.

Memoria Virtual: Es una técnica de administración de la memoria real que permite al sistema operativo brindarle al software de usuario y a sí mismo un espacio de direcciones mayor que la memoria real o física.
   Aunque la memoria virtual podría estar implementada por el software del sistema operativo, en la práctica casi siempre se usa una combinación de hardware y software, dado el esfuerzo extra que implicaría para el procesador.

PaginaciónEl uso de la paginación en la memoria virtual fue presentado por primera vez en el computador Atlas. Cada proceso tiene su propia tabla de páginas y cuando carga todas sus páginas en la memoria principal, se crea y carga en la memoria principal una tabla de páginas. Cada entrada de la tabla de páginas contiene el número de marco de la página correspondiente en la memoria principal.



Memoria Simple

   Se refiere al caso más simple donde no hay memoria virtual. Un proceso para su ejecución debe cargarse completamente en memoria principal (si no se usan overlays). Aunque las siguientes  técnicas de gestión de memoria simples, no son usadas en OS modernos, ellas prepararon el terreno para una discusión apropiada de memoria virtual.
-Partición fija.
-Partición dinámica.
-Paginación simple.
-Segmentación simple.

Relocalización

   El programador no puede saber donde el programa se pondrá en memoria cuando éste es ejecutado. Un proceso puede ser (a menudo) relocalizado en memoria principal debido al intercambio (swapping). El intercambio le permite al OS, Referencias de memoria en código (para instrucciones y datos), debe traducirse a la dirección de memoria física real.

Partición de Memoria
   La tarea principal del Sistema de Gestión de memoria es cargar los programas en la memoria principal para su ejecución en el procesador. Esta tarea requiere un sofisticado esquema llamado memoria virtual, la cual está basada en el uso de una de dos técnicas básicas: segmentación o paginación. 
   Existen técnicas más simples que no requieren el uso de la memoria virtual como la partición, partición simple y la segmentación simple.

Particiones Estáticas

   En la mayoría de los esquemas de gestión de memoria, el sistema operativo ocupa una parte fija de la memoria principal y que el resto de la memoria está disponible para ser usado por varios procesos. El esquema más sencillo de gestión de la memoria disponible es dividir en regiones con límites fijos.

Tamaño de Partición

   Una posibilidad es emplear particiones de igual tamaño en este caso, cualquier proceso cuyo tamaño sea menor o igual que el tamaño de la partición puede cargarse en cualquier partición libre. 
   Cuando el programa es muy grande para caber en una partición  el programador debe diseñar el programa mediante superposiciones. Cuando se necesita un módulo que no esté presente el programa de usuario debe cargar dicho módulo en la partición del programa, superponiéndose a los programas y datos que se encuentren en ella. 

Algoritmo de Ubicación

   Su mayor ventaja es que minimiza la memoria desaprovechada dentro de cada partición, es decir que con particiones del mismo tamaño. Mientras haya alguna partición libre, puede cargarse un proceso en esa partición. 
   Si todas las particiones están ocupadas con procesos que no están listos para ejecutarse, uno de esos procesos debe sacarse para hacer sitio a un nuevo proceso. Cual debe expulsarse Es una decisión de planificación con particiones de distintos tamaños, hay dos manera de asignar los procesos a las particiones.
   La forma más simple Es asignar cada proceso a la partición más pequeña en la que quepa. En este caso, hace falta una cola de planificación para cada partición.

Particiones Dinámicas

   Son variables en número y longitud. Cuando se carga un proceso en la memoria principal, se le asigna exactamente tanta memoria como necesita y no más.
   Su mayor problema es que hay un gran número de huecos pequeños en la memoria por lo tanto la memoria comienza a estar más fragmentada y su rendimiento decae. Este fenómeno se denomina fragmentación externa.

   Una técnica para vencer la fragmentación externa Es la compactación, el sistema operativo desplaza los procesos para que estén contiguos, de forma que toda la memoria libre quede junta en un bloque. La dificultad de la compactación está en que Es un procedimiento que consume tiempo, la compactación necesita de renunciación dinámica. 

Asignación de la memoria en páginas

   Divide cada tarea de llegada en páginas de igual tamaño. Algunos SO escogen el tamaño de la página igual al tamaño de bloque de memoria. Que es el tamaño de las secciones de disco en las cuales se almacena la tarea.
   Las secciones de un disco se conocen como “sectores”. Y los sectores de la memoria principal se denominan marcos de página.

Antes de ejecutar un programa, el administrador de la memoria lo prepara mediante:
1.-la determinación del número de páginas del programa.
2.-la ubicación de suficientes marcos de pagina vacios en la memoria principal.
3.-la carga de todas las páginas del programa de los mismos.


Paginación por demanda

   Esta introdujo la idea de cargar nada más una porción del programa en la memoria para su procesamiento. Fue el primer esquema ampliamente utilizado que elimino la necesidad de colocar toda la tarea en la memora desde el principio hasta el final.

Ejemplo: cuando los usuarios escogen la primera opción del menú de un programa de aplicación, los otros módulos que no se requieren en ese momento se pueden extraer de la memoria y cargar de nuevo cuando sean llamados. No requiere todas las páginas al mismo tiempo

1.- Los módulos de manejo de errores escritos por el usuario se procesan solo cuando se detectan un error específico durante la ejecución.
2.-Muchos módulos son mutuamente excluyentes.
3.- Ciertas opciones de programa son excluyentes entre si o no resultan siempre accesibles.

Asignación de memoria en segmentos

   Se basa en la práctica común entre los programadores de estructurar programas en módulos, agrupamientos lógicos de código. Con la asignación de memoria en segmentos, cada tarea se divide en varios segmentos de tamaños diferentes, uno por cada modulo que contiene piezas que ejecutan funciones relacionadas.
La tabla de tareas lista todas las tareas en proceso.
La tabla de mapa de segmentos lista detalles sobre cada segmento.
La tabla de mapa de memoria vigila la asignación de la memoria.

Es una combinación de segmentos y de paginación por demanda y ofrece los beneficios lógicos de la segmentación y las ventajas físicas de la paginación.

Importante” Funciones del administrador de memoria

Debe conocer…

  1. Qué zonas de la memoria están libres y qué zonas ocupadas.
  2. Introducir los procesos en memoria.
  3. Se encarga de asignar y desasignar memoria a los procesos conforme vayan necesitando y liberando.
  4. Debe controlar el intercambio entre Mp y Ms.
Además de esas funciones, el administrador de memoria debe cumplir 3 requisitos:

  • Protección No solo debe proteger la zona de memoria del proceso, sino de la memoria del sistema operativo u otro proceso.
  • Compartición de memoria Cuando se ejecutan dos procesos iguales, debe permitir que dos procesos compartan la memoria.
  • Reubicación Un proceso puede cambiar de zona de memoria durante su ejecución. Este requisito tiene sentido evidentemente es sistema multi-programado. En un sistema mono-programado no tiene sentido porque si solo hay un proceso, ¿para qué lo voy a cambiar de sitio?.
Hasta ahora mostramos un breve resumen en este vídeo para definir los dispositivos "hardware" y dispositivos "Software". 




Requerimientos de Hardware:

  En aplicaciones de software y hardware, los requerimientos de hardware son las características que debe tener el hardware de una computadora para poder soportar y/o ejecutar una aplicación o un dispositivo específicos.
Contrasta con los requerimientos de software. Los requerimientos pueden ser:
Requerimientos mínimos de hardware, que son las características mínimas (mínimo costo, y mínima antigüedad) indispensables para ejecutar la aplicación correctamente.
Requerimientos recomendados de hardware, que son las características más apropiadas que debe tener el hardware para poder ejecutar una aplicación específica.

Los requerimientos pueden ser..

-Requisitos de placa madre y de CPU.
-Requisitos de memoria.
-Requisitos de espacio disponible en disco duro.
-Requisitos de monitor y adaptador de video.
-Requisitos de unidades de CD, DVD, ratón, impresora, módem, tarjeta de red, puertos disponibles.
-Otros requisitos de hardware. 

Requerimientos de software

En aplicaciones de software y hardware, los requerimientos de software son las características que debe tener el software instalado en una computadora para poder soportar y/o ejecutar una aplicación o un dispositivo específicos. Contrasta con los requerimientos de hardware.

Los requerimientos de software pueden ser...

-Requisitos de sistema operativo.
-Requisitos de aplicaciones específicas instaladas.
-Requisitos de ciertas aplicaciones no instaladas en el mismo sistema.
-Requisitos de determinadas configuraciones en el sistema operativo o en ciertas aplicaciones.



Overlays
   Es una forma de ejecutar grandes cantidades de código en áreas de memoria muy pequeñas, auxiliados por algunas llamadas al sistema operativo.
   Esta técnica consiste en que el programador divide lógicamente un programa muy grande en secciones que puedan almacenarse en las particiones de RAM.

Swapping

   Es un mecanismo o modo de interrelacionar la memoria principal (la que contiene el programa en ejecución, los datos de proceso inmediato y los resultados intermedios) con la secundaria, de tal modo que se produce un intercambio de programas entre ambas cuyo resultado es la simulación de un sistema multitarea o la potenciación de memoria central a base de recursos de la memoria secundaria.

Enlace y Carga Dinámica

   Su función principal es proteger  la carga en memoria de un modulo hasta que el programa lo llame, como también tenemos el "Enlace dinámico"  que es otro caso de carga dinámica, es aquel en el cual la biblioteca de código se enlazada cuando un determinado programa se ejecuta en posición contraria a  un enlace estático que se produce en un tiempo de proceso de compilación.

   Este tipo de enlace tiene grandes ventajas, por ejemplo: hace que el programa sea más liviano y puede evitar las duplicaciones de código.

  • Concurrencia Normalmente en una computadora co-existen n-procesos simultáneamente.
  • Administrador de procesos: se encarga de seleccionar el proceso en turno a ser ejecutado en el CPU.
  • Objetivo: maximizar uso del CPU bajo un tiempo de respuesta razonable manteniendo un uso justo, seguro y equilibrado del CPU entre los procesos.
  • Consta de dos módulos: Dispatcher (decide a qué procesador asignar el proceso que tiene que ser ejecutado) y Controlador de Tráfico (se encarga de crear, modificar y actualizar el contexto asociado a un proceso).
   A través de los años los computadores fueron mejorando y así mismo sus componentes en este caso “el procesador” denominado el cerebro del computador ha ido mejorando sus características y componentes y así mismo integrándolos para hacerlo más potente.

   Algunos procesadores…

Pentium-75 ; 5x86-100 (Cyrix y AMD)
AMD 5x86-133
Pentium-90
AMD K5 P100
Pentium-100
Cyrix 686-100 (PR-120)
Pentium-120
Cyrix 686-120 (PR-133) ; AMD K5 P133
Pentium-133
Cyrix 686-133 (PR-150) ; AMD K5 P150
Pentium-150
Pentium-166
Cyrix 686-166 (PR-200)
Pentium-200
Cyrix 686MX (PR-200)
Pentium-166 MMX
Pentium-200 MMX
Cyrix 686MX (PR-233)
AMD K6-233
Pentium II-233
Cyrix 686MX (PR-266); AMD K6-266
Pentium II-266
Pentium II-300
Pentium II-333 (Deschutes)
Pentium II-350
Pentium II-400.
Diagramas de estado

   Los diagramas de estado describen gráficamente los eventos y los estados de los objetos. Los diagramas de estado son útiles, entre otras cosas, para indicar los eventos del sistema en los casos de uso.
   Un evento es un acontecimiento importante a tomar en cuenta para el sistema. Un estado es la condición de un objeto en un momento determinado: el tiempo que transcurre entre eventos. Una transición es una relación entre dos estados, e indica que, cuando ocurre un evento, el objeto pasa del estado anterior al siguiente.

Ejemplo…



Un diagrama de estado representa el ciclo de vida de un objeto: los eventos que le ocurren, sus transiciones, y los estados que median entre estos eventos.

Diagrama de procesos

   Es una representación gráfica de los pasos que se siguen en toda una secuencia de actividades, dentro de un proceso o un procedimiento, identificándolos mediante símbolos de acuerdo con su naturaleza; incluye, además, toda la información que se considera necesaria para el análisis, tal como distancias recorridas, cantidad considerada y tiempo requerido.
   Con fines analíticos y como ayuda para descubrir y eliminar ineficiencias, es conveniente clasificar las acciones que tienen lugar durante un proceso dado en cinco clasificaciones.



Existen dos tipos de diagramas de procesos:


  • Técnicos.
  • Organizacionales.
Los técnicos: Se definen las etapas de un proceso de producción y se definen paso a paso cada una de las etapas del proceso, desde la toma de requerimientos, revisión tecnológica, generación de casos de uso, diseño de diagramas de proceso a nivel macro, diagramas de estados, modelo entidad relación, diagrama de navegación, hasta realizar la confrontación de requerimientos con el diseño inicial, para luego diseñar etapas o procedimientos adecuados.

   Se afirma que un producto de calidad solo se puede conseguir cuando se dispone de procesos capaces y estables en el tiempo. El control resulta fundamental.

El Organizacional: Es aquel que tiene que ver con la planeación de recurso humano y elementos organizacionales. Los pasos al desarrollar una hoja de proceso son:

1. Hacer la hoja respectiva, cuyo encabezado tendrá datos de identificación del proceso.
2. El cuerpo consta de 5 columnas para los símbolos anteriores, 1 para la descripción breve del trámite, 2 para las distancias de los transportes y minutos de demora y 1 para observaciones.
3. Se anota la descripción de los pasos del proceso y se marcan puntos en las columnas de los símbolos correspondientes, uniéndolos con una línea.
4. Se obtienen los totales, una vez terminada la descripción del proceso las operaciones, transportes, inspecciones, demoras, así como el tiempo perdido en el almacenamiento.
5. Los totales indican el tipo de acción que conviene tomar para un análisis más profundo y cambiar aquellos aspectos que nos pueden afectar en un tiempo determinado.

Job Control Language

   Es un conjunto de especificaciones de morfología y sintaxis requeridas para la redacción de instrucciones de ejecución de programas informáticos por parte del SO de un equipo informático.  Este lenguaje se usa en los Ordenadores Centrales (Mainframes) y es específico para cada sistema operativo.
Las instrucciones del JCL son declaraciones con las que se indica al SO qué tareas debe realizar, en qué secuencia han de ejecutarse y en qué periféricos están ubicados los ficheros de datos (de entrada y/o de salida) que requieren dichas tareas.
   El uso del JCL permite un alto grado de flexibilidad e independencia respecto a la ubicación física de los programas y ficheros involucrados.

Scheduler

   Es un componente funcional muy importante de los SO multitarea y multiproceso, y es esencial en los sistemas operativos de tiempo real. Su función consiste en repartir el tiempo disponible de un microprocesador entre todos los procesos que están disponibles para su ejecución.

Tiempo real

   Se caracteriza por garantizar que todo programa se ejecutará en un límite máximo de tiempo. El planificador debe comportarse de manera que esto sea cierto para cualquier proceso.

   La finalidad del planificador es balancear o equilibrar la carga del procesador, impidiendo que un proceso monopolice el procesador o que sea privado delos recursos de la máquina.

Niveles de planificación

   Los niveles de planificación están basados en la frecuencia con la que se realiza cada uno.

Existen tres tipos de planificadores…

El planificador a corto plazo: El antes descrito siendo el más importante. En inglés, se denomina dispatcher o short term scheduler.

Planificador a mediano plazo: “En inglés mid term scheduler “, relacionado con aquellos procesos que no se encuentran en memoria principal (véase memoria virtual). Su misión es mover procesos entre memoria principal y disco (lo que se conoce como swapping).

Planificador a largo plazo: “En inglés long term scheduler”, es el encargado de ingresar nuevos procesos al sistema y de finalizarlos.

Planificador de trabajos (job scheduler) o shell

Sus funciones principales son:

  • Se encarga de hacer de interface hombre-máquina
  • Administra pedidos de recursos
  • Carga los programas
  • Crea procesos
  • Controla accesos de usuarios
  • Controla protecciones del sistema
Núcleo

   Descansa directamente sobre el hardware y proporciona una serie de servicios a las capas superiores del sistema.

          Las tareas principales son.

        Manejo de interrupciones
        Asignación de trabajo al procesador
        Proporcionar una vía de comunicación entre los diferentes programas.

  • Asignación de trabajo al procesador y comunicación entre programas.
        El núcleo transfiere el control al programa que el planificador ha determinado para que sea el próximo en ejecutarse.
        La comunicación entre programas se logra manteniendo una cola de mensajes en espera para cada uno de los programas activos.

Condiciones de corrida

   Son el resultado de accesos no controlados a datos compartidos. Estos accesos no controlados producen resultados inesperados (ya que por ejemplo un proceso puede pisar los datos de otro)

   Vienen como resultado del acceso compartido de los recursos. Cuando dos hilos de ejecución tienen que trabajar con la misma estructura de datos (o recurso hardware) la posibilidad de mezcla existe.

Administración de Información
Se caracteriza por una dualidad. Por un lado la tecnología puede ser aplicada para automatizar operaciones de acuerdo a una lógica que poco ha cambiado de un sistema del siglo XIX “suplantar el cuerpo humano con Tecnología que habilita el mismo proceso con mayor continuidad y control”.
   Por otro lado, la misma Tecnología genera simultáneamente Información sobre el proceso productivo y administrativo a través de la cual la organización logra su trabajo. Ofrece un mayor nivel de transparencia y profundidad sobre las actividades que habían sido parcialmente o completamente opacas. De esta forma la administración de Información con Tecnología sobrepasa la lógica tradicional de automatización.
Sistemas de Archivos
   Estructuran la información guardada en una unidad de alamacenamiento (normalmente um disco duro una computadora), que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos.
   La mayoría de los SO manejan su propio sistema de archivos.
   Los sistemas de archivos tradicionales proveen métodos para crear, mover, renombrar y eliminar tanto archivos como directorios, pero carecen de métodos para crear, por ejemplo, enlaces adicionales a un directorio o archivo (enlaceduro en Unix) o renombrar enlaces padres (".." en Unix).
Manejo de Datos
   Hablamos del encargado de almacenar y recuperar los datos específicamente. Los sistemas modernos aíslan a los usuarios de los complejos procesos que implican el almacenamiento físico de la información.
   Los programas utilizados para organizar datos digitales son los llamados Sistemas de Gestión de Bases de Datos.
   Un sistema de manejo de datos son todos los procedimientos utilizados para la entrada, procesamiento y salida de datos junto con la infraestructura de computadoras en las cuales se realiza este manejo de datos.

Directorios
   Los directorios y archivos de un sistema Debian tiene una estructura estándar algunos de los directorios son:
/boot:
Mantiene el kernel e información indispensable para el arranque del sistema.
/bin:
Mantiene unos pocos programas que estarán disponibles incluso en los modos de ejecución más restringidos (e.g. bash, cat, ls, login, ps).
/sbin:
Mantiene programas disponibles sólo para el administrador incluso en los modos de ejecución más restringidos (e.g fsck, getty, halt).
/usr:
Programas accequibles a usuarios finales y datos de estos programas que no requieren ser modificados (datos de sólo lectura). Algunos de sus subdirectorios son:
bin, games:
Programas disponibles para todos los usuarios.
Sbin:
Herramientas para el administrador.
Dict:
Diccionarios --usados por ejemplo por ispell y look.
Share:
Datos de diversos programas, entre sus subdirectorios están:
Doc, man y info:
Que contienen documentación; locale, i18n que mantiene información sobre internacionalización (locale); zoneinfo que mantiene información sobre zonas horarias.
doc, info, man:
Enlaces o complementos a la documentación disponible en /usr/share/doc, /usr/share/info y /usr/share/man.
Lib:
Librerías de funciones comunes a varios programas (algunas como libc indispensables para todos).
include, src:
Encabezados de algunos componentes del sistema y fuentes de algunos programas.
X11R6:
Programas y datos de X-Window.
Local:
 Otros programas y datos compilados por el administrador i.e no provienen de paquetes Debian. En algunos sistemas otros programas se ubican en/opt.
/floppy, /cdrom, /mnt:
Directorios para montar disquettes, CD-ROMs y otros sistemas de archivos o dispositivos.
/proc:
Diversos canales de comunicación con algunos programas (por ejemplo con el kernel).
/lib:
Librerías indispensables y módulos (especialmente requeridas durante el arranque del sistema).
/etc:
Archivos de configuración de diversos programas.
/dev:
Abstracciones a los dispositivos conectados (o que podrían conectarse) al computador.
/home:
Mantiene información de los usuarios del sistema.
/root:
Mantiene información del administrador del sistema.
/tmp:
Archivos temporales creados por algunos programas, que serán borrados por el sistema operativo durante el arranque.
/var:
En este directorio los programas que lo requieran pueden mantener archivos que deban modificarse frecuentemente. Algunos de sus subdirectorios son: maildonde se mantienen colas de correo de cada usuario, log que mantiene bitácoras, run con archivos que mantienen los números de los procesos iniciados al arrancar el sistema, spool colas de impresión y de otros programas, tmp archivos temporales (más persistente que /tmp).
/proc:
Este directorio es "virtual", no está presente en el disco, es creado por el sistema para intercambiar información con más facilidad.


Coordinación de operación de entrada/salida
   En la entrada y salida es la CPU es quien se encarga de la transferencia de datos una vez que sabe que hay datos disponibles en el controlador.
Métodos de Acceso
   Se limita a proveer información acerca del estado de un objeto. Por lo cual produce una dependencia ya que la utilización de métodos es preferida a acceder directamente a la información para proveer de uno nuevo diseño o llámese nivel superior.
   Organización de archivos
   Los archivos siempre tienen nombres y son ordenados jerárquicamente y se ubican en directorios.
    El nombre de un archivo debe ser único en ese directorio (no puede haber dos archivos con el mismo nombre en el mismo directorio).
    El nombre de un archivo y la ruta al directorio del archivo lo identifica de manera exacta entre todos los demás archivos del sistema informático.

Administración de archivos
   Considerado como un explorador de archivos, y en informática es definido como una aplicación que suministra accesos a archivos y facilita el realizar operaciones con ellos, como copiar, mover, eliminar archivos donde el usuario los quiera ubicar. 

Un archivo…
   Se puede manipular como una unidad mediante operaciones tales como abrir, cerrar, crear, destruir, copiar, renombrar y listar. Los elementos de información individuales que conforman un archivo se pueden manipular con acciones tales como leer, escribir, modificar y eliminar.
   De acuerdo a las características y tipo de trabajo que se realicen sobre los archivos, estos pueden caracterizarse por su: Volatilidad, Actividad y Tamaño.
 
Volatilidad: Se refiere a la frecuencia con la que se inserta o elimina información.
Actividad: Se refiere al porcentaje de los elementos de información de un archivo al que se tuvo acceso en un periodo de tiempo dado.
Tamaño: Se refiere a la cantidad de información que conforma el archivo.
ARCHIVO FISICO
  La información vista desde la perspectiva de hardware. Por ejemplo, el archivo 1 está formado por los sectores 3, 10 y 15 del archivo. Otro ejemplo: el archivo X es la secuencia de bytes localizados en la RAM en el bloque 0A703h:03000h al 0A703h:04200h.  
ARCHIVO LOGICO
  Son datos cuyo significado esta definido por el usuario. Ejemplo, el archivo Y es la información de 1000 artículos, cada uno con su código, descripción y precio. Generalmente, un archivo lógico se representa de manera tabular.  
EL SISTEMA DE ARCHIVOS DE UN SISTEMA OPERATIVO
   Lo conforman todas aquellas rutinas encargadas de administrar todos los aspectos relacionados con el manejo de Archivos.
COMPONENTES DEL SISTEMA DE ARCHIVOS
   En general, un Sistema de Archivos está compuesto por: Métodos De Acceso, Administración De Archivos, Administración De Almacenamiento Secundario, Mecanismos De Integridad.

Joomla: Es um sistema de gestion de contenidos y un framework para aplicaciones web que también puede ser utilizado independientemente.
   Entre sus principales virtudes está la de permitir editar el contenido de un sitio web de manera sencilla.
   Es una aplicación de codigo abierto programada mayoritariamente em PHP bajo una licencia GPL. Este administrador de contenidos puede trabajar en internet o intranets y requiere de una base de datos MySQL, así como, preferiblemente, de un servidor HTTP.


   Mejora el rendimiento web, versiones imprimibles de páginas, flash con noticias, blogs, foros, polls (encuestas), calendarios, búsqueda en el sitio web e internacionalización del lenguaje.

El funcionamiento de Joomla! se lleva a cabo gracias a sus dos principales elementos:

1. La base de datos Mysql: allí es donde se guarda toda la información y la mayor parte de la configuración del sistema, de una forma  ordenada y en distintas tablas, las cuales cada una de ellas almacena información específica y determinada.

2. Los scripts PHP: son los que ejecutan las acciones de consulta y realizan modificaciones en la base de datos convirtiendo los datos en simples páginas web interpretables por los navegadores de Internet (Browsers) y perfectamente inteligibles para los usuarios y  administradores.
 


MySQL Es muy utilizado en aplicaciones web, como drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP.

MySQL Es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyLSAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación.

MySQL Es un sistema de gestion de base de datos relacional, multihilo y multiusuario y con más de seis millones de instalaciones.


PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de paginas web dinámicas.

   Se usa principalmente para la interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.

   El gran parecido que posee PHP con los lenguajes más comunes de programación estructurada, como C y Perl, permiten a la mayoría de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta.
   También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones.