UNIX. Implementação comercial

imagemOlá Habitantes! Enviamos outra novidade " UNIX Time. A History and a Memoir " para a gráfica . Com o livro, você aprenderá como o sistema Unix nasceu, por que ele é notável e por que ocupa um lugar tão importante no mundo dos computadores.

Abaixo está um trecho de um capítulo do livro "Realização Comercial".



Implementação comercial



Acredita-se que a AT&T tenha banido a distribuição comercial do Unix porque, como um monopólio governamental, competia com outros fornecedores de sistemas operacionais, usando as receitas dos serviços de telecomunicações para subsidiar o

desenvolvimento do Unix. O máximo que a AT&T poderia fazer nessa situação era vender licenças Unix para clientes corporativos por $ 20.000 (enquanto as instituições educacionais eram licenciadas em termos preferenciais), mas em quantidades limitadas e sem

qualquer suporte. Essa política evitou sanções regulatórias.



7.1. Separação



Apesar das medidas regulatórias, em 1980 a AT&T estava sob ataque como monopólio. Em 1974, o Departamento de Justiça dos Estados Unidos abriu um processo antitruste contra a AT&T, alegando que a empresa obrigava os assinantes a usar apenas telefones fabricados pela Western Electric, que não eram vendidos, mas alugados, e o aluguel era uma parte significativa da receita. O Departamento de Justiça pediu à AT&T que desmembrasse a divisão Western Electric que fabricava o equipamento.



Em vez disso, a AT&T propôs um spin-off entre uma filial principal fornecendo serviços de longa distância e sete companhias telefônicas regionais (Baby Bells), que forneceriam serviços telefônicos locais em suas áreas geográficas. A divisão AT&T da Western Electric queria mantê-la concordando em remover a exigência de que as empresas operadoras usassem apenas seus equipamentos. Ela manteve a Bell Labs para si mesma.



O acordo de solução com o Departamento de Justiça, pelo qual a AT&T abandonou as empresas operacionais, foi finalmente alcançado no início de 1982 e entrou em vigor em 1º de janeiro de 1984.



A separação foi um ponto de inflexão dramático que levou ao fim da AT&T. Os 20 anos seguintes de erros de cálculo e más decisões transformaram o Bell Labs em uma aparência patética do que costumava ser, quando tinha uma missão clara e precisa e financiamento adequado e estável.



Em 1984, uma empresa subsidiária chamada Bellcore (Bell Communications Research) se separou da Bell Labs para fornecer serviços de pesquisa para Baby Bells. Bellcore deixou muitas pessoas do departamento de pesquisa, principalmente aquelas que estavam engajadas na comunicação. Entre eles estavam alguns colegas da Unidade 1127, em particular Mike Lesk e Stu Feldman. Mas em algum momento, as companhias telefônicas regionais decidiram que não precisavam de pesquisa, e a Bellcore foi adquirida pela SAIC e rebatizada de Telcordia. Acabou sendo propriedade da empresa sueca de telecomunicações Ericsson.



Além disso, o Bell Labs foi renomeado para AT&T Bell Laboratories em 1984 porque o acordo de liquidação não permitiria que a AT&T usasse o nome Bell. Fomos fortemente encorajados a sempre usar apenas o nome completo.



7.2. USL e SVR4



Após a divisão em incapacidade e indisposição da AT&T para negociar Unix, houve tentativas de atividade comercial ativa, que passou a ser realizada por uma parte da empresa, organizacionalmente muito distante do departamento de pesquisa. Fisicamente, eles também estavam bem longe de nós, ocupando um prédio em Summit, New Jersey. Por ser cercada por rodovias movimentadas, era informalmente chamada de Ilha da Autoestrada. Essa organização era originalmente chamada de Unix Support Group (USG), mas acabou se tornando Unix System Laboratories, ou USL. O primeiro USG foi criado em 1973 por Burke Tag em uma tentativa de fornecer suporte centralizado. Com o tempo, esses grupos expandiram suas atividades, incluindo vendas e publicidade.



Sem dúvida, havia um mercado para vender Unix. Pode-se até dizer que foi criado inadvertidamente pela AT&T ao distribuir licenças para universidades. Afinal, os alunos habituados a trabalhar neste SO queriam continuar após a formatura, já tendo se estabelecido em empresas comerciais que podiam comprar licenças por dinheiro. Desde 1984, a USL tem trabalhado muito para tornar o Unix um produto comercial profissional. Isso culminou no System V Release 4 ou SVR4. A AT&T investiu recursos significativos para tornar isso uma implementação padrão e definir cuidadosamente a compatibilidade dos módulos de código e objeto. Acho que foi a atenção aos padrões e à compatibilidade que foi importante.



Os detalhes do desenvolvimento do SVR4 e das interações da AT&T com funcionários e concorrentes nos últimos dez anos não são muito interessantes. Portanto, não vou me alongar sobre eles, especialmente porque, de certa forma, eles não são mais relevantes: o foco da atenção mudou para o Linux. O artigo da Wikipedia do System V descreve a situação assim:



Os analistas da indústria normalmente caracterizam a versão comercial do Unix como um período de declínio lento, mas constante.


Claro, esta é apenas uma versão comercial; variantes de código aberto, como a família BSD, sobre a qual falaremos no próximo capítulo, vivem e prosperam.



Além do sistema operacional, a linha de produtos da AT&T também incluía vários programas auxiliares, incluindo compiladores para C, C ++, Fortran, Ada e até Pascal. Eles foram baseados principalmente no compilador C portátil de Steve Johnson. Muito esforço foi gasto na padronização para garantir a compatibilidade entre o código-fonte e os formatos binários nas bibliotecas.



Durante esse período fui chefe do departamento de Björn Stroustrup, o que significou contato frequente com a USL sobre o desenvolvimento de C ++. Na maior parte, eles se revelaram mutuamente benéficos, mas também houve casos em que havia uma clara diferença de prioridades entre o departamento de pesquisa e a organização responsável pela venda do produto. Por exemplo, em 1988, tive uma discussão acalorada com um gerente da USL.



Gerente: Todos os erros no compilador C ++ devem ser corrigidos, mas seu comportamento deve permanecer inalterado.



Eu: É impossível. Corrigir um erro por definição leva a uma mudança de comportamento.



Gerente: Brian, você não entende. Você deve corrigir o erro, mas o comportamento do compilador não pode mudar.


Formalmente, eu estava absolutamente certo, mas ao mesmo tempo entendi perfeitamente porque o gerente estava me pressionando: mudanças muito grandes ou muito rápidas são um problema sério para quem está desenvolvendo software usando novas linguagens e ferramentas.



A USL abriu uma subsidiária, Unix Pacific, no Japão, sob a liderança de Larry Croom, que trabalhou na Bell Labs por muitos anos no departamento de pesquisa. Como resultado, no âmbito da cooperação técnica, visitei duas vezes o Japão com o dinheiro da empresa. Durante minha viagem de intercâmbio com a maior companhia telefônica do Japão, a NTT, ganhei uma compreensão clara da hierarquia não oficial. O CEO deveria jogar golfe com seu colega da NTT. O diretor do Centro jogava tênis com o colega. Gerentes de departamento humildes como eu receberam uma oferta para fazer compras em Tóquio, que recusei com gratidão.



Nem todas as tentativas da AT&T de comercializar o Unix tiveram sucesso, mas a padronização do Unix foi um grande presente para toda a comunidade. Apesar da controvérsia ocasional entre P&D e USL, devo dizer que a USL tinha um grande grupo de colegas talentosos que fizeram contribuições significativas para o Unix e sistemas de software relacionados.



7.3. UNIX



Em algum momento nos primeiros dias do Unix, seus curadores no Bell Labs decidiram que o nome era uma marca registrada valiosa que deveria ser protegida, o que, do ponto de vista comercial, era certamente a decisão certa. Eles tentaram evitar que esse nome se tornasse um termo genérico que qualquer pessoa pudesse usar. Isso já aconteceu com palavras como aspirina (nos Estados Unidos, embora não em todos os lugares), escada rolante, zíper e (mais recentemente) a App Store.



Como resultado, havia um requisito para os funcionários da Bell Labs: usar o nome corretamente. Em particular, ele não pode ser usado como um substantivo independente ("Unix é um sistema operacional"). Deve ser identificada como uma marca comercial e aparecer como uma definição em maiúsculas. Ou seja, apenas a opção "sistema operacional UNIX" era permitida, o que gerava frases ridículas como "sistema operacional UNIX é um sistema operacional". Em 1984, Rob Pike e eu tivemos que defender o título de nosso livro The Unix Programming Environment (na tradução russa "UNIX. Programming Environment"), porque eles estavam tentando transformá-lo em The UNIX Operating System Programming Environment. Por fim, chegamos a um acordo: não haverá informações adicionais e uma marca registrada na capa,mas um asterisco quase invisível e uma nota aparecerão na página de título.



Redação complicada era um problema, especialmente para aqueles que levavam a sério sua redação, então várias soluções alternativas foram buscadas. Por exemplo, no pacote de macro padrão para Troff ms, Mike Lesk adicionou um comando de formatação que adicionou "UNIX" em maiúsculas e criou automaticamente uma nota de rodapé na primeira página. Normalmente, a nota de rodapé era assim:



† UNIX é uma marca comercial da Bell Laboratories (UNIX é uma marca comercial da Bell Labs).


Mas valeu a pena usar o comando com um parâmetro adicional não documentado, o texto mudou:



† UNIX é uma nota de rodapé dos Laboratórios Bell.


Eu não acho que quando usamos essa piada surpresa de vez em quando, alguém prestou atenção a ela pelo menos uma vez, mas esse código ainda está presente no pacote de macro padrão.



Ao mesmo tempo, a palavra Unix foi usada para bens e serviços que não tinham nada a ver com sistemas operacionais, por exemplo, para as canetas mostradas na Fig. 7.1, para estantes de livros da fig. 7.2 e um extintor de incêndio da fig. 7.3. Tudo isso, aparentemente, foi produzido fora dos Estados Unidos e, portanto, não se enquadrava na legislação americana de marcas. As estantes geralmente datam de 1941, ou seja, surgiram antes mesmo do nascimento de Ken e Dennis. Outro exemplo fascinante: fraldas de bebê Unix da Drypers, que usava Unix como abreviatura de unissex (para crianças de ambos os sexos).

imagem


imagem


imagem


7,4 Relações públicas O



Bell Labs tinha um fluxo constante de visitantes e, de meados dos anos 1970 ao início dos anos 1980, começaram as apresentações turísticas. Um pequeno grupo sentou-se em uma sala de conferências, enquanto membros do Centro explicaram brevemente o que é o Unix e por que ele é importante para a AT&T e o mundo. A maioria das apresentações foi feita por Mike Lesk e eu. Tínhamos a mesma falha: reclamaíamos constantemente, quando na verdade gostávamos.



Entre os visitantes, havia meros mortais e "notáveis". Este último incluía aqueles que eram importantes para a AT&T e que precisavam ser impressionados, e às vezes apenas os donos de grandes nomes. Por exemplo, em 1980, fiz uma apresentação para Walter Annenberg, fundador da revista TV Guide. Foi com isso que ele ganhou dinheiro, o que pode tê-lo ajudado a se tornar embaixador no Reino Unido, embora quando eu lhe mostrei as maravilhas do Unix sua carreira diplomática já tivesse acabado. O presidente da Bell Labs, Bill Baker, acompanhou-o como um convidado muito importante. Muitas vezes incluo uma demonstração de pipelines em meu repertório, mostrando como você pode resolver problemas urgentes rapidamente conectando programas entre si. Usei um script de shell para pesquisar erros ortográficos no documento, porque era um bom exemplo de um longo pipeline,ajudando a entender como os programas existentes podem ser combinados de novas maneiras.



O script de verificação ortográfica foi criado por Steve Johnson. A ideia principal era comparar as palavras do documento com as palavras do dicionário. Qualquer palavra faltando no dicionário pode ser um erro de grafia. O script era mais ou menos assim:



imagem
Todos esses programas já existiam. O mais incomum deles, comm, permitia pesquisar linhas que estavam presentes em dois arquivos de entrada classificados ou linhas que estavam presentes em uma ou outra entrada, mas não em ambas. O dicionário na pasta / usr / dict / web2 continha palavras da segunda edição do dicionário Webster, uma por linha.



Certa vez tive que fazer uma apresentação para William Colby, que na época era diretor da Agência Central de Inteligência (CIA), que é, sem dúvida, uma pessoa importante. Ele também estava acompanhado por Bill Baker, que, como chefe do Conselho Consultivo de Inteligência Estrangeira do presidente, tinha poderes significativos.



Eu queria mostrar como o Unix simplifica certos tipos de programação, mas o script de feitiço era lento o suficiente e optei por não arrastar a apresentação. Então, executei este script com antecedência, escrevi a saída em um arquivo e escrevi um novo script que simplesmente "dormia" por dois segundos e, em seguida, produzia os resultados do dia anterior:



sleep 2
cat previously.computed.output


Este desenvolvimento técnico de demonstração provou ser excelente. Se o Sr. Colby entendeu alguma coisa, ele provavelmente pensou que a verificação ortográfica foi feita muito rapidamente. Mas esta é uma lição para todos os participantes da apresentação. Não acredite em tudo que você vê por aí!



Public Affairs também produziu filmes promocionais sobre as maravilhas da Bell Labs, incluindo o Unix. Graças ao YouTube, posso olhar para velhos amigos (e para mim) em uma época em que éramos todos mais jovens e nosso cabelo era mais grosso.



Houve até uma pequena série de anúncios impressos do Unix. Tanto quanto me lembro, os cubos infantis no cartaz publicitário com fig. 7.4 foi ideia minha. O fundo pouco visível é um documento que forneci e que foi criado no Troff.



imagem




Você pode se familiarizar com o livro em mais detalhes e fazer o pré-pedido por um preço especial no site da editora



All Articles