Issuu on Google+

AQUELLS TEMPS 1979-80 IBM360 – Facultat de Matemàtiques de la Universitat de Barcelona.

Programació amb FORTRAN IV i targetes perforades.


A partir de 1981. VAX 785 -Facultat de Ciències (Informàtica) de la Universitat Autònoma de Barcelona.

Programació en PASCAL Desde 1987. VAX 750/785 i altres – Carburos Metàlicos S.A. Programació en COBOL, MUMPS i Powerhouse 4GL Arribada de MACINTOSH-1989 (sense disc dur, però pantalla gràfica)


History of computers during 1980 to 1990

http://www.computerhope.com/history/198090.htm

Computer history - 1980 - 1990 Year

1 de 13

Event

1980

On January 3, Hewlett Packard introduces its HP-85. A microcomputer with 16kB of RAM and a 5-inch CRT display.

1980

IBM introduces RISC.

1980

IBM hires Paul Allen and Bill Gates to create an operating system for a new PC. The pair buy the rights to a simple operating system manufactured by Seattle Computer Products and use it as a template. IBM allows the two to keep the marketing rights to the operating system, called DOS.

1980

IBM hires Microsoft to develop versions of BASIC, FORTRAN, COBOL, and Pascal for the PC being developed by IBM.

1980

Microsoft licenses Unix and starts to develop a PC version, XENIX.

1980

The programming language FORTRAN 77 is created.

1980

The first Tandy Color computer is introduced.

1980

AST is founded.

1980

Atari becomes the first company to register a Copyright for two computer games "Asteroids" and "Lunar Landar" on June 17, 1980.

1980

FIC is founded.

1980

Iomega is established.

1980

Quantum is founded.

1980

ARPANET experiences first major network crash causing it to go down for four hours October 27, 1980.

1981

Jeff Dailey, a 19-year old becomes the first person to die from computer gaming after dying from a heart attack after posting a score of 16,660 on Berzerk.

1981

Satya Pal Asija receives the first U.S. patent for a computer software program May 26, 1981.

29/06/11 23:39


History of computers during 1980 to 1990

2 de 13

http://www.computerhope.com/history/198090.htm

1981

Diskeeper is founded on July 22, 1981.

1981

MS-DOS 1.0 was released August, 1981.

1981

American National Standards Institute more commonly known as ANSI was founded.

1981

IBM joins the computer race by announcing the IBM Personal Computer on August 12, 1981, which runs the new MS-DOS operating system and has a starting price of $1,565.

1981

Kermit is developed at the Columbia University in New York

1981

Xerox introduces the graphical Star workstation. This computer greatly influences the development of Apples future computer models, Lisa and Macintosh, as well as Microsoft's Windows.

1981

VHDL is proposed and begins development.

1981

VMEbus is developed.

1981

Hayes Introduces the Smartmodem 300 with its standard setting AT command set and an operating speed of 300 bits per second.

1981

Adam Osborne introduces the Osborne I, the first successful portable computer, which weighs 25 pounds.

1981

Hewlett-Packard Superchip the first 32-bit chip is introduced.

1981

Commodore ships the VIC-20, which later becomes the worlds most popular computer costing only $299.95.

1981

Logitech is founded in Apples, Switzerland.

1981

Adaptec is founded.

1981

BITNET is founded.

1981

Gemlight is founded.

1981

Hayes releases the Smartmodem 1200 with transfer rates of 1,200 bits per second.

1981

CTX is established.

1981

IBM joins the computer race by introducing IBM 5150 PC that used the 4.77-MHz

29/06/11 23:39


History of computers during 1980 to 1990

http://www.computerhope.com/history/198090.htm

Intel 8088 processor, 16 kB base memory, and PC-DOS (MS-DOS) for the OS.

3 de 13

1981

Kensington is founded.

1982

Peter Norton creates Norton Utilities.

1982

Sony releases its first Trinitron monitor.

1982

SGI is founded.

1982

The Intel 80286 is introduced February 1, 1982.

1982

Maxtor is founded.

1982

Hercules is founded.

1982

Labtec is founded.

1982

Disney releases the movie Tron on July 9, 1982, the first movie to use computer generated special effects.

1982

Number Nine is founded.

1982

Symantec is founded.

1982

A Philips factory in Germany creates the world's first compact disc August 17, 1982.

1982

Jack Kilby is inducted into the National Inventors Hall of Fame.

1982

Microsoft releases FORTRAN for the PC COBOL for MS-DOS, and Multiplan for the Apple II and CP/M machines.

1982

Microsoft establishes a subsidiary in England to begin foreign sales efforts.

1982

WordPerfect Corporation introduces WordPerfect 1.0 a word processing program that will become one of the computer markets most popular word processing program.

1982

The first luggable computer is introduced.

1982

Sun is incorporated in February 1982, with four employees.

1982

Lotus Development Corporation is founded.

29/06/11 23:39


History of computers during 1980 to 1990

4 de 13

http://www.computerhope.com/history/198090.htm

1982

Compaq Computer Corp. is founded by Rod Canion and other Texas Instruments Incorporated engineers. Compaq is the first company to introduce a clone of the IBM PC (the Compaq Portable in 1983) and become IBMs biggest challenger in the corporate market.

1982

The Commodore 64 an 8-bit computer with 64 kilobytes of memory and Commodore BASIC begins to be sold.

1982

Diamond Multimedia is founded.

1982

The HX-20 becomes the first notebook-sized portable computer is introduced by Epson.

1982

MS-DOS version 1.25 is released.

1982

Apple Computer is the first personal computer manufacturer to hit the $1 billion mark for annual sales.

1982

Adobe is founded.

1982

Professor Scott Fahlman creates a post on bulletin board mention the idea of using a series of characters to represent a smiley face and frown face that later became known as emoticons.

1982

BTC is founded.

1982

Sony begins selling the first Audio CD players October 1, 1982.

1982

The XT bus is introduced.

1982

Rich Skrenta a 15-year old high school student creates the first known computer virus known as The Elk Cloner.

1982

The first permanent artificial heart is implanted into Barney Clark December 2, 1982.

1983

Lotus 1-2-3, a spreadsheet program is introduced January 26, 1983.

1983

Apple releases the Lisa computer, the first commercial computer with a GUI.

1983

The IBM XT is first introduced on March 8, 1983.

1983

The first Apple WWDC is held.

29/06/11 23:39


History of computers during 1980 to 1990

1983

Compaq introduces the first 100% IBM compatible computer the "Compaq Portable" in March of 1983.

1983

PC World magazine first appears on newstands March 1983.

1983

BSD 4.2 is released and introduces pseudo terminals.

1983

Zoran is founded.

1983

Paul Allen leaves Microsoft.

1983

Iomega introduces the Bernoulli drive.

1983

The TIME magazine nominates the personal computer as the "machine of the year" December 26,1982, the first non-human ever nominated.

1983

The 414s, a group of hackers are caught by the FBI.

1983

Interplay is founded.

1983

Novell introduces Netware.

1983

The Apple IIe is introduced. The computer contains 64 kilobytes of RAM one megahertz 6502 processor and running Applesoft BASIC and sells for $1,400.

1983

ARPANET standardizes TCP/IP.

1983

Tandy, Epson and NEC all sell notebook computers however only the Tandys model 100 becomes popular because of its low price of $499.

1983

THX is established.

1983

More than 10 million computers are in use in the United States.

1983

MS-DOS 2.0 was released March, 1983.

1983

True BASIC is created and is a compiled, structured language. It doesn't require line numbers, as the original BASIC did, and includes the advanced control structures necessary for structured programming.

1983

The QIC Standard becomes the first standard in the computer history for tape drives.

1983

5 de 13

http://www.computerhope.com/history/198090.htm

Soviet jets shoot down a civilian Korean Air Lines Flight 007 flying from New York to Seoul and kill all 269 passengers and crew. As a result of this mistake President

29/06/11 23:39


History of computers during 1980 to 1990

http://www.computerhope.com/history/198090.htm

Ronald Regan orders the U.S. military to make Global Positioning System (GPS) available for civilian use.

6 de 13

1983

The GNU operating system is first announced by Richard Stallman September 27, 1983.

1983

IBM announces the PCjr (PC junior) computer November 1, 1983.

1983

Microsoft Windows was announced November 10, 1983.

1983

The largest BBS Exec-PC goes online November 28, 1983.

1984

The AT&T company we know today officially starts, expiring the famous Bell logo January 1, 1984.

1984

Docutel/Olivetti introduce the Olivetti PC, compatible with the IBM PC on January 3, 1984.

1984

On January 4th Netherlands Antilles issues a 45-cent postage stamp of a computer making a newspaper.

1984

The now famous Apple "1984" commercial is aired during Super Bowl XVIII January 22, 1984.

1984

On January 24, 1984 the Apple Macintosh is introduced.

1984

Hitachi announces it has developed the first memory chip capable of holding 1MB on January 5th.

1984

IBM's AT computer is introduced.

1984

The MUD was known as MAD becomes the first global MUD and runs across BITNET.

1984

IBM introduces its first portable computer, the IBM Portable weighing in at 30 pounds.

1984

Microsoft creates a new hardware and peripheral division March 29, 1984.

1984

ESS Technologies is founded.

1984

Mark Zuckerberg is born May 14, 1984.

1984

The game Tetris is first released in the USSR June 6, 1984.

29/06/11 23:39


History of computers during 1980 to 1990

1984

Guillemot is founded.

1984

Amiga is purchased by Commodore Business Machines on August 15th.

1984

Bill Gates is featured on the cover of TIME magazine.

1984

ASN.1 is first defined.

1984

The 3.5-inch floppy diskette is introduced and later becomes an industry standard.

1984

Dell Computer is founded May 3, 1984 in Austin Texas.

1984

Fox Software FoxBASE is introduced.

1984

Paul Mockapetris and Jon Postel introduce DNS.

1984

The now famous Apple commercial is shown during the Super Bowl, the commercial introduces the Apple Macintosh, a computer with graphical user interface instead of needing to type in commands. In six months sales of the computer reach 100,000.

1984

Apple AppleTalk networking protocol is introduced.

1984

Dhrystone is developed.

1984

IBM develops EGA.

1984

The computer Museum opens in downtown Boston.

1984

Microsoft introduces MS-DOS 3.0 for the IBM PC AT and MS-DOS 3.1 for networks.

1984

The Tandy 1000 personal computer is introduced and becomes the best-selling IBM-compatible computer of the year.

1984

IBM introduces the Enhanced Graphics Adapter (EGA) video card with higher resolution, more colors, and a quicker response then previous video cards.

1984

University of Southern California professor Fred Cohen creates alarm when he warns the public about computer viruses in his Computer Virus - Theory and Experiments paper.

1984

The term cyberspace is first used and coined by William Gibson in his book Neuromancer.

1984

7 de 13

http://www.computerhope.com/history/198090.htm

The beginning of the greatest adventure computer gaming series is released by

29/06/11 23:39


History of computers during 1980 to 1990

http://www.computerhope.com/history/198090.htm

Sierra. Kings Quest 1: Quest for the crown is released to the public.

8 de 13

1984

The Yellow book of CD-ROM standards is written.

1984

SETI is founded November 20, 1984.

1984

Cirrus is established.

1984

ISA is expanded to 16-bit capability.

1985

The WELL is founded in February 1985 by Stewart Brand and Larry Brilliant.

1985

On January 4th at CES, Commodore introduces the Commodore 128 PC with 8502 processor 128 kB of RAM and ROM cartridge port.

1985

On January 4th at CES, Atari introduces the Atari 130XE, 130ST, 260ST, 520ST, 65XE, 65XEM, and 65XEP computers.

1985

The first Internet domain name symbolics.com is registered by Symbolics, a Massachusetts computer company on March 15, 1985.

1985

The GNU manifesto is published by Dr. Dobb's Journal

1985

Software Arts assets are sold to Lotus. Software Arts is most well known for its VisiCalc program.

1985

The Amiga aka A1000 is introduced..

1985

PNY Technologies is founded.

1985

Dell releases its first computer, the "Turbo PC."

1985

Titus Interactive is founded.

1985

Microtek introduces the world's first 300-dpi black-and-white sheetfed scanner.

1985

Quantum Computer Services is founded, this company later becomes AOL.

1985

Microsoft and IBM begin collaboration on the next-generation operating system (OS/2).

1985

The computer company Gateway 2000 is founded in Siox City, Iowa on September 5, 1985.

1985

CAT1 wiring is introduced.

29/06/11 23:39


History of computers during 1980 to 1990

9 de 13

http://www.computerhope.com/history/198090.htm

1985

Intel introduces the 80386 in October.

1985

Paul Brainard of Aldus Corporation introduces Pagemaker for the Macintosh, a program that lets users mix type and graphics on the same page. The combination of this software and the new Apple LaserWriter laser printer helps create the desktop publishing field.

1985

The Mach Project begins at the Carnegie Mellon University.

1985

IBM develops NetBEUI.

1985

Microsoft Windows 1.0 is introduced in November, 1985 and is initially sold for $100.00.

1985

The Nintendo Entertainment System makes its debut.

1985

ATI is founded.

1985

Steve Jobs quits Apple September 16, 1985.

1985

Boca is established.

1985

IBM introduces the Baby AT motherboard form factor.

1985

Corel is founded.

1985

The first C++ reference guide is published by Bjarne Stoustrup October 14, 1985.

1985

Microsoft releases the first version of Microsoft Excel on the Apple Macintosh November 30, 1985.

1985

Gravis is founded.

1986

The Hacker Manifesto is published in Phrack (Volume One, Issue 7, Phile 3 of 10) on January 8, 1986.

1986

The Internet Engineering Task Force (IETF) is formed January 16, 1986.

1986

The term vaporware is first used by Philip Elmer-DeWitt in a TIME magazine article.

1986

Gigabyte is founded.

1986

Pixar is co-founded by Steve Jobs.

29/06/11 23:39


History of computers during 1980 to 1990

10 de 13

http://www.computerhope.com/history/198090.htm

1986

Apple introduces the Mac Plus. The computer contained one megabyte of RAM, new keyboard that contained cursors and numeric keypad and sold for $2,600.

1986

The AT or 101 key keyboard is introduced by IBM.

1986

Compaq introduces the first 386-based PC compatible computer.

1986

The NCSA opens.

1986

Microsoft is listed on the New York Stock Exchange selling shares to the public at $21 each, making Bill Gates one of the worlds youngest billionaires.

1986

More than 30 million computers are in use in the United States.

1986

The domain ibm.com comes online March 19, 1986.

1986

MS-DOS 3.2 was released April, 1986.

1986

IMAP is developed by Stanford University.

1986

Eric Thomas develops the first Listserv.

1986

NSFNET is created.

1986

BITNET II is created.

1986

IBM PCD announces it's first laptop computer, the PC Convertible, weighing 12 pounds.

1986

CD-i format is specified.

1986

Tandy announces the Color Computer 3 July 30, 1986.

1986

Aztech is established.

1986

Avid is established.

1987

The domain apple.com comes online February 19, 1987.

1987

Oak Technology is founded.

1987

CompuServe introduces the GIF standard and images.

1987

Robert Noyce is awarded the National Medal of Technology.

1987

Microsoft purchases Forethought Incorporated. The company that developed the presentation software PowerPoint.

29/06/11 23:39


History of computers during 1980 to 1990

11 de 13

http://www.computerhope.com/history/198090.htm

1987

Microsoft introduces Microsoft Works.

1987

Dolby AC-1 is introduced.

1987

VIA Technologies is founded.

1987

Microsoft and IBM release OS/2 1.0.

1987

The Mac SE is introduced at $2,900.

1987

Chipsets begin to be found on computer motherboards.

1987

IBM introduces the PS/2 personal computer that has improved graphics, a 3.5-inch diskette drive, and proprietary bus to help prevent clone makers competition, and a bidirectional 8-bit port.

1987

IBM sends clone manufacturers letters demanding retroactive licensing fees.

1987

IBM develops 8514/A.

1987

MS-DOS 3.3 was released April, 1987.

1987

The domain cisco.com comes online May 14, 1987.

1987

IBM introduces MCA.

1987

Microsoft Shares hits $100 per share.

1987

Apogee is founded, Apogee is well known for its computer games as well as the company who first released a 'Shareware' game.

1987

The SPARC processor is first introduced by Sun.

1987

The first e-mail from China is sent to its connection in Germany September 20, 1987.

1987

IBM introduces VGA.

1987

RealTek is founded October 1987.

1987

Larry Wall introduces Perl 1.0

1987

Microsoft introduces Windows 2.0 in December 9, 1987.

1987

Larry Wall releases the first version of Perl on December 18, 1987, version 1.0.

1987

Elitegroup Computer Systems is established.

29/06/11 23:39


History of computers during 1980 to 1990

12 de 13

http://www.computerhope.com/history/198090.htm

1988

Apple files a copyright infringement against Microsoft for Windows 2.03 and Hewlett Packard for New Wave in comparison with their Macintosh operating system.

1988

About 45 million PCs are in use in the United States.

1988

SNMP is introduced.

1988

Robert Morris releases the Morris worm November 22, 1988, becoming one of the first major worms to infect roughly 6,000 computers over the Internet and helps establish the CERT Coordination Center.

1988

First T-1 backbone is added to ARPANET.

1988

Xircom is founded.

1988

Bitnet and CSNET merge to create CREN.

1988

Trend Micro is founded.

1988

Creative Labs introduces the SoundBlaster, a sound card for the PC that contains an 11-voice FM synthesizer with text-to-speech, digitized voice input / output, a MIDI port, a joystick port and bundled software.

1988

Jarkko Oikarinen develops IRC

1988

EISA is announced in September as an alternative to MCA.

1988

Motorola releases the 88000 processor.

1988

NTP is introduced.

1988

Intel 80386SX is introduced.

1988

Promise is founded.

1988

OSF is founded.

1988

Morphing is first introduced in the movie Willow.

1988

MS-DOS 4.0 was released July, 1988.

1988

MS-DOS 4.01 was released November, 1988.

1989

GriD Systems Corporation introduces the first pen-based computer.

29/06/11 23:39


History of computers during 1980 to 1990

http://www.computerhope.com/history/198090.htm

1989

PCMCIA trade association is founded.

1989

ActionFront is founded.

1989

The Gif89a standard is introduced.

1989

ABIT is founded.

1989

Fred Cohen is awarded the Information Technology Award.

1989

Intel releases the 486DX processor, with more than 1 million transistors and multitasking capabilities.

1989

Orange book is released by Philips and Sony.

1989

Poqet announces the Poqet PC the first pocket-sized MS-DOS compatible computer.../history/198090.htm

1989

Asus is founded.

1989

The networking routing protocol OSPF is introduced.

1989

Citrix is founded.

1989

S3 Inc. is founded. 1960-1980 - Computer History - 1990

13 de 13

29/06/11 23:39


VAX

Diego Esteban Moreno

Félix Huete García Germán Aguado Llorente

¿QUÉ ES VAX (Virtual Address Extensión)? Es una máquina CISC sucesora de la PDP-11, producida por Digital Equipment Corporation. Su nombre original era VAX-11 (Virtual Address Extended PDP-11). Fue la primera máquina comercial de arquitectura de 32 bits, lo que la convierte en un hito destacable en la historia de la computación. Su sistema operativo, VMS (luego llamado OpenVMS), fue concebido junto con la máquina. Presentaba características muy novedosas para su tiempo, en particular un revolucionario sistema de clustering (varios componentes hardware que se comportan como si fuesen una única computadora). HISTORIA A principios de 1975 se creó una nueva máquina con la intención de sustituir a la serie de ordenadores PDP-11. VAX fue publicado el 25 de octubre de 1977 en la Reunión anual de Digital Equipment de Accionistas. Era la primera máquina disponible en el comercio de 32 bit y fue un hito principal en la historia de ordenador. El VAX utiliza el sistema operativo VMS (más tarde renombró OpenVMS) revolucionario en el mercado. Estuvo diseñado para durar de diez a quince años pero gracias a la combinación del sistema operativo y su buen funcionamiento se prolongó durante más tiempo. El primer VAX-11/780 fue instalado en la Universidad Carnegie Mellon. En 1978 fue instalado en el CERN en Suiza y el Instituto de Max Planck en Alemania. Una de las mejores cosas de la línea VAX era el sistema operativo VMS. Excluyendo el Windows NT, VMS es muy superior a los sistemas operativos modernos instalados en los ordenadores personales. De hecho, la capacidad clustering que fue añadida a VMS, estaba años por delante del Windows NT o cualquier otro sistema operativo. En 1980 la Versión 2 de VMS fue publicada, alcanzando un gran numero de usuarios. En 1982 Digital publicó el VAX-11/730, que era aún más pequeño que el VAX-11/750, mucho más barato y apeló a una base más grande de clientes, en ese año Digital Equipment era la empresa de ordenador número dos por detrás de IBM.


VAX

Después que saliese el VAX-11/730, los clientes exigieron un VAX más potente. Digital respondió con el VAX-11/782, que eran dos procesadores VAX-11/780 compartiendo la misma memoria. En octubre de 1984 Digital se anunció el VAX 8600, que era el primero de una segunda generación de máquinas VAX. Hacia 1986 Digital había anunciado los 8800, 8300 y 8200. Un año más tarde estos anunciaron los 8974 y los 8978. El MicroVAX II fue lanzado en julio de 1982 y comercializado en mayo de 1985, era más barato (menos 20,000 dólares) y mas rápido. De hecho, la velocidad de procesador era tan rápida como la del VAX-11/780. En 1992 Digital Equipment Corporation lanzó Alpha, una máquina de 64 bits RISC (conjunto reducido de instrucciones) que desarrolló una versión modificada de VMS llamado AXP. Los últimos modelos nuevos de VAX (modelos 7000 y 10000) fueron lanzados en 1992, aunque se introdujeron cambios hasta 1997. La línea se discontinuó en 1999, y en ese entonces se rumoreaba que todas las unidades remanentes habían sido adquiridas por Intel. ARQUITECTURA DE VAX REGISTROS Tiene una organización de registros generales de 32 bits, el apuntador de pila y el contador del programa se consideran registros de uso general. También existen otros registros de control: › Apuntador de argumentos (ap) › Apuntador de trama (fp) Que son usados para las llamadas de procedimientos.

TIPOS DE DATOS Vax maneja diferentes tamaños de datos: › byte › palabra (word, 2 bytes) › doble palabra (longword, 4 bytes)�


VAX

› cuadruple palabra (quadword, 8 bytes) › octaword

Vax utiliza diferentes tipos de datos: › enteros (1 byte - 8 bytes) › numeros en punto flotante (simple precisión, 4 bytes y doble precisión, 8 bytes), › caracteres › BCD › cadenas ›

y otros de menor importancia

ESTRUCTURA DE REGISTROS PC (Program Counter, contador de programa) ::> que contiene la dirección de

la siguiente instrucción a procesar; SP (Stack Pointer, apuntador de cima de pila) ::> Almacena la dirección de la cabecera de la pila del sistema. FP (Frame pointer, apuntador de trama o puntero de marco) AP (Argument pointer, apuntador a los argumentos)


VAX

Estos dos últimos registros son especialmente útiles cuando se manejan procedimientos y se quiere acceder a la información de la trama de pila creada en la llamada y ejecución de la rutina o procedimiento. Sus últimos bits, son bits de condición: *Z (cero) ::> Se activa si el resultado operación es 0. *N (negativo) ::> Se activa si el resultado operación es negativo. *V (desbordamiento u overflow) ::>Si hay acarreo *C (acarreo) ::> Si hay desbordamiento. MAPA DE LA MEMORIA VIRTUAL La memoria virtual de Vax se divide en cuatro secciones de un gigabyte de tamaño cada una: Sección gama de dirección: p0 0x00000000 - 0x3fffffff p1 0x40000000 - 0x7fffffff s0 0x80000000 - 0xbfffffff s1 0xc0000000 - 0xffffffff Para VMS, p0 fue utilizado para el espacio del proceso del usuario, p1 para el apilado de proceso, s0 para el sistema operativo, y s1 era el reservado. MODOS DE PRIVILEGIO Vax tiene cuatro modos de privilegio: Nº

MODO

USO DE VMS

NOTAS

0

NUCLEO

NUCLEO DEL OS

EL NIVEL MÁS ALTO DEL PRIVILEGIO

1

EJECUTIVO

SISTEMA DE FICHEROS

2

SUPERVISOR

SHELL (DCL)

3

USUARIO

PROGRAMAS NORMALES

EL NIVEL MÁS BAJO DEL PRIVILEGIO


VAX

ALINEACIÓN DE DATOS EN MEMORIA Tiene la desventaja respecto al PDP-11 de que no es obligatoria la alineación a la hora de acceder a las instrucciones alojadas en memoria, por lo que su acceso a los mismos es más lento si no existe dicha alineación. Definición: un acceso a un objeto de tamaño t bytes en el byte de dirección D se alinea si D mod t = 0 (mod: resto de la división D/t). Es decir, la dirección del objeto debe ser múltiplo de su tamaño en bytes.

El alineamiento permite simplificar los accesos a memoria: hardware más sencillo y la misma velocidad de acceso para cualquier palabra en memoria. Ejemplo: doble palabra alineada y no alineada


VAX

REFERENCIAS � Vax-11 assembly language programming, Sara Baase � Computer arquitecture and vax assembly language programming, James E. Brink � www.worldlingo.com/ma/enwiki/es/vax � www.webmythology.com/vaxhistory.asp


Universidad de Puerto Rico Recinto Universitario de Mayagüez Decanato de Asuntos Académicos Centro de Cómputos

Introducción al Sistema VAX/VMS

Lilliam I. Lugo Ramírez Unidad de Servicios al Usuario


Introducción al Sistema VAX/VMS

1

ENTRADA Y SALIDA AL SISTEMA

Para poder trabajar con el sistema VAX/VMS se necesita ser un usuario autorizado. Para estos fines el Centro de Cómputos le asigna a cada usuario un número de usuario (username) y una contraseña (password) mediante los cuales el usuario puede utilizar el sistema y almacenar documentos en discos magnéticos. Para establecer comunicación con el sistema VAX/VMS se debe encender el terminal. La mayoría, sino todos, los terminales están conectados al sistema VAX a través de servidores de terminales (LAT); así que al encender el terminal se presentará en pantalla el indicador Local> o Vista> dependiendo del servidor de terminales al cual se encuentre atachado. Independientemente de cual indicador aparezca en pantalla, ambos le permiten al usuario conectarse a cualquier nodo de la red UPREnet. La forma correcta de hacerlo es: Ej.

Local> C nombre_del_nodo Local> C RUMAC Local> C UPR1

nodo académico en el R.U.M. (VAX 6510) nodo académico en U.P.R. (VAX 6310)

Dependiendo del nodo al que el usuario interese conectarse, será el logo de presentación que aparezca en pantalla. El sistema requerirá un nombre de usuario y una contraseña para poder accesar un área de trabajo en dicho nodo. Si la contraseña corresponde al número de usuario indicado, el sistema operativo le dará acceso a su área de trabajo; esto lo indicará con el signo de dolar ($). El signo de dolar es el indicador (prompt) del sistema VAX/VMS, el cual le señala al usuario que ya puede comenzar a trabajar. Es importante notar que la contraseña no aparecerá impresa en la pantalla, esto se hace como medida de seguridad para evitar que usuarios ajenos a un área de trabajo accesen el mismo. Si es la primera vez que se accesa un área de trabajo, el sistema operativo obliga al usuario cambiar la contraseña que le fue asignada. Por este motivo el sistema VMS pedirá una nueva contraseña y una verificación de la misma antes de presentar el indicador de sistema ($). Your password has expired; you must set a new password to log in New password: nueva_contraseña Verification: nueva_contraseña $ En ambos casos se escribe la nueva contraseña; al aparecer el indicador de VMS ($) la


Introducción al Sistema VAX/VMS

2

contraseña ya ha sido cambiada. Esta nueva contraseña será la contraseña que prevalecerá hasta que el usuario cambie la misma nuevamente. De cometer algun error en la verificación de la nueva contraseña el sistema operativo continuará pidiendo verificación hasta que ambas contraseñas sean equivalentes. Entre las reglas para la asignación de una nueva contraseña están: 1. 2. 3. 4.

Un mínimo de 8 caracteres y un máximo de 32. Se aceptan letras, números, combinación de letras y número. No espacios en blanco. Simpre que se trabaje con contraseñas, las mismas no se presentarán en pantalla. Esto es como medida de seguridad.

Al concluir su sesión de trabajo, el usuario tiene que salir de su área de trabajo de forma correcta. Para esto se utiliza el comando LOGOUT. $ LOGOUT nombre_usuario log out at fecha y hora de salida Local> De esta forma el usuario desactiva su cuenta y retorna al servidor de terminal en uso. De lo contrario, el usuario dejará su área de trabajo activa accesible a cualquier otro usuario que utilice el mismo terminal.


Introducción al Sistema VAX/VMS

3

NOTAS IMPORTANTES

Los comandos utilizados por el sistema VMS (Virtual Memory System) pertenecen al lenguaje de comandos creados por la compañía Digital (Digital Command Language (DCL)). Este lenguaje permite la comunicación del usuario con el sistema operativo VMS. Una línea de comandos en el sistema VAX/VMS puede contener un máximo de 256 caracteres, pero de ser necesario permite continuar en la próxima línea de comandos utilizando para ello un guión (-) al final de cada línea. El indicador de sistema VMS ($), que le anuncia al usuario que ya puede comenzar a trabajar, puede ser cambiado al gusto del usuario. Para esto: Ej.

$ SET PROMPT = nuevo_indicador $ SET PROMPT = VAX>> El nuevo indicador será VAX>> en lugar de $.

Una de las ventajas que provee el sistema VAX/VMS es que guarda hasta 3 versión de un mismo archivo modificado, enumerando los mismo. Siendo así el número más alto la versión más reciente del archivo. Ej.

DATA.BAS;1 DATA.BAS;2 DATA.BAS;3

(versión más reciente)

A nivel de comando de DCL ($), la tecla direccional norte (↑) permite traer a pantalla hasta 20 de los últimos comandos ya ejecutados, sin necesidad de escribir los mismos nuevamente. El sistema VAX/VMS posee la utilidad HELP que permite al usuario familiarizarse con los comandos de sistema directamente desde la pantalla de su terminal. Para invocar ésta simplemente se escribe el comando HELP a nivel de DCL y se presiona la tecla de ENTER. De inmediato, aparecerá una lista de todos los comandos del sistema, de los cuales el usuario podrá seleccionar el que interese. Otra forma de utilizar esta utilidad es acompañando al comando HELP con el nombre del comando que interese. Ej.

$ HELP o

$ HELP PRINT


Introducción al Sistema VAX/VMS

4

TECLADO DE EDITADO EN DCL

Al escribir los comandos en el sistema VMS se pueden cometer errores, los mismos pueden ser corregidos fácilmente utilizando combinaciones de teclas. Algunas de éstas son las siguientes: <---

Elimina un caracter a la izquierda del cursor.

F1

Detener la pantalla momentáneamente. (Hold Screen)

F12

Mueve el cursor al prinicipio de la línea.

F13

Elimina la palabra que se encuentra a la izquierda del cursor.

CTRL/A

Tecla de doble función, añadir o reemplazar.

CTRL/B

Invocar hasta 20 comandos previamente ejecutados.

CTRL/U

Si el cursor se encuentra al final de una línea, elimina la línea completa. De otra forma, elimina todos los caracteres que se encuentren a la izquierda del cursor.

CTRL/J

Equivalente a F13.

CTRL/Q

Activa la pantalla (CONTINUE).

CTRL/F

Mueve el cursor un caracter a la derecha. Equivalente a la fecha direccional -->.

CTRL/D

Mueve el cursor un caracter a la izquierda. Equivalente a la flecha direccional <--.

CTRL/S

Equivalente a F1.

CTRL/Y

Interrumpe abruptamente un proceso.

CTRL/C

Cancela un proceso.

CTRL/H

Equivalente a F12.

CTRL/Z

Salida de un proceso. En un editor, guarda el archivo.


Introducción al Sistema VAX/VMS

5

COMANDOS BASICOS

COPY Cuando se habla de copiar un archivo se refiere a crear una copia exacta del mismo archivo bajo otro nombre. Su estructura es la siguiente: Ej.

COPY nombre_arch_viejo nombre_arch_nuevo Nombre_arch_viejo = MEMORANDUM Nombre_arch_nuevo = MENSAJE.DAT COPY MEMORANDUM MENSAJE.DAT Ambos archivos poseen el mismo contenido, lo que los diferencia es el nombre.

CREATE Es uno de los comandos utilizados para crear pequeños archivos. Utilizando el mismo se pueden añadir datos inmediatamente en un archivo y terminar los mismos presionando las teclas CTRL Z de forma simultánea. La estructura básica de este comando es: CREATE nombre_arch_a_crear Ej. CREATE MENSAJE.DAT Vms es un sistema <RETURN> CTRZ/Z Se crea un archivo llamado MENSAJE.DAT cuyo contenido es una línea "Vms es un sistema.". La única desventaja del comando CREATE es que no permite modificaciones a un archivo que ya ha sido creado anteriormente. Es por esto, que se recomienda utilizar un editor (EDIT, EVE) para crear archivos extensos. DELETE El comando delete permite elimina uno o más archivo del directorio que está en uso.


Introducción al Sistema VAX/VMS

6

Su estructura es: Ej.

DELETE nombre_archo_a_eliminar;versión DELETE MENSAJE.DAT;1 Elimina el archivo llamado MENSAJE.DAT la versión número 1.

DIR Muestra en la pantalla los nombres y atributos de los archivos que se encuentran contenidos en un área de trabajo específica. Entre las opciones de este comando están: DIR

Muestra los nombres y versiones de los archivos.

DIR/DATE

Lista los archivos con su fecha de creación.

PURGE Elimina las versiones anteriores de un archivo dejando sólo la versión más reciente. Su estructura es la siguiente:

Ej.

PURGE nombre_arch

Elimina las versiones anteriores del archivo que se indica.

PURGE

Elimina todas las versiones anteriores de todos los archivos que existen en el directorio, dejando sólo la versión más recientes.

PURGE MENSAJE.DAT Elimina todas las versiones del archivo MENSAJE.DAT y deja sólo la versión más reciente.

Si se desea eliminar versiones de un documento dejando sólo las dos (2) versiones más recientes el formato es: PURGE/KEEP=2 nombre_arch


Introducción al Sistema VAX/VMS

7

PRINT Comando para imprimir a través de la impresora el contenido de un archivo. La estructura a seguir es: Ej.

PRINT nombre_arch PRINT MENSAJE.DAT Produce un reporte con el contenido del archivo MENSAJE.DAT.

RENAME Comando utilizado para cambiar únicamente el nombre de un archivo y no el contenido del mismo. Para hacer esto se escribe: Ej.

RENAME nombre_viejo nombre_nuevo Nombre_viejo = MEMORANDUM Nombre_nuevo = MENSAJE.DAT RENAME MEMORANDUM MENSAJE.DAT El nombre del archivo MEMORANDUM ha sido cambiado por el de MENSAJE.DAT, pero el contenido del mismo se mantiene intacto.

TYPE Presenta en la pantalla el contenido de un archivo. Su estructura es: Ej.

TYPE nombre_arch TYPE MENSAJE.DAT Presenta en pantalla el contenido del archivo MENSAJE.DAT.

Si el contenido de un archivo es tan extenso que tome más de una pantalla, se puede utilizar la tecla F1 para detener momentáneamente la pantalla y así poder leer fácilmente el contenido del archivo.


Introducción al Sistema VAX/VMS

8

COMANDOS MISCELANEOS

CREATE/DIRECTORY Crear subdirectorios. La estructura básica de este comando es: Ej.

CREATE/DIRECTORY [directorio principal.subdirectorio] Directorio_principal = SEMINARIO Subdirectorio = BASICO CREATE/DIRECTORY [SEMINARIO.BASICO]

PRINT/COPIES= Imprimir cierto número de copias de un mismo archivo. Ej.

PRINT/COPIES=número_copias nombre_arch o

PRINT/COPIES=2 MENSAJE.DAT PRINT MENSAJE.DAT/COPIES=2

PRINT/FORM= Especificar la forma o tipo de papel en que se va a imprimir un documento o archivo. Ej.

PRINT/FORM=número de forma nombre_arch o

PRINT/FORM=9510 MENSAJE.DAT PRINT MENSAJE.DAT/FORM=9510

PRINT/PAGES Imprimir únicamente las páginas que se indiquen de un archivo. El formato a seguir es el siguiente: Ej.

PRINT/PAGES=(número_de_páginas) nombre_arch


Introducción al Sistema VAX/VMS

9

PRINT/PAGES=(2,4) MENSAJE.DAT Imprimirá solo las páginas 2, 3 y 4 del archivo MENSAJE.DAT. PRINT/SPACE Imprimir el documento a doble espacio. Su estructura es: Ej.

PRINT/SPACE nombre_archivo PRINT/SPACE MENSAJE.DAT

SET DEFAULT Comando utilizado para el movimiento de un directorio a otro. Su estructura básica es: Ej.

SET DEFAULT [directorio_principal.subdirectorio] Directorio_principal = REGISTRO Subdirectorio = MEMOS SET DEFAULT [REGISTRO.MEMOS]

Para retornar al directorio anterior se utiliza: SET DEFAULT [-] SET TERMINAL Comando utilizado usualmente para cambiar las características del terminal que este en uso. Entre estas características se encuentra el cambio del tamaño de la pantalla de 80 columnas a 132 columnas y vicerversa. Esto sería: SET TERMINAL/WIDTH=132 SET TERMINAL/WIDTH=80

132 columnas 80 columnas


Introducción al Sistema VAX/VMS

10

SHOW DEVICE Presenta información relacionada a los periferales de entrada y salida, almacenamiento, y periferales de comunicación existentes en el computador que se está utilizando. SHOW QUEUE Muestra una lista de todos los archivos que están en espera para salir a través de la impresora. Existen diferentes comandos para ver las listas de los archivos en la impresora, entre estos están: SHOW QUEUE

presenta información sobre las conectadas al computador en uso.

impresoras

SHOW QUEUE/ALL nombre de impresora presenta todos los trabajos que se enviaron a imprimir a tráves de la impresora que se indica. Ej.

SHOW QUEUE/ALL SYS$PRINT Presenta una lista de todos los trabajos que se están procesando en la impresora de la Sala de Cómputos de Monzón.

SHOW TIME Indica la fecha y hora (militar) actual del computador. SHOW USERS Muestra en pantalla el nombre de los usuarios que están haciendo uso interactivo del computador. Además muestra la cantidad de procesos y subprocesos que cada usuario está realizando.


Ciclo Formativo: Módulo:

Desarrollo de Aplicaciones Informáticas Análisis y Diseño Detallado de Aplicaciones Informáticas de Gestión

Unidad de Trabajo 8:

DESCRIPCIÓN DE PROGRAMAS Arturo Mora Rioja

1. Diseño de programas El glosario de términos de Calidad e Ingeniería del Software de la Asociación Española de Control de Calidad define el diseño como “el proceso de definición de la arquitectura software: componentes, módulos, interfaces, procedimientos de prueba y datos de un sistema que se crean para satisfacer unos requisitos especificados”. Mediante la fase de diseño del software no sólo se garantiza que el mismo cumpla las necesidades requeridas por el cliente/usuario, sino que se adecúe a las normas de calidad, cumpliendo una serie de criterios mesurables. Las tareas a realizar en la fase de diseño son las siguientes: •

Selección de la arquitectura global del sistema. A no ser que venga ya impuesta por el Plan de Sistemas donde esté encuadrado el proyecto, o bien que sea el cliente quien nos solicite un entorno determinado. Es posible que la selección de la arquitectura sea un paso simple, al haber similitudes con soluciones ya implantadas.

Descomposición en subsistemas. En este caso los subsistemas son físicos y no lógicos, como en la fase de análisis. Pueden coincidir, pero no tiene por qué.

Identificación de concurrencias. De cara a su adecuado manejo, se intentará equilibrar características del hardware, rendimiento esperado y coste asumible.


ADAI - 8. Descripción de Programas

Control de recursos compartidos. Debe garantizarse la disponibilidad de los recursos, así como una política de seguridad que impida accesos indebidos.

Gestión de los datos. Se elige el diseño físico más adecuado para almacenar la información a tratar, así como la información de control.

Diseño de interfaces. Tanto interfaz visual como con otras aplicaciones (ficheros, alertas, XML, …), e interfaz hardware si es necesario.

Identificación y manejo de excepciones. No hay suficiente con especificar aquello que se desea que el sistema haga. También es necesario tener en cuenta qué acciones erroneas podrían ocurrir y qué hacer en esos casos.

Selección de los algoritmos y de las estructuras de datos. Diseño de bajo nivel.

Especificación de pruebas. Estructura y orden de las mismas, así como definición del juego de pruebas a tratar.

Preparación para la migración/carga inicial. Procedimiento a seguir para la puesta en producción de la aplicación.

De forma posterior al diseño, y partiendo de la definición de algoritmos, comienza la fase de codificación (programación) del sistema.

2. Conceptos básicos de programación. •

Instrucción. Tarea fundamental o elemental que es capaz de realizar el ordenador. Cada problema se descompone en instrucciones comprensibles por el ordenador.

Algoritmo. Conjunto de instrucciones que representan la estrategia de solución de un problema. Se representan en pseudocódigo. Ha de cumplir las siguientes características: ⇒ Tener un número finito de instrucciones. ⇒ Ser realizado en un tiempo finito. ⇒ Tener un número finito de parámetros de entrada, así como de valores de salida. ⇒ Frente al mismo conjunto de datos de partida siempre se debe llegar a un mismo conjunto de resultados.

Programa. Codificación de uno o varios algoritmos en un lenguaje de programación inteligible por la máquina.

 2005 Arturo Mora Rioja

2


ADAI - 8. Descripción de Programas

Lenguaje de programación. Conjunto de normas lingüísticas que permiten codificar un programa para que sea entendido por el ordenador.

Subprograma. Cada uno de los componentes en que se puede dividir un programa complejo, entendiendo el programa como un conjunto de subprogramas. A pesar de que hay múltiples y habituales excepciones, teóricamente se establece lo siguiente: ⇒ Función. Subprograma que devuelve uno y sólo un valor. ⇒ Procedimiento. Subprograma que puede devolver 0, 1 o n valores.

Compilador. Un compilador es un programa que lee el código fuente escrito en un lenguaje y lo traduce en un programa equivalente llamado programa objeto. Posteriormente se necesita de un proceso de enlazado o linkado para obtener un fichero ejecutable. Un lenguaje compilado depende tanto del hardware como del SO. Proceso de compilación: Código fuente (source)

COMPILADOR

Código fuente (source)

…………….

Código objeto (OBJ)

COMPILADOR

Código objeto (OBJ)

LINK/LINKER/LINKEDITADOR/LINKADOR/ENLAZADOR

Código ejecutable (EXE)

Ejemplos de lenguajes compilados: C, C++, Visual Basic, Pascal, Cobol

• Intérprete. Un intérprete no compila el código fuente, sino que lo lee y

realiza la acción asociada con cada línea de código, ejecutando de forma inmediata y sin necesidad de crear ficheros objeto ni de enlazar: Instrucción fuente

INTÉRPRETE

Ejecución de la instrucción

Ejemplos de lenguajes interpretados: JavaScript, VBScript, MS-DOS Shell  2005 Arturo Mora Rioja

3


ADAI - 8. Descripción de Programas

Hay un caso especial de lenguaje en parte compilado y en parte interpretado, que es el lenguaje Java. En Java el código se compila en el servidor, obteniéndose un código intermedio no ejecutable llamado bytecode. Dicho bytecode es posteriormente interpretado en el cliente instrucción a instrucción. Es un caso curioso, ya que hay compilación pero no existe un fichero ejecutable.

3. Tipos de programación Independientemente de la metodología a emplear, todo programa ha de cumplir las siguientes características: •

Legibilidad. Facilidad de lectura y comprensión, motivo por el que es más que necesario el uso de comentarios.

Portabilidad. Facilidad de exportabilidad a otros sistemas o entornos.

Fácil modificación. De ese modo se consigue que el mantenimiento también sea más cómodo.

Modularización. Descomposición del problema en otros más pequeños y manejables.

Estructuración. Aplicación de un método y normas básicas.

Actualmente se identifican tres grandes tipos de programación, todos ellos con el mismo objetivo: trabajar acorde con las características mencionadas.

3.1.

Estructurada

También llamada imperativa, podríamos definirla teóricamente como aquella que utiliza siempre una estructura con un único punto de entrada y un punto de salida, y que sólo usa tres estructuras de control: la secuencial, la selectiva o alternativa y la repetitiva. El hecho de que todo programa, sea cual sea su tarea, se puede hacer utilizando tan sólo esas tres estructuras, fue demostrado por Böhm y Jacopini en 1966. Generalmente el concepto de programación estructurada va siempre asociado al de descomposición modular y técnica de diseño descendente (top-down). Una de sus premisas es la eliminación casi por completo de las instrucciones de salto incondicional, para facilitar la lectura del código.

 2005 Arturo Mora Rioja

4


ADAI - 8. Descripción de Programas

La estructuración y modularización que promueve este tipo de programación ha desembocado en el uso de librerías de utilidades, paso previo a la programación orientada a objetos. Además, favorece la documentación, al presentar una arquitectura clara y legible.

3.2.

Orientada a Objetos (OOP – Object-Oriented Programming)

Forma parte de toda una metodología de análisis, diseño y programación que aplica conceptos abstractos en busca de una mayor calidad y menor coste, habiéndose erigido como la metodología de los 90. La clave del OOP consiste en una representación más directa del mundo real, reduciendo de ese modo el salto entre el problema expresado desde el punto de vista del usuario y la especificación formal de cara al lenguaje comprensible por el ordenador. Según la orientación a objetos, el problema a desarrollar se centra en objetos del mundo real y su comportamiento. Así, en vez de tratar procesos tratamos a los objetos involucrados, accediendo y modificando los datos de dichos objetos, y ejecutando las acciones que sobre ellos se pueden aplicar. Dichos datos son llamados atributos y las acciones, métodos. Todo grupo de objetos de idénticas características se agrupan en clases, estando definido su interfaz en la clase y no en el objeto. Así, un claro ejemplo de orientación a objetos podría ser el siguiente: Clase Cliente atributos Nombre Tipo de cliente Fecha de alta métodos Borrar() CambiarNombre() CambiarTipo()

objeto Juan Pérez

objeto José Ruiz

objeto Luis Sanz

En este caso, si queremos eliminar al cliente José Ruiz, no ejecutamos el proceso de borrado de clientes con José Ruiz como parámetro (como ocurriría en programación estructurada), sino que invocamos al objeto José Ruiz (instancia de la clase Cliente) y aplicamos sobre él el método Borrar(). Gracias a esta estructura de clases y objetos se garantiza la modularidad, estructuración y el concepto de caja negra, de modo que utilizamos objetos como instancias de clase, sin importarnos cómo esté construida la clase por dentro.

 2005 Arturo Mora Rioja

5


ADAI - 8. Descripción de Programas

La orientación a objetos, además, incluye algunos conceptos importantísimos en el desarrollo de software moderno. Son los siguientes: •

Encapsulación. Indica que los objetos sólo pueden ser manejados mediante su interfaz (atributos y métodos). La única forma de acceso a los datos subyacentes es a través de los dos mecanismos mencionados, lo cuál garantiza la estabilidad y rocosidad del elemento a tratar.

Persistencia. Cada objeto ocupa un determinado espacio de memoria, y sólo existe durante una cierta cantidad de tiempo. De ese modo la orientación a objetos nos garantiza un uso efectivo de la memoria, al no tener que cargar el programa entero para su ejecución, sino sólo lo estrictamente indispensable.

Reusabilidad. Este concepto, ya existente en el ámbito de la programación estructurada, surge de una forma natural en OOP. Al diseñar una clase estamos implicando un interfaz externo de manejo de los objetos derivados de dicha clase, de modo que toda clase podrá ser exportada a otros sistemas de información siendo, por tanto, reusada.

Herencia. Mecanismo mediante el cual una clase (subclase) adquiere automáticamente los atributos y métodos de otra clase (clase padre), de modo que se permite especializar una clase en otras más concretas. El ejemplo habitual:

Clase Forma métodos Crear() Borrar() CalcularSuperficie()

Clase Cuadrado

Clase Triángulo

Clase Círculo

atributos Lado

atributos Base Altura

atributos Radio

Clase Rectángulo atributos Lado 2

 2005 Arturo Mora Rioja

6


ADAI - 8. Descripción de Programas

Polimorfismo. Derivada de la herencia, esta característica implica una reacción distinta del sistema ante una misma petición, dependiendo de a qué objeto sea enviada. Siguiendo el ejemplo anterior, podemos tener un objeto oCuadrado de la clase Cuadrado, un objeto oTriangulo de la clase Triángulo y un objeto oCirculo de la clase Círculo. En los tres casos el interfaz para calcular la superficie es idéntico, al heredarlo de la clase padre (el método CalcularSuperficie() de la clase Forma), pero el comportamiento interno será distinto. Para oCuadrado se calculará como Lado2, mientras para oTriangulo como (Base * Altura) / 2 y para oCirculo como * Radio2.

Como se puede ver, la programación orientada a objetos aporta grandes ventajas a la hora de desarrollar un sistema software, pero también inconvenientes derivados de la cruda realidad: •

Se necesita un equipo de desarrollo con mucha experiencia y conocimiento de las técnicas de orientación a objetos.

La fase de análisis suele ser más larga y ha de ser mucho más exacta que en desarrollo estructurado. Un error en el análisis es muy difícil de corregir en fases posteriores.

El cliente no ve nada funcionando hasta bastante avanzado el desarrollo. Si se usan prototipos, siempre son desechables.

El mantenimiento es muy complicado. Esta técnica es claramente desaconsejable para proyectos susceptibles de cambio, especialmente en su modelo de datos.

El desarrollo orientado a objetos necesita de un lenguaje de programación orientado a objetos. Posteriormente se verán algunos ejemplos.

3.3.

Conducida por eventos (Event-Driven Programming)

Ya avanzados los años noventa, y debido a la proliferación de sistemas operativos gráficos, surge un paso adelante en el desarrollo de software, mediante el uso de los llamados lenguajes de programación conducida por eventos. El concepto de evento parte del propio interfaz gráfico, donde las acciones no se ejecutan secuencialmente, como en los interfaces de línea de comandos, ni de forma aislada e independiente, como en los primeros interfaces de menús, sino debido a la ocurrencia de acciones asíncronas llamadas eventos. Así, un evento es el click sobre un botón, la elección de un elemento de una comboBox o lista desplegable, la captura o pérdida del foco por parte de una caja de texto, etc.  2005 Arturo Mora Rioja

7


ADAI - 8. Descripción de Programas

Cada evento desencadena una serie de acciones implícitas (entre las que se encuentran otros eventos) y, además, permite la ejecución de código fuente. Este concepto aporta flexibilidad, pero también desestructuración y dificultad de lectura del programa, por lo que se debe usar con pleno conocimiento y de forma bien documentada. Generalmente el event-driven programming se aplica en los lenguajes llamados visuales, dentro de los cuales el más famoso es Visual Basic. Aparte de esa característica de conducción por eventos, el código fuente puede ser posteriormente estructurado, orientado a objetos o una mezcla de ambos.

4. Lenguajes. Tipos y características 4.1.

Lenguaje máquina Representación de las instrucciones que puede ejecutar una CPU mediante combinación de ceros y unos. Es de ejecución inmediata (no hay compilación), y su aplicación en la actualidad está reducida al ámbito del diseño de hardware.

4.2.

Lenguajes simbólicos

4.2.1.

Ensamblador Las secuencias de ceros y unos se sustituyen por un nemotécnico (ADD, MOV, ...). A pesar de esa aparente facilidad, las instrucciones que ejecuta son de muy bajo nivel, por lo que sólo se utiliza para casos muy concretos, generalmente relacionados con software empotrado, y combinándolo con lenguaje C. Para que el lenguaje ensamblador pueda ser convertido en código máquina ha de sufrir un proceso de traducción mediante un software llamado ensamblador (assembler), que es totalmente dependiente de la CPU y de su familia (Intel 386, Intel 486, Motorola 68000, etc.). Su portabilidad es, por tanto, nula.

4.2.2.

Lenguajes de alto nivel Son más próximos al lenguaje natural, y permiten representar tanto las intrucciones que representan la lógica del programa como las estructuras de datos, ofreciendo capacidad para dimensionar la memoria a utilizar.

 2005 Arturo Mora Rioja

8


ADAI - 8. Descripción de Programas

J Portabilidad a partir del código fuente, que es independiente del hardware subyacente. J Facilidad de programación. J Facilidad de lectura (por tanto, de mantenimiento). L No se aprovecha de forma óptima la arquitectura interna de la máquina. L No se optimiza el mantenimiento de la memoria principal. L Existe redundancia de órdenes. Tipos de lenguajes por especialización funcional: • •

Propósito general. Basic (Visual Basic), Pascal (Delphi), C (C++), Java, ADA. Propósito específico. o Gestión de empresa. Cobol, RPG, Transact-SQL, PL/SQL. o Cálculo científico. Fortran, Mathlab. o Inteligencia Artificial. Prolog, LISP. o Desarrollo para la web. PHP, VBScript, JavaScript, Java, Python, C#.

Tipos de lenguajes por diseño interno: •

Lenguajes estructurados. Ejemplo: Basic, Pascal, C.

Lenguajes multiplataforma. Permiten generar código ejecutable en cualquier arquitectura hardware y/o software posibilitando, además, que el código ejecutable pueda obtenerse de múltiples orígenes. Ejemplo: C#, Java, Python.

Lenguajes Orientados a Objetos. ⇒ Puros. Toda función (método) y propiedad (atributo) han de pertenecer obligatoriamente a una clase. Ejemplo: Java, Eiffel, Smalltalk. ⇒ Híbridos. Permiten usar técnicas de programación estructurada a la vez que OOP. Ejemplo: C++, Delphi, Python, C#, Visual Basic.

Lenguajes de cuarta generación (4GL). Solamente se especifica qué dato se quiere recuperar, sin indicar el cómo. Suelen estar asociados a una base de datos. Ejemplo: SQL.

 2005 Arturo Mora Rioja

9


ADAI - 8. Descripción de Programas

Lenguajes procedurales de base de datos. Formados por un 3GL (lenguaje anfitrión, es el que provee los algoritmos) y un 4GL (lenguaje huésped, es el que accede a los datos). Ejemplo: PL/SQL, Transact-SQL, PowerHouse.

Lenguajes de marca o etiqueta. Permiten señalar la estructura de un conjunto de informaciones mediante pares de etiquetas que han de responder a una gramática conocida. Ejemplo: HTML, SGML, XML.

Lenguajes de Scripting. Se usan para manejar la capa de presentación en entornos de Internet, Intranet o Extranet, conviertiéndose en una mejora de HTML. A veces se les incluye en el concepto de DHTML (HTML dinámico). Ejemplo: JavaScript, VBScript.

Lenguajes funcionales. Basados en lenguaje de listas, se suelen utilizar en el ámbito de la inteligencia artificial. Ejemplo: LISP.

Bibliografía: • • •

Apuntes propios (1992-2004) Temario de pruebas selectivas para acceso por promoción interna al Cuerpo de Técnicos Auxiliares de Informática de la Administración del Estado (Ministerio de Administraciones Públicas) Gestión de Sistemas e Informática de la Administración del Estado (Centro de Estudios Financieros)

 2005 Arturo Mora Rioja

10


Aquells temps