lunes, 7 de junio de 2010

Sistema operativo

SISTEMA OPERATIVO

El sistema operativo es el programa (o software) más importante de un ordenador. Para que funcionen los otros programas, cada ordenador de uso general debe tener un sistema operativo. Los sistemas operativos realizan tareas básicas, tales como reconocimiento de la conexión del teclado, enviar la información a la pantalla, no perder de vista archivos y directorios en el disco, y controlar los dispositivos periféricos tales como impresoras, escáner, etc.
Un SO Proporciona una plataforma de software encima de la cual otros programas, llamados aplicaciones, puedan funcionar.
Un usuario normalmente interactúa con el sistema operativo a través de un sistema de comandos, por ejemplo, el sistema operativo DOS contiene comandos como copiar y pegar para copiar y pegar archivos respectivamente. Los comandos son aceptados y ejecutados por una parte del sistema operativo llamada procesador de comandos o intérprete de la línea de comandos. Las interfaces gráficas permiten que utilices los comandos señalando y pinchando en objetos que aparecen en la pantalla.

- Familia Windows
Windows 95
Windows 98
Windows ME
Windows NT
Windows 2000
Windows 2000 server
Windows XP
Windows Server 2003
Windows CE
Windows Mobile
Windows XP 64 bits
Windows Vista (Longhorn)


- Familia UNIX
AIX
AMIX
GNU/Linux
GNU / Hurd
HP-UX
Irix
Minix
System V
Solaris
UnixWare


- Familia Macintosh
Mac OS 7
Mac OS 8
Mac OS 9
Mac OS X

FUNCIONES BÁSICAS DE UN SISTEMA OPERATIVO:

- INTERFACES DE USUARIO
Es la parte del sistema operativo que permite comunicarse con él de tal manera que se puedan cargar programas.

- ADMINISTRACION DE RECURSOS
Sirven para administrar los cursos de hardware y de redes de un sistema informativo.

- ADMINISTRACION DE ARCHIVOS
Un sistema de información contiene programas de administración de archivos que controlan la creación, borrado y acceso de archivos de datos y de programas

- ADMINISTRACION DE TAREAS
Administran la realización de las tareas informáticas de los usuarios finales

- SERVICIO DE SOPORTE
Actualización de versiones
Mejoras de seguridad
Inclusión de alguna nueva utilidad
Controladores para manejar nuevos periféricos
Corrección de errores de software
ALGORITMO

Es un conjunto de reglas o instrucciones bien definidas, ordenadas y finitas que permite realizar una actividad durante pasos sucesivos que no generen dudas a quien lo ejecute.
Dando un estado inicial y una entrada, siguiendo los pasos se llega a un estado final y se obtiene una solución. En la vida cotidiana se emplean algoritmos en muchas ocasiones para resolver problemas.
Tambien podemos decir que son listas de instrucciones para resolver un problema, sin embargo cabe mencionar que algunos algoritmos no siempre tienen que terminar o resolver un problema en particular.

Caracteristicas principales:

- Tiempo secuencial:
Un algoritmo funciona en tiempo discretizado -paso a paso-, definiendo asi una secuencia de estados computacionales por cada entrada válida (la entrada son los datos que se le asignan al algoritmo desde un principio).

- Estado abstracto:
Cada estado computacional puede ser descrito formalmente utilizando una estructura de primer orden y cada algoritmo es independiente de su implementación de manera que en algun algoritmo las estructuras de pimer orden son invariantes bajo isomorfismo.

- Exploración acotada:
La transición de un estado al siguiente queda completamente determinada por una descripción fija y finita, es decir entre cada estado y el siguiente solamente se puede tomar en cuanta una cantidad fija y limitada de términos del estado actual.

PROGRAMACIÓN

Proceso de creación de un programa de computadora, mediante la aplicación de los procedimientos lógicos, a través de los siguientes pasos:
- El desarrollo lógico del programa para resolver un problema en particular.
- Escritura de la lógica del programa empleando un lenguaje de programación especifico.
- Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
- Prueba y depuración del programa.
- Desarrollo de la documentación.

DIAGRAMAS LOGICOS DE FLUJO

Un diagrama de flujo o flujograma es una representación grafica de la forma en la que funciona un proceso, ilustrando como minimo el orden de los pasos. El diagrama de flujo sirve para aclarar como funcionan las cosas y como pueden mejorarse, estos tambien ayudan a encontrar los elementos claves de un proceso y determinan claramente dónde termina un proceso y dónde comienza el otro.

LENGUAJES DE PROGRAMACIÓN ESTRUCTURADA

LENGUAJES DE PROGRAMACIÓN ESTRUCTURADA
Es una forma de escribir programas de ordenador de manera clara. Para ello solo utiliza tres estructuras:
- Secuencia
- Selección
- Iteración

"JAVA"

El lenguaje de programación JAVA fue diseñado por la compañia Sun Microsystems Inc. con el proposito de crear un programa que pudiera manejarse en redes computacionales heterogéneas y que fuera independiente de la plataforma en la que se vaya a ejecutar. Lo cual significa que un programa en JAVA puede ejecutarse en cualquier máquina o plataforma.
CARACTERISTICAS
- Simple: Elimina la complejidad de los lenguajes como "C" y da paso al contexto de los lenguajes modernos que van orientados a objetos.
- Familiar: Como la mayoria de los programadores estan acostumbrados a programar con "C" o "C++", la sintaxis de JAVA es muy similar a estos.
- Robusto: El sistema de JAVA maneja la memoria de la computadora por ti, sin necesidad de que tu le indiques que hacer.
- Seguro: El sistema de JAVA tiene ciertas politicas que evita que se puedan crear virus con este lenguaje.
- Portable: Como el código compilado de JAVA es interpretado este puede ser utilizado por cualquier computadora que tenga implementado el interprete de JAVA.
Interpretado: JAVA corre en máquina virtual, por lo tanto en interpretado.
- Dinámico: Este no requiere que compiles todas la clases de un programa para que funcione
"C"

Es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los laboratorios Bell.

CARACTERISTICAS

Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas.
- Es un lenguaje muy flexible que permite programar con múltiples estilos.
- Usa un lenguaje procesado para tareas como definir macros e incluir múltiples archivos de código fuente.
- Acceso a memoria de bajo nivel mediante el uso de punteros.
Interrupciones al procesador con uniones.
- Conjunto de palabras clave.

Ventajas

- Lenguaje eficiente, puesto que es posible utilizar sus caracteristicas de bajo nivel para realizar implementaciones optimas.
- A pesar de su bajo nivel es el lenguaje más portado en existencia, haciendo compiladores para caso todos los sistemas conocidos.
- Proporciona facilidades para realizar progranas modulares o utilizar código o bibliotecas existentes.

Desventajas

El mayor problema que presenta el lenguaje C frente a los lenguajes de tipo dato dinámico es la gran diferencia en velocidad de desarrollo.

lunes, 22 de febrero de 2010

TAREA 2

ORTÍZ GONZÁLEZ ANGEL
1CV2



SISTEMA DECIMAL

Es un sistema de numeración posicional en el que las cantidades se representan utilizando como base el número diez, por lo que se compone de diez cifras diferentes: cero (0); uno (1); dos (2); tres (3); cuatro (4); cinco (5); seis (6); siete (7); ocho (8) y nueve (9). Este conjunto de símbolos se denomina números árabes, y es de origen indú. Según los antropólogos, el origen del sistema decimal está en los diez dedos que tenemos los humanos en las manos, los cuales siempre nos han servido de base para contar.

SISTEMA BINARIO

El sistema binario es un sistema de numeración en el que los números se representan utilizando las cifras cero y uno, esto en informática tiene mucha importancia ya que las computadoras trabajan internamente con 2 niveles de voltaje lo que hace que su sistema de numeración natural sea binario, por ejemplo 1 para encendido y 0 para apagado.

SISTEMA OCTAL

En el sistema Octal (base 8), sólo se utilizan 8 cifras (0,1,2,3,4,5,6,7) Este Sistema de numeración una vez que se llega a la cuenta 7 se pasa a 10, etc. Cuenta hecha en octal: 0,1,2,3,4,5,6,7,10,11,12,13,14,15,16,17,20,21,….. se puede observar que en este sistema numérico no existen los números: 8 y 9 El sistema de numeración octal es también muy usado en la computación por tener una base que es potencia exacta de 2 o de la numeración binaria. Esta característica hace que la conversión a binario o viceversa sea bastante simple. El sistema octal usa 8 dígitos (0,1,2,3,4,5,6,7) y tienen el mismo valor que en el sistema de numeración decimal.

ENCRIPTACIÓN

(Cifrado, codificación). La encriptación es el proceso para volver ilegible información considera importante. La información una vez encriptada sólo puede leerse aplicándole una clave.Se trata de una medida de seguridad que es usada para almacenar o transferir información delicada que no debería ser accesible a terceros. Pueden ser contraseñas, nros. de tarjetas de crédito, conversaciones privadas, etc.Para encriptar información se utilizan complejas fórmulas matemáticas y para desencriptar, se debe usar una clave como parámetro para esas fórmulas.El texto plano que está encriptado o cifrado se llama criptograma.

LENGUAJE DE ALTO NIVEL

Los lenguajes de programación de alto nivel se caracterizan por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas. En los primeros lenguajes de alto nivel la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales. Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de muy alto nivel se crearon para que el usuario común pudiese solucionar tal problema de procesamiento de datos de una manera más fácil y rápida. Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman "de tercera generación" o "de alto nivel", en contraposición a los "de bajo nivel" o "de nivel próximo a la máquina". La programación en un lenguaje de alto nivel tiene ciertas ventajas:
  • Genera un código más sencillo y comprensible.
  • Escribir un código válido para diversas máquinas y, posiblemente, sistemas operativos.

Pero también algunos inconvenientes:

  • Reducción de velocidad al ceder el trabajo de bajo nivel a la máquina.
  • Algunos requieren que la máquina cliente posea una determinada plataforma.
LENGUAJE DE BAJO NIVEL

Un lenguaje de programación de bajo nivel es el que proporciona poca o ninguna abstracción del microprocesador de un ordenador. Consecuentemente es fácilmente trasladado a lenguaje de máquina. La palabra "bajo" no implica que el lenguaje sea inferior a un lenguaje de alto nivel; se refiere a la reducida abstracción entre el lenguaje y el hardware.
Tiene ciertas ventajas:
  • Mayor adaptación al equipo.
  • Posibilidad de obtener la máxima velocidad con mínimo uso de memoria.

Inconvenientes:

  • Imposibilidad de escribir código independiente de la máquina.
  • Mayor dificultad en la programación y en la comprensión de los programas.
  • El programador debe conocer más de un centenar de instrucciones.
  • Es necesario conocer en detalle la arquitectura de la máquina.

Características:

  • Se trabaja a nivel de instrucciones, es decir, su programación es al más fino detalle.
  • Está orientado a la máquina.

LENGUAJES DE CUARTA GENERACIÓN

Son ciertas herramientas prefabricadas, que aparentemente dan lugar a un lenguaje de programación de alto nivel que se parece más al idioma inglés que a un lenguaje de tercera generación, porque se aleja más del concepto de "procedimiento". Pueden acceder a bases de datos. Alguna gente propone se reserve el nombre de "lenguajes de cuarta generación" para los lenguajes orientados a objetos. Ejemplos: NATURAL, PL-SQL...

LENGUAJE VISUAL

El lenguaje visual es un sistema de comunicación que utiliza las imágnes como medio de expresión, es decir, transmite mensajes visuales.

jueves, 18 de febrero de 2010

Antecedentes de la Computadora


INSTITUTO POLITÉCNICO NACIONAL

UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERIA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS

FUNDAMENTOS DE LA COMPUTACIÓN

LIC. EN CIENCIAS DE LA INFORMÁTICA

ORTÍZ GONZÁLEZ ANGEL

1CV2





ANTECEDENTES DE LA COMPUTADORA


ABACO

El ábaco es considerado como el más antiguo instrumento de cálculo, adaptado y apreciado en diversas culturas. El origen del ábaco está literalmente perdido en el tiempo. En épocas muy tempranas el hombre primitivo encontró materiales para idear instrumentos de conteo. Es probable que su inicio fuera una superficie plana y piedras que se movían sobre líneas dibujadas con polvo. Hoy en día se tiende a pensar que el origen del ábaco se encuentra en China, donde el uso de este instrumento aún es notable al igual que en Japón.



  • PASCALINA


La pascalina es una de las primeras calculadoras mecánicas, que funcionaba a base de ruedas y engranes. Fue inventada por Blaise Pascal en 1645, tras tres años de trabajo sobre la misma. Se fabricaron varias versiones y Pascal en persona construyó al menos cincuenta ejemplares.
El primer uso de la pascalina fue en la Hacienda francesa, debido a que Pascal diseñó la Pascalina para ayudar a su padre, que era contador en dicha entidad. Debido a ello la pascalina estaba destinada básicamente a solucionar problemas de aritmética comercial.
En 1670 el filósofo y matemático alemánico Gottfried Wilhelm Leibniz perfeccionó esta máquina e inventó una que también podía multiplicar.











  • MÁQUINA ANALÍTICA

La máquina analítica es el diseño de un computador moderno de uso general realizado por el profesor británico de matemáticas Charles Babbage, que representó un paso importante en la historia de la computación. Fue inicialmente descrita en 1837, aunque Babbage continuó refinando el diseño hasta su muerte en 1871. La máquina no pudo ser construida debido a razones de índole financiera, política y legal. Computadores que fueran lógicamente comparables a la máquina analítica sólo pudieron ser construidos 100 años más tarde.





  • MÁQUINA DIFERENCIAL
Una máquina diferencial es una calculadora digital mecánica de propósito especial, diseñada para tabular funciones polinómicas. Puesto que las funciones logarítmicas y trigonométricas pueden ser aproximadas por polinomios, esta máquina es más general de lo que parece al principio.
Es un dispositivo de naturaleza mecánica para calcular e imprimir tablas de funciones. Más concretamente, calcula el valor numérico de una función polinómica sobre una progresión aritmética obteniendo una tabla de valores que se aproxima a la función real (basado en que cualquier función puede ser aproximada por polinomios).
Esta máquina fue ideada por J. H. Mueller y redescubierta por Charles Babbage, quien no llegó a construirla.
  • ENIAC
El ENIAC nació en 1943, aunque no se terminó de construir hasta 1946, fue un contrato entre el ejército de EE.UU y sus desarrolladores John Mauchly y John Presper Eckert, llamado "Proyecto PX" con una subvención de $500000. En 1944 se unió al proyecto John von Neumann.
El ENIAC fue un ordenador electrónico digital con fines generales a gran escala. Fue en su época la máquina más grande del mundo, compuesto de unas 17468 tubos de vacío.