Vindussystemet X

Fra Wikipedia, den frie encyklopedi
(Omdirigert fra «X-Windows»)
Vindussystemet X
Utvikler(e)X.Org Foundation
Utgitt 1982
Nyeste versjonX11R7.7 (6. juni 2012)[1][2]
LisensMIT-lisensen[3]
Nettstedx.org (en)
Forgjengervindussystemet W

Vindussystemet X (engelsk: X Window System), også kalt X.Org, X11 og bare X, er et grunnleggende vindussystem, som er blitt en industristandard på Unix og Unix-lignende operativsystemer. Det er også tilgjengelig for andre operativsystemer.

Navnet X har sin bakgrunn i det distribuerte operativsystemet V system. Dets grafiske brukergrensesnitt ble kalt vindussystemet W, og da Massachusetts Institute of Technology (MIT) i 1984 laget et vindussystem for Unix, valgte de navnet X, som er neste bokstav i alfabetet.

Navnet X kan også tolkes som et ordspill relatert til «den ukjente X», en talemåte som forekommer om den ukjente i matematiske ligninger. Vindussystemet X tilbyr ikke et standardisert grafisk brukergrensesnitt, men et fundament for mange forskjellige brukergrensesnitt («den ukjente X»). Felles fasiliteter i ulike grafiske brukergrensesnitt – Tegning og flytting av enkle former som streker, bokstaver og vinduer på en skjerm, og interaksjon med en datamus og tastatur, er i X implementert som et fundament eller rammeverk.

X legger derfor ikke føringer på selve brukergrensesnittet – dette er håndtert av vindusbehandleren og individuelle programmer. Derfor varierer utseendet på X-baserte miljøer mye. Ulike programmer kan presenteres med vidt forskjellige visuelle grensesnitt.

En rekke grafiske brukergrensesnitt er blitt utviklet for X. Først ute var OPEN LOOK (1985), utviklet av AT&T og Sun Microsystems for UNIX System V. Sun Microsystems lanserte i 1993 brukergrensesnittene SunView og NeWS som konkurrenter til X i sitt eget operativsystem SunOS. De ble senere erstattet av OpenWindows, som var basert på X, og som ble levert sammen med SunOS versjon 4 (1989) under navnet Solaris. I 1990-årene ble det også gjort et forsøk på å etablere Motif som en industristandard for X. Sunsoft, Hewlett-Packard, IBM og Unix Systems Laboratories gikk da sammen i etableringen av Common Desktop Environment. Også de moderne skrivebordsmiljøene KDE, GNOME og Xfce bruker X.

De første versjonene av X ble utviklet som kommersiell og proprietær programvare av MIT, IBM og Digital Equipment Corporation (DEC). Fra og med revisjon 9 (X9) i 1985 er X blitt utviklet av en rekke konsortier. MIT X Consortium ble grunnlagt i januar 1988 som en ikke-kommersiell sammenslutning av selskaper. I 1993 ble utviklingen av X videreført av X Consortium, og i januar 1997 overtok The Open Group ansvaret. Siden februar 2004 har X blitt videreutviklet av X.Org Foundation.

I 1991 ble X gjort tilgjengelig for Intel 80386 og Intel 80486 under navnet X386. Da Snitily Graphics Consulting besluttet seg for å selge nyere versjoner av X386 som proprietær programvare, oppstod XFree86 i 1992 som et fritt alternativ for denne populære mikroprosessorfamilien. Under mesteparten av 1990-årene og like etter århundreskiftet, var XFree86 kilden til de fleste innovasjoner innenfor X. Frem til februar 2004 ble det brukt av nesten samtlige distribusjoner av Linux, og i BSD-operativsystemene.

I februar 2004 forandret XFree86 prosjektet sin lisens på en måte som Free Software Foundation oppfattet som i strid med GNU General Public License. De fleste Linux-distribusjoner valgte derfor X.org som et nytt alternativ.

X er idag distribuert av X.Org Foundation som fri programvare under X-lisensen. Revisjon 11 (X11) ble lansert den 15. september 1987. Siste versjon er 7.7 (X11R7.7), som ble lansert den 6. juni 2012.[4]

Sun Microsystems[rediger | rediger kilde]

Det første grafiske brukergrensesnitt basert på X Windows, var Open Look. Det ble utviklet av AT&T og Sun Microsystems, og lansert med SunOS 2.1. I SunOS 2.2 ble det omdøpt til SunView (Sun Visual Integrated Environment for Workstations). I SunOS 2.3 ble det kalt NeWS (Network extensible Window System). Sun Microsystems kombinerte senere SunOS med det grafiske brukergrensesnittet Open Windows og kalte det Sun Solaris.

Motif[rediger | rediger kilde]

I 1980-årene ble Motif en konkurrent til alternativene fra Sun, og det ble gjort forsøk på å gjøre det til en industri-standard.

KDE og GNOME[rediger | rediger kilde]

Den moderne skrivebordsmiljøene KDE og GNOME bruker X, og tilbyr biblioteker og utviklingsmiljøer som gjør at alle programmer for det skrivebordsmiljøet får en felles utseendemessig stil og oppførsel. Dette utseendet kan brukeren endre enkelt ved å endre tema og andre ting.

Transparens[rediger | rediger kilde]

X er «nettverksgjennomsiktig»: småprogrammer («klienter») trenger ikke å kjøre på samme maskin som den brukeren sitter ved (display-serveren). X sin bruk av begrepene «klient» og «tjener» er motsatt av hva man ofte forventer, fordi «tjeneren» er brukerens lokale skjerm istedenfor den fjerne maskinen.

Det er den lokale maskinen som står for all tegning til skjerm. Andre maskiner kjører applikasjoner som så sender henvendelser til den lokale maskinens X-tjener om å få tegnet opp prikker, streker, og polygoner. Eksempelvis vil en lokal maskin med et godt 3D-kort kunne gi svært god ytelse på grafiske applikasjoner selv om applikasjonen egentlig kjører på en annen maskin med et dårlig grafikkort. En er dog avhengig av at den lokale maskinens X-tjener er satt opp med de egenskaper klientapplikasjonen trenger, som for eksempel en spesiell fargedypde eller mulighet for «Backing Restore» hvor X-tjeneren tar seg av å friske opp områder som har blitt tegnet over av andre applikasjoner.

X11[rediger | rediger kilde]

Prosjektet ledes av X.Org Foundation, som er en gruppe utviklere fra mange store firmaer verden over, blant annet Sun Microsystems, Red Hat, SUSE, Hewlett-Packard.

Historie[rediger | rediger kilde]

Forgjengere[rediger | rediger kilde]

Utdypende artikler: Andrew ProjectPlan 9 og Vindussystemet W

Flere grafiske brukergrensesnitt gikk forut for vindussystemet X, og inspirerte dets utforming. I 1973 lanserte Xerox den 74181-baserte arbeidsstasjonen Xerox Alto med sin skrivebordsmetafor;[5][6] dette var en av de første personlige datamaskiner. I 1981 fulgte de opp med den AMD Am2900-baserte arbeidsstasjonen Xerox Star.[6]

Jim Gettys under den australasiatiske Linux-konferansen linux.conf.au, University of Otago, New Zealand, i januar 2006.

I 1981 lanserte Apollo Computer arbeidsstasjonen DN416/DN100;[7] den var basert på Motorola 68000[8] og kjørte operativsystemet AEGIS (senere omdøpt til Domain/OS) med vindussystemet Display Manager (DM).[9] I 1983 ble den Motorola 68000-baserte Apple Lisa lansert av Apple Inc.;[10] den ble etterfulgt av Macintosh i 1984.[10]

I 1982 ble Andrew Project innledet ved Carnegie Mellon University i Pittsburgh, Pennsylvania.[11] I prosjektet inngikk Andrew window manager (WM), som var et av de første nettverksorienterte vindussystemene.[11] Med fjernstyringsprogrammet Alto Terminal, ble overlappende vinduer vist på datamaskiner av typen Xerox Alto. Vertsmaskinene, som typisk var DEC VAX stormaskiner og minidatamaskiner som kjørte UNIX, var ansvarlig for å håndtere vindushendelser og å oppfriske vinduenes innhold.[11]

I 1982 ble Blit laget av Robert Pike og Bart Locanthi Jr. ved Bell Laboratories. Dette var en programmerbar bitmapbasert grafisk dataterminal. Pike skrev to vindussystemer for Blit, mpx for UNIX versjon 8 og mux for UNIX versjon 9,[12] som igjen påvirket de to vindussystemene og rio for det distribuerte operativsystemet Plan 9.[13][14] Da Blit ble kommersialisert som DMD 5620, ble en variant av mpx («layers») tilføyd UNIX System V, Release 3.[15]

X fikk sitt navn fra vindussystemet W som ble utviklet av Stanford University før 1983 for det distribuerte operativsystemet V system. W brukte en nettverksprotokoll som støttet dataterminaler og grafikkvinduer, og en tjener til å vedlikeholde lister over hva som skulle vises. Vindussystemet W var den direkte forgjengeren til vindussystemet X (W er etter X i det latinske alfabetet).

Også Microsoft Windows hører med til historien om grafiske brukergrensesnitt. Men Microsoft Windows 1.0 ble lansert i 1985 og er derfor yngre enn vindussystemet X.[16]

Opprinnelse og tidlig utvikling[rediger | rediger kilde]

Den opprinnelige idéen til vindussystemet X oppstod ved Massachusetts Institute of Technology (MIT) i 1984. Opphavsmennene var Jim Gettys fra Prosjekt Athena og Robert Scheifler fra MIT Laboratory of Computer Science. Project Athena var et felles prosjekt mellom Digital Equipment Corporation (DEC), MIT og IBM, som hadde som formål å gi alle studentene lett tilgang til dataressurser; prosjektet behøvde et plattformuavhengig grafisk system i et nettverk med systemer fra ulike leverandører. Vindussystemet som da ble brukt og var under utvikling, var den allerede nevnte Andrew window manager, men det var ingen lisenser tilgjengelige og ingen alternativer eksisterte.

Løsningen var en protokoll som kunne kjøre både lokale applikasjoner og aksessere ressurser i et nettverk. Vindussystemet W ble portert til Unix i midten av 1983 og den første versjonen kjørte i en femtedel av dens hastighet på V system. I mai 1984 erstattet Scheifler den synkrone protokollen med en asynkron protokoll, og displaylistene med en umiddelbar grafisk modus. Vindussystemet X ble det første vindussystemet som var maskinvareuavhengig og leverandøruavhengig.

I en e-post til Athena prosjektet den 19. juli 1984 presenterte Robert Scheifler vindussystemet X for MIT på følgende måte:[17]

From: rws@mit-bold (Robert W. Scheifler)
To: window@athena
Subject: window system X
Date: 19 Jun 1984 0907-EDT (Tuesday)

I've spent the last couple weeks writing a window
system for the VS100. I stole a fair amount of code
from W, surrounded it with an asynchronous rather
than a synchronous interface, and called it X. Overall
performance appears to be about twice that of W. The
code seems fairly solid at this point, although there are
still some deficiencies to be fixed up.

We at LCS have stopped using W, and are now
actively building applications on X. Anyone else using
W should seriously consider switching. This is not the
ultimate window system, but I believe it is a good
starting point for experimentation. Right at the moment
there is a CLU (and an Argus) interface to X; a C
interface is in the works. The three existing
applications are a text editor (TED), an Argus I/O
interface, and a primitive window manager. There is
no documentation yet; anyone crazy enough to
volunteer? I may get around to it eventually.

Anyone interested in seeing a demo can drop by
NE43-531, although you may want to call 3-1945
first. Anyone who wants the code can come by with a
tape. Anyone interested in hacking deficiencies, feel
free to get in touch.

Jeg har brukt de siste ukene på å skrive et vindussystem for VS100 (VAXstation 100). Jeg stjal en betydelig mengde mengde med kode fra [vindussystemet] W, omga den med et asynkront i stedet for et synkront grensesnitt, og kalte det X. I sin helhet synes ytelsen å være omkring det dobbelte av den til W. Koden ser ut til å være temmelig solid på det nåværende tidspunkt, selv om det fortsatt er en del mangler som må rettes opp.

Vi ved LCS (Laboratory of Computer Science) har stoppet bruken av W, og bygger nå aktivt applikasjoner for X. Alle andre som bruker W burde seriøst vurdere å svitsje. Dette er ikke det ultimate vindussystemet, men jeg tror at det er en god begynnelse for eksperimentering. For øyeblikket finnes det et CLU- (og et Argus-) grensesnitt til X; det arbeides med et C-grensesnitt. De tre eksisterende applikasjoner er en teksteditor (TED), et Argus I/O grensesnitt og en primitiv vindusbehandler. Det foreligger ingen dokumentasjon ennå; finnes det noen som er gal nok til å gjøre dette frivillig? Jeg kan komme tilbake til det til slutt.

De som er interessert i å se en demo kan stikke innom NE43-531, selv om du kan ønske å ringe 3-1945 først. Alle som ønsker koden kan stikke innom med en tape. De som er interessert i å hacke [koden for å fjerne] manglene, er velkommen til å ta kontakt.

Schleifer, Gettys og Ron Newman satte i gang å arbeide og vindussystemet X utviklet seg raskt. I januar 1985 lanserte de versjon 6 (X6), den første versjon som ble lisensiert til selskaper utenfor MIT.

DEC planla på denne tiden lanseringen av sin første ULTRIX arbeidsstasjon, og betraktet vindussystemet X som det eneste vindussystem som på sikt ville overleve. Ingeniører ved DEC porterte X6 til DEC's QVSS-skjerm på MicroVAX. I september 1985 hadde vindussystemet X fått støtten for farger til å fungere på DEC VAXstation-II/GPX, og dannet det som ble til versjon 9 (X9).

En gruppe ved Brown University porterte versjon 9 til den RISC-baserte arbeidsstasjonen IBM 6150 RT, men problemer med å lese data som ikke var parallellstilte førte til en inkompatibel protokoll, og førte til versjon 10 (X10R1.0) i slutten av 1985. Denne versjonen ble også portert til IBM Personal System/2 med AIX[18][19] og til MS-DOS. I 1986 hadde organisasjoner utenfor MIT begynt å be om linsenser til vindussystemet X. X10R2.0 ble lansert i januar 1986, og deretter X10R3.0 i februar 1986.

Selv om MIT hadde lisensiert X6 til enkelte grupper mot betaling, besluttet selskapet seg for å lisensiere X10R3 og fremtidige versjoner under det som ble kjent som MIT-lisensen. Motivet var å øke populariteten til vindussystemet X, og slik håpe på at flere applikasjoner ville bli tilgjengelige. X10R3.0 ble den første versjonen som oppnådde større utbredelse, og både DEC og Hewlett-Packard lanserte produkter som var basert på den.

Apollo Computer sørget for å portere vindussystemet X til arbeidsstasjonen DN416/DN100, og Sun Microsystems porterte det til sine 32-biter arbeidsstasjoner som kjørte SunOS. Demonstrasjoner av den første kommersielle applikasjonen for vindussystemet X – en CAD-programvare fra Cognition Inc. som kjørte på VAX og kunne vises på personlige datamaskiner over et nettverk som kjørte en X-tjener, fant sted på messen Autofact på denne tiden.

Logoen til revisjon 11 av vindussystemet X.

Den siste versjonen av X10, X10R4.0, ble lansert 25. desember 1986. Forsøk på å kjøre X-tjenere på utstyr for sanntid, på en måte som lignet Virtual Network Computing, tillot skrivebordet å deles mellom flere datamaskiner. Et eksempel på dette var programmet SharedX, som ble lansert av Philip J. Gust ved HP Laboratories i 1986.[20]

Selv om X10 hadde en interessant og god funksjonalitet, hadde det blitt innlysende at X-protokollen kunne behøve en mer maskinvareuavhengig konstruksjon for å bli mer utbredt, men MIT manglet de tilgjengelige ressurser til å omskrive protokollen. DEC's Western Software Laboratory (WSL) fant imidlertid seg selv involvert i prosjekter med et mer erfarent team. Smokey Wallace fra DEC WSL and Jim Gettys foreslo å skrive X11, og gjøre den fritt tilgjengelig under de samme reglene som X9 og X10. Arbeidet startet i mai 1986, og den endelige protokollen var ferdig i august. Alfatesting av programvaren startet i februar 1987, betatestingen i mai, og den endelige lanseringen av X11R1.0 fant sted den 15. september 1987.

X11-protokollens konstruksjon, som ble ledet av Scheifler, ble diskutert inngående på en åpen maillisteNascent Internet og koblet sammen med Usenet sine diskusjonsgrupper. Gettys flyttet til California for å hjelpe til med å lede utviklingen av X11 ved WSL fra DEC's Systems Research Center, hvor Phil Karlton og Susan Angebrandt ledet X11's tjenerdesign og implementasjon. X representerer på denne måte et av de første prosjekter for fri og åpen programvare i stor skala.

MIT X Consortium og X Consortium, Inc.[rediger | rediger kilde]

I 1987, da suksessen til X11 hadde blitt tydelig, ønsket MIT å gi avkall på forvaltningen av vindussystemet X. Under et møte i juni 1987 med ni leverandører,[21] fortalte leverandørene MIT at de trodde på behovet for en nøytral part for å hindre at vindussystemet X ble fragmentert i markedet. I januar 1988 ble MIT X Consortium dannet som en ikke-kommersiell gruppe av leverandører, med Schleifer som direktør. Stiftelsens formål var å styre den fremtidige utvikling av vindussystemet X i en nøytral atomsfære, deriblant for kommersielle og utdanningsmessige interesser.

Open Group[rediger | rediger kilde]

Utdypende artikkel: Open Group

X.Org og XFree86[rediger | rediger kilde]

X.Org Foundation[rediger | rediger kilde]

Versjoner[rediger | rediger kilde]

KDE 3.5
Xfce 4.4
Versjon Lansert Kommentar
MIT, IBM og DEC
X1 19. juni 1984
X6 Januar 1985 Første versjon som ble lisensiert til selskaper utenfor MIT
The MIT (Michigan Institute of Technology) X Consortium
X9 September 1985 Første utgave med MIT-lisensen
X10R1.0 Slutten av 1985 Kjørte på MS-DOS (IBM RT/PC, AT)
X10R2.0 Januar 1986
X10R3.0 Februar 1986 Første utgave utenfor MIT. uwm ble standard vindusbehandler.
X10R4.0 25. desember 1986
X11R1.0 15. september 1987
The X Consortium
X11R2.0 24. mars 1988
X11R3.0 25. oktober 1988
X11R4.0 22. desember 1989
X11R5.0 5. september 1991
X11R6.0 16. mai 1994
X11R6.1 12. mars 1996
X11R6.2 3. desember 1996
X11R6.3 23. desember 1996
The Open Group
X11R6.4 31. mars 1998
X11R6.5 Intern versjon, ikke gjort alment tilgjengelig
X11R6.5.1 20. august 2000
X11R6.6 4. april 2001
X.Org Foundation
X11R6.7 6. april 2004
X11R6.8 9. september 2004
X11R6.8.1 17. september 2004 Fikset sikkerhetshull i libxpm
X11R6.8.2 9. februar 2005 Feilrettinger, oppdatering av drivere
X11R6.9 21. desember 2005
X11R7.0 21. desember 2005 En modulært oppbygd versjon av X11R6.9
X11R7.1 22. mai 2006
X11R7.2 15. februar 2007
X11R7.3 6. september 2007
X11R7.4 23. september 2008
X11R7.5 26. oktober 2009
X11R7.6 20. desember 2010
X11R7.7 6. juni 2012

Referanser[rediger | rediger kilde]

  1. ^ «7.7». Besøkt 5. april 2024. 
  2. ^ «X11R7.x - X Window System Version 11 Release 7.x ongoing development». Besøkt 5. april 2024. 
  3. ^ https://x.org.
  4. ^ X.Org Foundation: Releases/7.7
  5. ^ Technology Xerox Alto (The First Personal Computer) 1. mars 1973 Arkivert 13. november 2013 hos Wayback Machine., Xtimeline, 2013, besøkt 31. desember 2015
  6. ^ a b Eric Steven Raymond, Rob W. Landley: Chapter 2. History: A Brief History of User Interfaces. The first GUIs, The Art of Unix Usability, 2004
  7. ^ Apollo Domain DN100 workstation, Computer History Museum, 2015
  8. ^ Wang 2012
  9. ^ Network World Staff: In Pictures: A visual history of OS desktop environments. A trip down memory lane, tracing major milestones in the evolution of the desktop environment. Arkivert 2. juli 2016 hos Wayback Machine., PC World
  10. ^ a b Young 2006
  11. ^ a b c Borenstein 1991, side 55-56
  12. ^ Unix Version 8 Manual, Intro
  13. ^ Rob Pike: 8½, the Plan 9 Window System
  14. ^ Rob Pike: Rio: Design of a Concurrent Window System, USENIX Conference, Nashville, 1991
  15. ^ Eric Smith: AT&T 5620 (and Related Terminals) Frequently Asked Questions, 25. august 2005
  16. ^ Microsoft: Windows Version History, 23. september 2011
  17. ^ «Debut of X». Talisman. 19. juni 1984. Besøkt 3. januar 2016. 
  18. ^ AIX for PS/2 X Windows User's Guide, chapter 3, 9595 - Ardent Tool of Capitalism
  19. ^ IBM Academic Operating System 4.3 System Administration Guide Arkivert 5. mars 2016 hos Wayback Machine., IBM, september 1988
  20. ^ Philip Gust: Shared X: X in a Distributed Group Work Environment, presentert på the 2nd Annual X Technical Conference, Boston, MA, januar, 1988.
  21. ^ X Consortium Definition. linux.info.org, 30. juli 2005

Litteratur[rediger | rediger kilde]

  • Borenstein, Natahniel S. (1991). Programming as if People Mattered: Friendly Programs, Software Engineering, and Other Noble Delusions. Princeton University Press, 13. oktober 1991. ISBN 0 691 087 520. ISBN 978-0-69108-752-8. 
  • Wang, Shuangbao Paul; Ledley, Robert S. (2012). Computer Architecture and Security: Fundamentals of Designing Secure Computer Systems. John Wiley & Sons, 25. oktober 2012. ISBN 1 118 168 836. ISBN 978-1-11816-883-7. 
  • Young, Jeffrey S.; Simon, William L. (2006). iCon Steve Jobs: The Greatest Second Act in the History of Business. John Wiley & Sons, 14. april 2006. ISBN 0 471 787 841. ISBN 978-0-47178-784-6. 

Eksterne lenker[rediger | rediger kilde]