Kermit (protokół) - Kermit (protocol)

Kermit
Protokół komunikacyjny
Cel, powód Transfer plików
Deweloper(zy) Uniwersytet Columbia
Wprowadzono 1981 ; 40 lat temu ( 1981 )
Strona internetowa www .kermitproject .org

Kermit to protokół przesyłania/zarządzania plikami komputerowymi i zestaw narzędzi oprogramowania komunikacyjnego, używanych głównie we wczesnych latach komputerów osobistych w latach 80. XX wieku. Zapewnia spójne podejście do przesyłania plików, emulacji terminala , programowania skryptów i konwersji zestawu znaków na wielu różnych platformach sprzętowych i systemów operacyjnych .

Techniczny

Protokół Kermit obsługuje przesyłanie plików tekstowych i binarnych zarówno w trybie pełnodupleksowym, jak i półdupleksowym 8-bitowych i 7-bitowych połączeń szeregowych w sposób niezależny od systemu i medium, i jest implementowany na setkach różnych platform komputerowych i systemów operacyjnych. W połączeniach pełnodupleksowych używany jest protokół Sliding Window Protocol z selektywną retransmisją, która zapewnia doskonałą wydajność i charakterystykę odzyskiwania po błędzie. W połączeniach 7-bitowych przesunięcia blokowania zapewniają wydajny transfer danych 8-bitowych. Po prawidłowym wdrożeniu, tak jak w kolekcji Columbia University Kermit Software, jego autorzy twierdzą, że wydajność jest równa lub lepsza niż w przypadku innych protokołów, takich jak ZMODEM , YMODEM i XMODEM , zwłaszcza w przypadku słabych połączeń. W przypadku połączeń przez multipleksery statystyczne RS-232, w których niektóre znaki kontrolne nie mogą być przesyłane, Kermit można skonfigurować do pracy, w przeciwieństwie do protokołów takich jak XMODEM, które wymagają, aby połączenie było przezroczyste (tj. wszystkie 256 możliwych wartości bajtu można było przesłać).

Kermit może być używany jako środek do ładowania innego oprogramowania, nawet samego siebie. Aby dystrybuować Kermit przez nie 8-bitowe czyste sieci, Columbia opracowała .boo , system kodowania binarnego na tekst podobny do BinHex . Na przykład komputery zgodne z IBM PC i komputery Apple z zainstalowaną kartą zgodności mogą łączyć się z innymi niezgodnymi systemami, takimi jak komputer typu mainframe, w celu odbierania Kermita MS-DOS w formacie .boo. Użytkownicy mogą następnie wpisać „baby Kermit” w BASIC na swoich komputerach osobistych, które pobierają Kermit i konwertują go na binarny.

Podobnie maszyny CP/M używają wielu różnych formatów dyskietek , co oznacza, że ​​jedna maszyna często nie może odczytać dysków z innej maszyny CP/M, a Kermit jest używany jako część procesu przesyłania aplikacji i danych między maszynami CP/M i innymi maszyny z różnymi systemami operacyjnymi. Program do kopiowania plików CP/M PIP może zwykle uzyskać dostęp do portu szeregowego komputera ( RS-232 ), a jeśli jest skonfigurowany do korzystania z bardzo niskiej szybkości transmisji (ponieważ nie ma wbudowanej korekcji błędów), może być używany do przesyłania małych , prosta wersja protokołu Kermit z jednej maszyny do drugiej przez kabel zerowy modem lub, w przeciwnym razie, bardzo prosta wersja protokołu Kermit może być ręcznie zakodowana w formacie binarnym w mniej niż 2K przy użyciu narzędzia DDT, narzędzia do dynamicznego debugowania CP/M. Po zakończeniu prosta wersja Kermita może zostać użyta do pobrania w pełni funkcjonalnej wersji. Ta wersja może być następnie wykorzystana do przesyłania dowolnej aplikacji lub danych CP/M.

Nowsze wersje Kermita zawierały język skryptowy i automatyzację poleceń. Język skryptowy Kermit wyewoluował z języka poleceń inspirowanego TOPS-20 EXEC i był pod wpływem składniowym i semantycznym ALGOL 60 , C , BLISS-10 , PL/I , SNOBOL i LISP .

Poprawność protokołu Kermit została zweryfikowana metodami formalnymi.

Historia

Pod koniec lat 70. użytkownicy komputerów typu mainframe na Uniwersytecie Columbia mieli tylko 35 kilobajtów pamięci masowej na osobę. Kermit został opracowany na uniwersytecie, aby studenci mogli przenosić pliki między nimi i dyskietki na różnych mikrokomputerach w kampusie, takich jak komputery mainframe IBM lub DEC DECSYSTEM-20 oraz Intertec Superbrains z systemem CP/M . Komputery mainframe IBM używały zestawu znaków EBCDIC, a maszyny CP/M i DEC używały ASCII , więc konwersja między dwoma zestawami znaków była jedną z wczesnych funkcji wbudowanych w Kermit. Pierwszy transfer plików za pomocą Kermita miał miejsce w kwietniu 1981 roku. Protokół został pierwotnie zaprojektowany w 1981 roku przez Franka da Cruza i Billa Catchingsa.

Uniwersytet Columbia koordynował rozwój wersji Kermita dla wielu różnych komputerów na uniwersytecie iw innych miejscach oraz rozpowszechniał oprogramowanie za darmo; Kermit dla nowego komputera osobistego IBM stał się szczególnie popularny. W 1986 roku uniwersytet założył Kermit Project, który przejął rozwój i zaczął pobierać opłaty za użytkowanie komercyjne; projekt był samowystarczalny finansowo. Do użytku niekomercyjnego Uniwersytet Columbia stwierdził, że

Kermit jest dla wszystkich do użytku i udostępniania. Gdy już go zdobędziesz, przekaż go znajomym i współpracownikom. Chociaż jest chroniony prawem autorskim i nie jest własnością publiczną, prosimy tylko, abyś nie próbował sprzedawać go dla zysku i używał go tylko w pokojowych i humanitarnych celach.

Do 1988 Kermit był dostępny na ponad 300 komputerach i systemach operacyjnych. Protokół stał się de facto standardem przesyłania danych do przesyłania plików między różnymi systemami komputerowymi, a na początku lat 90. mógł konwertować wielojęzyczne kodowanie znaków . Oprogramowanie Kermit jest używane w wielu krajach, od prostych zadań studenckich po rozwiązywanie problemów z kompatybilnością na pokładzie Międzynarodowej Stacji Kosmicznej . Został przeniesiony do szerokiej gamy systemów mainframe, minikomputerów i mikrokomputerów, aż po palmtopy i elektroniczne kalkulatory kieszonkowe. Większość wersji posiadała interfejs użytkownika oparty na oryginalnym Kermicie TOPS-20. Późniejsze wersje niektórych implementacji Kermit obsługują również połączenia sieciowe i szeregowe .

Implementacje, które są obecnie obsługiwane, obejmują C -Kermit (dla Unix i OpenVMS ) i Kermit 95 (dla wersji Microsoft Windows od Windows 95 i OS/2 ), ale inne wersje również pozostają dostępne.

Od 1 lipca 2011 r. Columbia University przestała być gospodarzem tego projektu i udostępniła go open source. W czerwcu 2011 r. Kermit Project udostępnił wersję beta C-Kermit v9.0 na zrewidowanej trzyklauzulowej licencji Open Source BSD .

Oprócz implementacji opracowanych i/lub dystrybuowanych przez Columbia University, protokół Kermit został zaimplementowany w wielu pakietach oprogramowania komunikacyjnego innych firm, m.in. ProComm i ProComm Plus . Termin „SuperKermit” został ukuty przez zewnętrznych dostawców w odniesieniu do szybszych implementacji Kermit, oferujących takie funkcje, jak praca w pełnym dupleksie, przesuwane okna i długie pakiety; jednak termin ten został odrzucony przez oryginalny zespół Kermita z Columbia University, który postrzegał je jako po prostu cechy podstawowego protokołu Kermit.

Nazewnictwo i prawa autorskie

Kermit został nazwany na cześć Kermita Żaby z The Muppets , za zgodą Henson Associates . Ikona programu w wersji Apple Macintosh przedstawiała Kermit the Frog. Backronym została jednak utworzona, być może w celu uniknięcia problemów znaków towarowych, K L10 E rror-Free R eciprocal M icroprocessor I nterchange nad T linie TY.

Kermit jest protokołem otwartym — każdy może na nim oprzeć swój własny program, ale część oprogramowania i kodu źródłowego Kermita jest chroniona prawami autorskimi Uniwersytetu Columbia. Od wersji 9.0 (począwszy od pierwszego wydania testowego po Alpha.09), C-Kermit posiada licencję Open Source, zrewidowaną 3-klauzulową licencję BSD. Każdy może używać go według własnego uznania w dowolnym celu, w tym redystrybucji i odsprzedaży. Może być dołączony do dowolnego systemu operacyjnego, w którym działa lub może zostać uruchomiony, w tym zarówno bezpłatne, jak i komercyjne wersje Unix i Hewlett-Packard (dawniej DEC) VMS (OpenVMS). Wsparcie techniczne było dostępne na Uniwersytecie Columbia do 30 czerwca 2011 r.

Zobacz też

Bibliografia

Dalsza lektura

Zewnętrzne linki