Sistema Operativo
Proveer una máquina virtual, es decir, un
ambiente en el cual el usuario pueda ejecutar programas de manera conveniente,
protegiéndolo de los detalles y complejidades del hardware. Administrar
eficientemente los recursos del computador.
Un Sistema Operativo es el software encargado de ejercer el
control y coordinar el uso del hardware entre diferentes programas de
aplicación y los diferentes usuarios. Es un administrador de los recursos de
hardware del sistema.
En una definición informal es un sistema que consiste en
ofrecer una distribución ordenada y controlada de los procesadores, memorias y
dispositivos de E/S entre los diversos programas que compiten por ellos.
A pesar de que todos nosotros usamos sistemas operativos casi a diario, es difícil definir qué es un sistema operativo. En parte, esto se debe a que los sistemas operativos realizan dos funciones diferentes.
A pesar de que todos nosotros usamos sistemas operativos casi a diario, es difícil definir qué es un sistema operativo. En parte, esto se debe a que los sistemas operativos realizan dos funciones diferentes.
Hace muchos años que quedó claro que era necesario
encontrar algún medio para aislar a los programadores de las complejidades del
hardware. Esa es precisamente una de las tareas del sistema operativo, que
puede verse como una capa de software que maneja todas las partes del sistema,
y hace de intermediario entre el hardware y los programas del usuario. El
sistema operativo presenta, de esta manera, una interfaz o máquina virtual que
es más fácil de entender y de programar que la máquina "pura".
Además, para una misma familia de máquinas, aunque tengan componentes
diferentes (por ejemplo, monitores de distinta resolución o discos duros de
diversos fabricantes), la máquina virtual puede ser idéntica: el programador ve
exactamente la misma interfaz.
El sistema operativo como
máquina virtual
Un computador se compone de uno o más procesadores o CPUs,
memoria principal o RAM, memoria secundaria (discos), tarjetas de expansión
(tarjetas de red, modems y otros), monitor, teclado, mouse y otros
dispositivos. O sea, es un sistema complejo. Escribir programas que hagan uso
correcto de todas estas componentes no es una tarea trivial. Peor aún si
hablamos de uso óptimo. Si cada programador tuviera que preocuparse de, por
ejemplo, como funciona el disco duro del computador, teniendo además siempre
presentes todas las posibles cosas que podrían fallar, entonces a la fecha se
habría escrito una cantidad bastante reducida de programas.
Es
mucho más fácil decir `escriba "Chao" al final del archivo
"datos"', que
1-Poner en determinados registros del controlador de disco la dirección que se quiere escribir, el número de bytes que se desea escribir, la posición de memoria donde está la información a escribir, el sentido de la operación (lectura o escritura), amén de otros parámetros;
2-Decir al controlador que efectué la operación.
3-Esperar. Decidir qué hacer si el controlador se demora más de lo esperado (¿cuánto es "lo esperado"?).
4-Interpretar el resultado de la operación (una serie de bits).
5-Reintentar si algo anduvo mal.
6-etc.
Además, habría que reescribir el programa si se instala un disco diferente o se desea ejecutar el programa en otra máquina.
El sistema operativo como
administrador de recursos
La otra tarea de un sistema operativo consiste en
administrar los recursos de un computador cuando hay dos o más programas que
ejecutan simultáneamente y requieren usar el mismo recurso (como tiempo de CPU,
memoria o impresora).
Además, en un sistema multiusuario, suele ser
necesario o conveniente compartir, además de dispositivos físicos, información.
Al mismo tiempo, debe tenerse en cuenta consideraciones de seguridad: por
ejemplo, la información confidencial sólo debe ser accesada por usuarios
autorizados, un usuario cualquiera no debiera ser capaz de sobreescribir áreas
críticas del sistema, etc. (En este caso, un usuario puede ser una persona, un
programa, u otro computador). En resumen, el sistema operativo debe llevar la
cuenta acerca de quién está usando qué recursos; otorgar recursos a quienes los
solicitan (siempre que el solicitante tenga derechos adecuados sobre el
recurso); y arbitrar en caso de solicitudes conflictivas.
Las tareas que generalmente realiza un Sistema Operativo
son las siguientes:
-Realizar
el interfaz sistema-usuario.
-Compartir los recursos de Hardware entre los usuarios.
-Permitir a los usuarios compartir sus datos entre ellos.
-Prevenir que las actividades de un usuario no interfieran en las de los demás usuarios.
-Calendarizar los recursos de los usuarios.
-Facilitar el acceso a los dispositivos de E/S.
-Recuperarse de fallas o errores.
-Llevar el control sobre el uso de los recursos.
-Entre otras.
-Compartir los recursos de Hardware entre los usuarios.
-Permitir a los usuarios compartir sus datos entre ellos.
-Prevenir que las actividades de un usuario no interfieran en las de los demás usuarios.
-Calendarizar los recursos de los usuarios.
-Facilitar el acceso a los dispositivos de E/S.
-Recuperarse de fallas o errores.
-Llevar el control sobre el uso de los recursos.
-Entre otras.
Un
sistema operativo está formado por varios programas que en conjunto presentan
al usuario una vista integrada del sistema, los componentes principales de un
sistema operativo son los siguientes módulos:
-Manejo de procesos.
-Manejo de E/S.
-Manejo de Memoria.
-Manejo del Sistema de Archivos.
-Manejo de procesos.
-Manejo de E/S.
-Manejo de Memoria.
-Manejo del Sistema de Archivos.
El
sistema operativo indica a la computadora la manera de utilizar otros programas
de software y administra todo el hardware, tanto el interno como el externo,
que está instalado en la computadora.
Los sistemas operativos pueden ser basados en caracteres o gráficos. Un sistema operativo basado en caracteres, tal como MS-DOS, le permite escribir comandos en un indicador para controlar la computadora. Un interfaz gráfico del usuario, o GUI, le permite enviar comandos a la computadora al hacer clic en iconos o al seleccionar elementos en los menús. Windows 95 cuenta con un GUI.
La mayoría de los sistemas operativos pueden manejar programas de 16 ó 32 bits, o ambos. Microsoft Windows 3.x ejecuta únicamente los programas de 16 bits; Windows 95 de Microsoft puede ejecutar ambos programas de 16 ó 32 bits.
Los sistemas operativos pueden ser basados en caracteres o gráficos. Un sistema operativo basado en caracteres, tal como MS-DOS, le permite escribir comandos en un indicador para controlar la computadora. Un interfaz gráfico del usuario, o GUI, le permite enviar comandos a la computadora al hacer clic en iconos o al seleccionar elementos en los menús. Windows 95 cuenta con un GUI.
La mayoría de los sistemas operativos pueden manejar programas de 16 ó 32 bits, o ambos. Microsoft Windows 3.x ejecuta únicamente los programas de 16 bits; Windows 95 de Microsoft puede ejecutar ambos programas de 16 ó 32 bits.
Código ASCII
ASCII es una sigla para "American
Standard Code for Information Interchange" (Código Standard
Norteamericano para Intercambio de Información). Este código fue propuesto por
Robert W. Bemer, buscando crear códigos para caracteres alfa-numéricos (letras,
símbolos, números y acentos). De esta forma sería posible que las
computadoras de diferentes fabricantes lograran entender los mismos códigos.
El ASCII es un código numérico que representa los caracteres, usando una escala decimal del 0 al 127. Esos números decimales son convertidos por la computadora en números binarios para ser posteriormente procesados. Por lo tanto, cada una de las letras que escribas va a corresponder a uno de estos códigos.
El ASCII es un código numérico que representa los caracteres, usando una escala decimal del 0 al 127. Esos números decimales son convertidos por la computadora en números binarios para ser posteriormente procesados. Por lo tanto, cada una de las letras que escribas va a corresponder a uno de estos códigos.
Historia
del Código ASCII :
El código ASCII (siglas en ingles para American Standard
Code for Information Interchange, es decir Código Americano (estadounidense)
Estándar para el intercambio de Información )(se pronuncia Aski).
Fue creado en 1963 por el Comité Estadounidense de
Estándares o "ASA", este organismo cambio su nombre en 1969 por
"Instituto Estadounidense de Estándares Nacionales" o
"ANSI" como se lo conoce desde entonces.
Este código nació a partir de reordenar y expandir el
conjunto de símbolos y caracteres ya utilizados por ese entonces en telegrafía
por la compañía Bell.
En un primer momento solo incluía las letras mayúsculas,
pero en 1967 se agregaron las letras minúsculas y algunos caracteres de
control, formando así lo que se conoce como US-ASCII, es decir los códigos del
0 al 127.
Así con este conjunto de solo 128 caracteres fue publicado
en 1967 como estándar, conteniendo todos lo necesario para escribir en idioma
ingles.
En 1981, la empresa IBM desarrolló una extensión de 8 bits
del código ASCII, llamada "pagina de código 437", en esta versión se
reemplazaron algunos caracteres de control obsoletos, por caracteres gráficos.
Además se incorporaron 128 caracteres nuevos, con símbolos, signos, gráficos
adicionales y letras latinas, necesarias para la escrituras de textos en otros
idiomas, como por ejemplo el español. Así fue como se agregaron los caracteres
que van del ASCII 128 al 255.
IBM incluyó soporte a esta página de código en el hardware
de su modelo 5150, conocido como "IBM-PC", considerada la primera
computadora personal.
El sistema operativo de este modelo, el "MS-DOS"
también utilizaba el código ASCII extendido.
Autodesk AutoCAD
Autodesk AutoCAD es un programa de diseño asistido por computadora para dibujo en dos
y tres
dimensiones. Actualmente es desarrollado y comercializado por la
empresa Autodesk. El término AutoCAD
surge como creación de la compañía Autodesk, teniendo su primera aparición en
1982. AutoCAD es un software reconocido a nivel internacional por sus amplias
capacidades de edición, que hacen posible el dibujo digital de planos de
edificios o la recreación de imágenes en 3D. AutoCAD es uno de los
programas más usados, elegido por arquitectos, Ingenieros y diseñadores
industriales. Desglosando su nombre, se encuentra que Auto hace
referencia a la empresa creadora del software, Autodesk y CAD a
Diseño Asistido por Computadora (por sus siglas en inglés).
Diseño
asistido por computadora
El diseño asistido por computadora,
más conocido por sus siglas inglesas
CAD (computer-aided design), es el uso de un amplio rango de
herramientas computacionales que asisten a ingenieros,
arquitectos
y a otros profesionales del diseño en sus respectivas actividades. El CAD es también
utilizado en el marco de procesos de administración del ciclo
de vida de productos (en inglés product lifecycle management).
También se puede llegar a encontrar denotado con las siglas CADD (computer-aided
design and drafting), que significan «dibujo y diseño asistido por
computadora».Estas herramientas se pueden dividir básicamente en programas de dibujo en dos dimensiones (2D) y modeladores en tres dimensiones (3D). Las herramientas de dibujo en 2D se basan en entidades geométricas vectoriales como puntos, líneas, arcos y polígonos, con las que se puede operar a través de una interfaz gráfica. Los modeladores en 3D añaden superficies y sólidos.
El usuario puede asociar a cada entidad una serie de propiedades como color, usuario, capa, estilo de línea, nombre, definición geométrica, etc., que permiten manejar la información de forma lógica. Además pueden aladores en 3D pueden, además, producir previsualizaciones fotorrealistas del producto, aunque a menudo se prefiere exportar los modelos a programas especializados en visualización y animación, como Autodesk Maya, Bentley MicroStation, Softimage XSI o Autodesk 3ds Max y la alternativa libre y gratuita Blender, capaz de modelar, animar y realizar videojuegos.
Otra definición de CAD
(Computer
Aided Design - Diseño Asistido por Computadora). Cualquier software que permite
hacer dibujos bidimensionales, tridimensionales, y/o técnicos.
inform. Consiste en el uso de sistemas informáticos y programas para diseñar en dos o tres dimensiones
CAE
(Computer Aided Engineering). Ingeniería Asistida por Ordenador. Como en
el caso del CAD, el CAE permite a los ingenieros simular en el ordenador los
modelos que se piensan poner en práctica con el objetivo de apreciar su validez
sin incurrir en costes de fabricación.
Herramienta CASE
CASE
es una sigla, que corresponde a las iniciales
de: Computer Aided Software Engineering; y en su traducción
al Español significa Ingeniería de Software Asistida por Computación.
El concepto de CASE es muy amplio; y una buena definición genérica, que
pueda abarcar esa amplitud de conceptos, sería la de considerar a la Ingeniería de Software
Asistida por Computación (CASE), como la aplicación de métodos y técnicas a
través de las cuales se hacen útiles a las personas comprender las capacidades
de las computadoras, por medio de programas, de procedimientos y su respectiva
documentación.
Concentrando nuestra atención en el uso de estas
herramientas, para el desarrollo de proyectos informáticos que tengan como
objetivo la automatización de procedimientos adiministrativos; podemos decir
que: Las herramientas CASE representan una forma que permite Modelar los
Procesos de Negocios de las empresas y desarrollar los Sistemas de Información
Gerenciales.
Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por Computadora) son diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software
reduciendo el costo de las mismas en términos de tiempo y de dinero. Estas
herramientas pueden ayudar en todos los aspectos del ciclo de vida de
desarrollo del software en tareas como el proceso de realizar un diseño del proyecto, cálculo de costos, implementación de parte del código
automáticamente con el diseño dado, compilación automática, documentación o
detección de errores entre otras. Ya en los años 70 un proyecto llamado ISDOS
diseñó un lenguaje y por lo tanto un producto que analizaba la relación
existente entre los requisitos de un problema y las necesidades que éstos
generaban, el lenguaje en cuestión se denominaba PSL (Problem Statement
Language) y la aplicación que ayudaba a buscar las necesidades de los
diseñadores PSA (Problem Statement Analyzer).
Inteligencia artificial
Es una de las
áreas de las ciencias computacionales encargadas de la creacion de hardware y software que tenga comportamientos inteligentes La
inteligencia artificial es considerada una rama de la computación y relaciona
un fenómeno natural con una analogía artificial a través de programas de
computador. La inteligencia artificial puede ser tomada como ciencia si se
enfoca hacia la elaboración de programas basados en comparaciones con la
eficiencia del hombre, contribuyendo a un mayor entendimiento del conocimiento
humano. Si por otro lado es tomada como ingeniería,
basada en una relación deseable de entrada-salida para sintetizar un programa
de computador. "El resultado es un programa de alta eficiencia que
funciona como una poderosa herramienta para quien la utiliza."
A través de la inteligencia artificial se han desarrollado los sistemas expertos que pueden imitar la capacidad mental del hombre y relacionan reglas de sintaxis del lenguaje hablado y escrito sobre la base de la experiencia, para luego hacer juicios acerca de un problema, cuya solución se logra con mejores juicios y más rápidamente que el ser humano. En la medicina tiene gran utilidad al acertar el 85 % de los casos de diagnóstico
Sistemas
expertos
Los sistemas expertos son llamados así
porque emulan el razonamiento de un experto en un dominio concreto y en
ocasiones son usados por éstos. Con los sistemas expertos se busca una mejor
calidad y rapidez en las respuestas dando así lugar a una mejora de la
productividad del experto.
Es una aplicación informática capaz de solucionar un
conjunto de problemas que exigen un gran conocimiento sobre un determinado
tema. Un sistema experto es un conjunto de programas que, sobre una
base de conocimientos, posee información de uno o más expertos en un área
específica. Se puede entender como una rama de la inteligencia artificial, donde el poder de resolución de un problema en un programa de
computadora viene del conocimiento de un dominio específico. Estos sistemas
imitan las actividades de un humano para resolver problemas de distinta índole (no
necesariamente tiene que ser de inteligencia artificial). También se dice que
un SE se basa en el conocimiento declarativo (hechos sobre objetos,
situaciones) y el conocimiento de control (información sobre el seguimiento de
una acción).
Explicar sus razonamientos o
base del conocimiento: los sistemas expertos se deben realizar siguiendo
ciertas reglas o pasos comprensibles de manera que se pueda generar la
explicación para cada una de estas reglas, que a la vez se basan en hechos.
Redes de neuronas artificiales
Las redes de neuronas artificiales
(denominadas habitualmente como RNA o en inglés como: "ANN"1
) son un paradigma de aprendizaje y procesamiento automático inspirado en la
forma en que funciona el sistema nervioso de los animales. Se trata de un
sistema de interconexión de neuronas que colaboran entre sí para producir un
estímulo de salida. En inteligencia artificial es frecuente referirse a ellas
como redes de neurona o redes neuronales.
Teoría del caos
Teoría del caos es la denominación popular de la rama de las matemáticas, la física y otras ciencias que trata ciertos tipos de sistemas dinámicos muy sensibles a las variaciones en las condiciones iniciales. Pequeñas variaciones en dichas condiciones iniciales pueden implicar grandes diferencias en el comportamiento futuro; complicando la predicción a largo plazo. Esto sucede aunque estos sistemas son en rigor determinísticos, es decir; su comportamiento puede ser completamente determinado conociendo sus condiciones iniciales.
Algoritmo
genético
Un algoritmo es
una serie de pasos organizados que describe el proceso que se debe seguir, para
dar solución a un problema específico. En los años 1970, de la mano de John Henry Holland,
surgió una de las líneas más prometedoras de la inteligencia
artificial, la de los algoritmos genéticos.1 Son
llamados así porque se inspiran en la evolución biológica y su base
genético-molecular. Estos algoritmos hacen evolucionar una población de
individuos sometiéndola a acciones aleatorias semejantes
a las que actúan en la evolución
biológica (mutaciones y recombinaciones
genéticas), así como también a una Selección de acuerdo con algún criterio,
en función del cual se decide cuáles son los individuos más adaptados, que
sobreviven, y cuáles los menos aptos, que son descartados. Es incluido dentro
de los algoritmos
evolutivos, que incluyen también las estrategias evolutivas,
la programación
evolutiva y la programación
genética. Dentro de esta última se han logrado avances curiosos:
Un
algoritmo genético es un método de búsqueda dirigida basada en probabilidad. Bajo
una condición muy débil (que el algoritmo mantenga elitismo, es decir, guarde
siempre al mejor elemento de la población sin hacerle ningún cambio) se puede
demostrar que el algoritmo converge en
probabilidad al óptimo. En otras palabras, al aumentar el
número de iteraciones, la probabilidad de tener el óptimo en la población
tiende a 1 (uno).
Fibra óptica
La fibra óptica es un medio de transmisión empleado habitualmente en redes de datos; un hilo muy fino de material transparente, vidrio o materiales plásticos, por el que se envían pulsos de luz que representan los datos a transmitir. El haz de luz queda completamente confinado y se propaga por el interior de la fibra con un ángulo dereflexión por encima del ángulo límite de reflexión total, en función de la ley de Snell. La fuente de luz puede ser láser o un LED.
Las fibras se utilizan ampliamente en telecomunicaciones, ya que permiten enviar gran cantidad de datos a una gran distancia, con velocidades similares a las de radio y superiores a las de cable convencional. Son el medio de transmisión por excelencia al ser inmune a las interferencias electromagnéticas, también se utilizan para redes locales, en donde se necesite aprovechar las ventajas de la fibra óptica sobre otros medios de transmisión.
Inteligencia artificial distribuida
La inteligencia artificial distribuida es un campo de la
inteligencia artificial dedicada al estudio de las técnicas y el conocimiento
necesario para la coordinación y distribución del conocimiento y las acciones
en un entorno con múltiples agentes. se puede distinguir dos principales de
desarrollo:
1- solución cooperativa de problemas distribuidos.
Estudia como unos conjuntos de módulos, modos, cooperan para dividir y
compartir el conocimiento en un problema y en el desarrollo de la solución.
2- sistemas multilenguajes. Estudia la coordinación de la conducta
inteligentes entre un conjunto de agentes inteligentes autónomos.
SISTEMA DIFUSO
Su
estructura está constituida por tres bloques principales: el de transformación
de los valores numéricos en valores de Lógica difusa; el motor de inferencia
que emplea las reglas; y el bloque de conversión de los valores de la Lógica difusa en valores
numéricos.
En
un sistema basado en lógica difusa se transforman los datos o valores numéricos
de la entrada al dominio de las reglas intuitivas y lingüísticas de la LD para realizar el tratamiento
de los mismos y después convertir los resultados en valores numéricos para
darles la representación tradicional. En
resumen, puede decirse que un sistema basado en lógica difusa actúa como lo
haría una persona que tuviera que reaccionar ante términos tan imprecisos como
“caluroso” o “rápido” Si al sistema se le incluye una regla que diga “Si
la temperatura es calurosa se ha de acelerar el ventilador”, se estará
aplicando el principio de If/Then y el sistema funcionará sin regirse por
conceptos matemáticos precisos.
Holografía
La holografía es una técnica avanzada de fotografía que
consiste en crear imágenes tridimensionales. Para esto se utiliza un rayo láser que graba microscópicamente
una película
fotosensible. Ésta, al recibir la luz desde la perspectiva adecuada,
proyecta una imagen en tres dimensiones.
La holografía fue inventada en el año 1947 por el físico húngaro Dennis Gabor, que
recibió por esto el Premio
Nobel de Física en 1971. Recibió la patente GB685286 por su
invención. Sin embargo, se perfeccionó años más tarde con el desarrollo
del láser, pues los hologramas
de Gabor eran muy primitivos a causa de las fuentes de luz tan pobres que se
utilizaban en sus tiempos.
Transistor
óptico
Un transistor óptico es divulgado. El transistor
óptico consiste en una región de foto detector de alta velocidad a la
modulación de la región que separa una región de drenaje y el origen de una
intensidad de la luz incidente. El transistor óptico divulgado es capaz de
exhibir el rendimiento de alta velocidad con aislamiento de buena señal y la
amplificación alta ganancia.