Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!sdd.hp.com!elroy.jpl.nasa.gov!news.arc.nasa.gov!vsi1!zorch!amiga0!mykes From: mykes@amiga0.SF-Bay.ORG (Mike Schwartz) Message-ID: Newsgroups: comp.sys.amiga.advocacy Subject: Re: IAC (was Re: Clipboard (was Re: The Amiga's Future)) Distribution: world References: <1991Jun9.005806.18799@news.iastate.edu> <8611@jhunix.HCF.JHU.EDU> <1991Jun15.225638.11517@cs.cornell.edu> Date: 16 Jun 91 13:31:46 PST Organization: Amiga makes it possible In article <1991Jun15.225638.11517@cs.cornell.edu> johnhlee@CS.Cornell.EDU (John H. Lee) writes: >>I don't claim to know much about Unix, but doesn't X-Windows require a >>"server" running the actual application and a "client" which just does >>the user-interface? Do such servers talk to multiple clients without using >>the file system (meaning peer-to-peer via sockets)? If so, this is an >>example of an application geared toward networking beyond just file/print >>sharing. > >Not quite. X Window System-based applications are designed around a protocol >that's network-independent, not around networking. The X Window system >uses a client-server model like this: > >The server is a program running on the display device and takes care of >things like drawing, clipping, screen-object management, and input devices. >It does not know nor care what the applications are or have to do. Basically, >it acts like a super-intelligent graphics terminal with a specific interface, >the X protocol. There is usually only one server running on a workstation >or whatever machine the screen-keyboard-mouse is setup. Multiple clients >can be connected to the same server and each client can act as if it is the >only one. > So far, you've described a distributed network application. For example, if you want to run FrameMaker, you don't need a binary version of Frame for each workstation that is going to use it, just for a "server" machine somewhere on the network. The "clients" (again, my knowledge of X is limited) are programs that only provide user-interface support. The clients draw what the server tells them to and sends input events back to the server... There is no rule in networking that says that the client and server can't be located on the same physical machine, either... >A client is an application program. Since the server is naive about things >such as menus and pushbuttons, it uses the server's abilities to do GUI I/O, >but handles the actual GUI operation itself. This means each application >can define a different GUI. > The notion of "server" and "client" are reversed in X to what I think of them as. A server, to me, is a program on a machine dedicated to doing a specific application (like E-Mail or FileSharing). A client, to me, is a program run on people's workstations that talks to the server. The reversal in terminology doesn't confuse me, though... >Now almost all clients don't use the X protocol itself. Instead they use >a functional interface to the protocol, the X library, and the C subroutine >library, Xlib, which provides lots of niceties in dealing with the protocol. >These libraries hides all details of networking from the application. >If the server and client are on the same machine, the X library will use >a low-cost local connection, possibly through the file system (on UNIX >systems, this is a "UNIX-domain" connection.) If not, the X library will >use the appropriate network transport mechanism. In any case, it is >transparent to the application. Application programmers ignore networking >totally and write programs "geared towards" the X protocol only. > It is nice to add a layer on top of network protocols like this, but it still doesn't change the fact that the network is being used to do distributed processing. That is all I was trying to say. The talk here was that the Mac and PC have their own flavors of X-style applications, while the Amiga doesn't, and that resource sharing is the meat and potatoes of networking. In the PC and Mac networking universes (using your terminology), they have Database, Paint, and Word Processing clients that allow servers to act on the same documents in real time... >This means that X Window System-based programs can be ported to the Amiga >with almost no changes, at least with regards to the GUI (OS-specific things >are something else--the ANSI C Standard I/O library helps here.) We just >need to implement the X library for the Amiga using whatever network >mechanism/interface is available (not necessarily BSD-style sockets.) For >local connections, just use the Exec message-passing mechanisms. The Amiga- >style IPC and networking is hidden totally. > I find this hard to swallow :) I'd think that it might be relatively easy to port the GUI (server) portion of an APP to the Amiga, but porting the real guts of the application might be far from Easy. Today, I know I can use X to run Frame FROM my Amiga, but I still need a network and a Sun (or whatever) to run the client binary... >------------------------------------------------------------------------------- >The DiskDoctor threatens the crew! Next time on AmigaDos: The Next Generation. > John Lee Internet: johnhlee@cs.cornell.edu >The above opinions are those of the user, and not of this machine. -- **************************************************** * I want games that look like Shadow of the Beast * * but play like Leisure Suit Larry. * ****************************************************