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.