La humanidad ha conocido, a partir de los años cuarenta,  unas máquinas llamadas computadoras u ordenadores, que son el fruto de  la evolución tecnológica de toda una historia. La computadora se ha  definido como una máquina capaz de realizar y controlar a gran velocidad  cálculos y procesos complicados. Estas máquinas se reducen de peso y  tamaño pero crecen en capacidad y rapidez con el paso del tiempo. En la  década de los años ochenta, se instalaron en oficinas, despachos y  hogares, las grandes empresas dejaron de ser los únicos usuarios. Pero  las bases de mucho de estos inventos se remontan del pasado, en donde le  hablaremos en este trabajo de unos pocos inventos que han hecho mucho y  que a pesar de que la tecnología avanza ellos dieron el primer paso y  algunos de ellos todavía se usan.
La Pascalina
blog de cibernetica
viernes, 25 de marzo de 2011
BIBLIOGRAFIAS
http://www.portalplanetasedna.com.ar/computacion.htm
/oswaldolilly.blogcindario.com/2005/09/00708-la-pascalina.html
http://www.slideshare.net/RAFAMAFER/la-pascalina
http://www.adictosaltrabajo.com/detalle-noticia.php?noticia=71
/oswaldolilly.blogcindario.com/2005/09/00708-la-pascalina.html
http://www.slideshare.net/RAFAMAFER/la-pascalina
http://www.adictosaltrabajo.com/detalle-noticia.php?noticia=71
 B.)  Lista de los Sistemas Operativos más comunes.
 B.1)  MS-DOS:   Es el  más común y popular de todos los Sistemas Operativos para PC. La razón de su  continua popularidad se debe al aplastante volumen de software disponible y a la  base instalada de computadoras con procesador Intel.
 Cuando  Intel liberó el 80286, D OS se hizo tan popular y firme en el mercado que DOS y  las aplicaciones DOS representaron la mayoría del mercado de software para PC.  En aquel tiempo, la compatibilidad IBM, fue una necesidad para que los productos  tuvieran éxito, y la "compatibilidad IBM" significaba computadoras que corrieran  DOS tan bien como las computadoras IBM lo hacían.  
 B.2)  OS/2:   Después  de la introducción del procesador Intel 80286, IBM y Microsoft reconocieron la  necesidad de tomar ventaja de las capacidades multitarea de esta CPU. Se unieron  para desarrollar el OS/2, un moderno SO multitarea para los microprocesadores  Intel. < BR>Sin embargo, la sociedad no duró mucho. Las diferencias en opiniones  técnicas y la percepción de IBM al ver a Windows como una amenaza para el OS/2  causó una desavenencia entre las Compañías que al final las llevó a la  disolución de la sociedad.
 IBM  continuó el desarrollo y promoción del OS/2.
 Es un  sistema operativo de multitarea para un solo usuario que requiere un  microprocesador Intel 286 o mejor. Además de la multitarea, la gran ventaja de  la plataforma OS/2 es que permite manejar directamente hasta 16 MB de la RAM (  en comparación con 1 MB en el caso del MS-DOS ). Por otra parte, el OS/2 es un  entorno muy complejo que requiere hasta 4 MB de la RAM. Los usuarios del OS/2  interactuan con el sistema mediante una interfaz gráfica para usuario llamada  Administrador de presentaciones. A pesar de que el OS/2 rompe la barrera de 1 MB  del MS-DOS, le llevo tiempo volverse popular. Los vendedores de software se  muestran renuentes a destinar recursos a la creación de un software con base en  el OS/2 para un mercado dominado por el MS-DOS. Los usuarios se rehusan a  cambiar al OS/2 debido a la falta de software que funcione en la plata forma del  OS/2 y a que muchos tendrían que mejorar la configuración de su PC para que  opere con el OS/2.  
 B.3)  UNIX:   Unix es  un SO multiusuario y multitarea, que corre en diferentes computadoras, desde  supercomputadoras, Mainframes, Minicomputadoras, computadoras personales y  estaciones de trabajo.
 Es un  sistema operativo que fue creado a principios de los setentas por los  científicos en los laboratorios Bell. Fue específicamente diseñado para proveer  una manera de manejar científica y especializadamente las aplicaciones  computacionales. Este SO se adapto a los sistemas de computo personales así que  esta aceptación reciente lo convierte en un sistema popular.
 . Unix  es más antiguo que todos los demás SO de PC y de muchas maneras sirvió como  modelo para éstos. Aun cuando es un SO extremadamente sólido y capaz, la línea  de comandos Unix, no es apta para cardiacos, debido a que ofrece demasiados  comandos.  
 B.4)  SISTEMA OPERATIVO DE MACINTOSH:   La  Macintosh es una máquina netamente gráfica. De hecho, no existe una interfaz de  línea de comando equivalente para ésta. Su estrecha integración de SO, GUI y  área de trabajo la hacen la favorita de la gente que no quiere saber nada de  interfaces de línea de comando.
 Las  capacidades gráficas de la Macintosh hicieron de esa máquina la primera  precursora en los campos gráficos computarizados como la autoedición por  computadora.
 La  familia de microcomputadoras de Apple Macintosh y su sistema operativo define  otra plataforma importante. Las PC de Macintosh, que se basan en la familia de  microprocesadores de Motorola, usan la arquitectura de Bus de 32 bits. La  plataforma para Macintosh incluye muchas capacidades sofisticadas que comprende  la multitarea, una GUI, la memoria virtual y la capacidad para emular la  plataforma MS-DOS. Las PC de Macintosh también tiene la capacidad integrada de  compartir archivos y comunicarse con o tras PC de Macintosh en una red.   
 B.5)  WINDOWS NT DE MICROSOFT:   Con  Windows NT, Microsoft ha expresado su dedicación a escribir software no sólo  para PC de escritorio sino también para poderosas estaciones de trabajo y  servidores de red y bases de datos. Microsoft Windows NT no es necesariamente un  sustituto de DOS ni una nueva versión de éste; es, en conjunto, un nuevo SO  diseñado desde sus bases para las máquinas más modernas y capaces disponibles.
 Windows  NT de Microsoft ofrece características interconstruidas que ningún otro SO para  PC ofrece, con excepción de Unix.
 Además  de las características tradicionales de estricta seguridad de sistema, red  interconstruida, servicios de comunicación y correo electrónico  interconstruidos, herramientas de administración y desarrollo de sistema y una  GUI, Windows NT puede correr directamente aplicaciones de Windows de Microsoft y  de Unix.  
 Windows  NT, al igual que el OS/2 ver 2.0 y algunas versiones de Unix, es un SO de 32  bits, que puede hacer completo uso de los procesadores de estas características.
 Además  de ser multitarea, está diseñado para tomar ventaja del multiproceso simétrico.  
A.)  Categorías de Sistemas Operativos 
 A.1)  MULTITAREA:  El término multitarea se refiere a la capacidad del SO para correr mas de un  programa al mismo tiempo. Existen dos esquemas que los programas de sistemas  operativos utilizan para desarrollar SO multitarea, el primero requiere de la  cooperación entre el SO y los programas de aplicación.
 Los  programas son escritos de tal manera que periódicamente inspeccionan con el SO  para ver si cualquier otro programa necesita a la CPU, si este es el caso,  entonces dejan el control del CPU al siguiente programa, a este método se le  llama multitarea cooperativa y es el método utilizado por el SO de las  computadoras de Machintosh y DOS corriendo Windows de Microsoft. El segundo  método es el llamada multitarea con asignación de prioridades. Con este esquema  el SO mantiene una lista de procesos (programas) que están corriendo. Cuando se  inicia cada proceso en la lista el SO le asigna una prioridad. En cualquier  momento el SO puede intervenir y modificar la prioridad de un proceso  organizando en forma efectiva la lista de prioridad, el SO también mantiene el  control de la cantidad de tiempo que utiliza con cualquier proceso antes de ir  al siguiente. Con multitarea de asignación de prioridades el SO puede sustituir  en cualquier momento el proceso que esta corriendo y reasignar el tiempo a una  tarea de mas prioridad. Unix OS-2 y Windows NT emplean este tipo de multitarea.  
 A.2)  MULTIUSUARIO:   Un SO  multiusuario permite a mas de un solo usuario accesar una computadora. Claro  que, para llevarse esto a cabo, el SO también debe ser capaz de efectuar  multitareas. Unix es el Sistema Operativo Multiusuario más utilizado. Debido a  que Unix fue originalmente diseñado para correr en una minicomputadora, era  multiusuario y multitarea desde su concepción.
  Actualmente se producen versiones de Unix para PC tales como The Santa Cruz  Corporation Microport, Esix, IBM,y Sunsoft. Apple también produce una versión de  Unix para la Machintosh llamada: A/UX.Unix  
 Unix  proporciona tres maneras de permitir a múltiples personas utilizar la misma PC  al mismo tiempo.  
 1.)  Mediante Módems.  
  1.       Mediante conexión de terminales a través de puertos seriales  
 3.)  Mediante Redes.  
 A.3)  MULTIPROCESO:   Las  computadoras que tienen mas de un CPU son llamadas multiproceso. Un sistema  operativo multiproceso coordina las operaciones de la computadoras  multiprocesadoras. Ya que cada CPU en una computadora de multiproceso puede  estar ejecutando una instrucción, el otro procesador queda liberado para  procesar otras instrucciones simultáneamente.
 Al usar  una computadora con capacidades de multiproceso incrementamos su velocidad de  respuesta y procesos. Casi todas las computadoras que tienen capacidad de  multiproceso ofrecen una gran ventaja.  
 Los  primeros Sistemas Operativos Multiproceso realizaban lo que se conoce como:
  ·           Multiproceso asimétrico: Una CPU principal retiene el control global de la  computadora, así como el de los otros procesadores. Esto fue un primer paso  hacia el multiproceso pero no fue la dirección ideal a seguir ya que la CPU  principal podía convertirse en un cuello de botella.  
  ·           Multiproceso simétrico: En un sistema multiproceso simétrico, no existe una CPU  controladora única. La barrera a vencer al implementar el multiproceso simétrico  es que los SO tienen que ser rediseñados o diseñados desde el principio para  trabajar en u n ambiente multiproceso. Las extensiones de Unix, que soportan  multiproceso asimétrico ya están disponibles y las extensiones simétricas se  están haciendo disponibles. Windows NT de Microsoft soporta multiproceso  simétrico.  
NTERPRETE:    Traductor de lenguajes de programación de alto nivel, los interpretes ejecutan  un programa línea por línea. El programa siempre permanece en su forma  original (programa fuente) y el interprete proporciona la traducción al momento  de ejecutar cada una de la s instrucciones. Un intérprete es un programa que  procesa los programas escritos en un lenguaje de alto nivel, sin embargo, está  diseñado de modo que no existe independencia entre la etapa de traducción y la  etapa de ejecución. Un intérprete traduce cada instrucción o sentencia del  programa escrito a un lenguaje máquina e inmediatamente se ejecuta. Encuentran  su mayor ventaja en la interacción con el usuario, al facilitar el desarrollo y  puesta a punto de programas, ya que los errores son fáciles de detectar y sobre  todo de corregir. 
  LENGUAJE  MÁQUINA:  Lenguaje original de la computadora, un programa debe estar escrito en el  lenguaje de la máquina para poder ser ejecutado. Este es generado por software y  no por el programador. El programador escribe en un lenguaje de programación, el  cual es traducido al lenguaje de máquina mediante interpretes y compiladores.
   E.)  Case:   (Computer-Aided Software Engineering o Computer- Aided Systems Engineering)  Ingeniería de Software Asistida por Computadora o Ingeniería de Sistemas  Asistida por computadora Software que se utiliza en una cualquiera o en todas  las fases del desarrollo de un sistema de información, incluyendo análisis,  diseño y programación. Por ejemplo, los diccionarios de datos y herramientas de  diagramación ayudan en las fases de análisis y diseño, mientras que los  generadores de aplicaciones aceleran la fase de programación.
 Las  herramientas CASE proporcionan métodos automáticos para diseñar y documentar las  técnicas tradicionales de programación estructurada. La meta última de CASE es  proveer un lenguaje para describir el sistema completo, que sea suficiente para  generar todos los programas necesarios. 
 Sistemas  Operativos
 Un  sistema Operativo (SO) es en sí mismo un programa de computadora. Sin embargo,  es un programa muy especial, quizá el más complejo e importante en una  computadora. El SO despierta a la computadora y hace que reconozca a la CPU, la  memoria, el tecla do, el sistema de vídeo y las unidades de disco. Además,  proporciona la facilidad para que los usuarios se comuniquen con la computadora  y sirve de plataforma a partir de la cual se corran programas de aplicación.
 Cuando  enciendes una computadora, lo primero que ésta hace es llevar a cabo un  autodiagnóstico llamado autoprueba de encendido (Power On Self Test, POST).  Durante la POST, la computadora identifica su memoria, sus discos, su teclado,  su sistema de vídeo y cualquier otro dispositivo conectado a ella. Lo siguiente  que la computadora hace es buscar un SO para arrancar (boot).  
 Una vez  que la computadora ha puesto en marcha su SO, mantiene al menos parte de éste en  su memoria en todo momento. Mientras la computadora esté encendida, el SO tiene  4 tareas principales:
  1.       Proporcionar ya sea una interfaz de línea de comando o una interfaz  gráfica al usuario, para que este último se pueda comunicar con la computadora.  Interfaz de línea de comando: tú introduces palabras y símbolos desde el teclado  de la computadora, ejemplo, el MS-DOS. Interfaz gráfica del Usuario (GUI),  seleccionas las acciones mediante el uso de un Mouse para pulsar sobre figuras  llamadas iconos o seleccionar opciones de los menús. 
  2.       Administrar los dispositivos de hardware en la computadora · Cuando  corren los programas, necesitan utilizar la memoria, el monitor, las unidades de  disco, los puertos de Entrada/Salida (impresoras, módems, etc). El SO sirve de  intermediario entre los programas y el hardware. 
  3.       Administrar y mantener los sistemas de archivo de disco · Los SO agrupan  la información dentro de compartimientos lógicos para almacenarlos en el disco.  Estos grupos de información son llamados archivos. Los archivos pueden contener  instrucciones de programas o información creada por el usuario. El SO mantiene  una lista de los archivos en un disco, y nos proporciona las herramientas  necesarias para organizar y manipular estos archivos. 
  4.       Apoyar a otros programas. Otra de las funciones importantes del SO es  proporcionar servicios a otros programas. Estos servicios son similares a  aquellos que el SO proporciona directamente a los usuarios. Por ejemplo, listar  los archivos, grabarlos a disco, eliminar archivos, revisar espacio disponible,  etc. Cuando los programadores escriben programas de computadora, incluyen en sus  programas instrucciones que solicitan los servicios del SO. Estas instrucciones  son conocidas como "llamadas del sistema" 
 El  Kernel y el Shell.  
 Las  funciones centrales de un SO son controladas por el núcleo (kernel) mientras que  la interfaz del usuario es controlada por el entorno (shell). Por ejemplo, la  parte más importante del DOS es un programa con el nombre "COMMAND.COM" Este  programa ti ene dos partes. El kernel, que se mantiene en memoria en todo  momento, contiene el código máquina de bajo nivel para manejar la administración  de hardware para otros programas que necesitan estos servicios, y para la  segunda parte del COMMAND.COM el shell, el cual es el interprete de comandos.
 Las  funciones de bajo nivel del SO y las funciones de interpretación de comandos  están separadas, de tal forma que puedes mantener el kernel DOS corriendo, pero  utilizar una interfaz de usuario diferente. Esto es exactamente lo que sucede  cuando carga s Microsoft Windows, el cual toma el lugar del shell, reemplazando  la interfaz de línea de comandos con una interfaz gráfica del usuario. Existen  muchos shells diferentes en el mercado, ejemplo: NDOS (Norton DOS), XTG,  PCTOOLS, o inclusive el mismo SO MS-DOS a partir de la versión 5.0 incluyó un  Shell llamado DOS SHELL.
 El  concepto de herencia me pareció sencillo de entender una vez que capté otro  concepto de O-O-P: las clases. En O-O-P se acostumbra agrupar a los objetos en  clases. Esto es muy común en la vida diaria. Todos nosotros tendemos a  clasificar los objetos comunes por clases. Manejamos la clase mueble, la clase  mascota, la clase alimento, etc. Obviamente en el campo de la programación esta  clasificación es más estricta. ¿Cuál es el sentido de las clases?  Fundamentalmente evitar definir los objetos desde cero y facilitar su rehuso. Si  trabajamos con clases, al querer definir un nuevo objeto, partimos de alguna  clase definida anteriormente, con lo que el objeto en cuestión hereda las  características de los objetos de su clase. Imaginemos que creamos una clase  "aves" y describimos las características de las aves (plumas, pico, nacen de  huevo, etc.). Más adelante necesitamos una clase "pingüino". Como pertenece a  "aves" no requerimos volver a declarar lo descrito sino marcamos que "pingüino"  es una subclase de "aves" con lo que "pingüino" hereda todas sus  características. A continuación sólo declaramos los detalles que determinan lo  que distingue a "pingüino" de "aves". Asimismo podemos declarar "emperador" como  una subclase de "pingüino", con lo que "emperador" heredará todas las  características de las superclases "pingüino" y "aves" más las características  que nosotros declaremos en particular para "emperador". En un programa  (imaginario por supuesto) yo puedo utilizar estas clases (aves, pingüino y  emperador). El hecho de colocar a un individuo en particular en estas clases es  lo que se llama objeto y se dice que es una instancia de una clase. Así, si yo  coloco a Fredy (un pingüino emperador) en mi programa, se dice que el objeto  Fredy es una instancia de la clase emperador. Fredy aparecerá en mi programa con  todas las características (herencia) de aves, de pingüino y de emperador.
 Por otra  parte, entender el concepto de Polimorfismo implicó un buen número de horas de  indagación y búsqueda de ejemplos. Espero que éste resulte claro: supóngase que  declaramos un objeto llamado Suma. Este objeto requiere dos parámetros (o datos)  como mensaje para operar. En la programación tradicional tendríamos que definir  el tipo de datos que le enviamos, como por ejemplo dos números enteros, dos  números reales, etc. En O-O-P el tipo de dato se conoce hasta que se ejecuta el  programa.
  e.)  COMPILADOR:  Es un  programa que traduce un lenguaje de alto nivel al lenguaje máquina. Un programa  compilado indica que ha sido traducido y está listo para ser ejecutado. La  ejecución de los programas compilados es más rápida que la de los interpretados,  ya que el interprete debe traducir mientras está en la fase de ejecución (saca  todos los errores). Un compilador es un programa que traduce el programa fuente  (conjunto de instrucciones de un lenguaje de alto nivel, por ejemplo BASIC o  Pascal) a programa objeto (instrucciones en lenguaje máquina que la computadora  puede interpretar y ejecutar). Se requiere un compilador para cada lenguaje de  programación. Un compilador efectúa la traducción, no ejecuta el programa. Una  vez compilado el programa, el resultado en forma de programa objeto será  directamente ejecutable. Presentan la ventaja considerable frente a los  intérpretes de la velocidad de ejecución, por lo que su uso será mejor en  aquellos programas probados en los que no se esperan cambios y que deban  ejecutarse muchas veces. En caso de que se opte por un interpretador se debe  considerar que el intérprete resida siempre en memoria.  
Suscribirse a:
Comentarios (Atom)
 
 
            
           