CONCEITOS BÁSICOS UNIX/LINUX. Conceitos básicos em sistemas operacionais e arquitetura de computador.



Documentos relacionados
Conceitos Básicos Unix/Linux

16:21:50. Introdução à Informática com Software Livre

Aula 2. Objetivo: Saber qual a funcionalidade de um sistema operacional de rede.

LINUX. Lapro I Profa. Fernanda Denardin Walker. - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL

PLANO DE AULA. Ambiente Operacional Unix Profa. Morganna

Laboratório de Redes de Computadores e Sistemas Operacionais

Estudo de Caso II: LINUX

I N F O R M Á T I C A. Sistemas Operacionais Prof. Dr. Rogério Vargas Campus Itaqui-RS

4. Conceitos Básicos de Computação: Sistemas Operacionais

SISTEMA OPERACIONAL & SOFTWARE LIVRE

Sistema Operacional LINUX

Universidade Federal de Goiás. Alexandre Ferreira de Melo CERCOMP / UFG

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 03. Prof. Gabriel Silva

Sistemas Operacionais

Introdução ao Sistema UNIX

Sistema Operativo Linux

Everson Scherrer Borges João Paulo de Brito Gonçalves

Principais Sistemas Operacionais. Prof. Fernando Nakayama de Queiroz

UNIVERSIDADE FEDERAL DA PARAÍBA PRÓ REITORIA DE EXTENSÃO E ASSUNTOS COMUNITÁRIOS

Introdução a Sistemas Abertos

Curso de Linux Básico com o Linux Educacional

NÚCLEO DE CIDADANIA DIGITAL Caminho Livre para o novo mundo! Conceitos básicos de Linux.


Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

4 Estrutura do Sistema Operacional Kernel

Noções de Software. André Aziz Francielle Santos

06/06/2013. O que é Software de Sistema? Sistema Operacional (SO) Tipos de Software de Sistema. Fatia de Mercado :: SO Desktop

Curso Introdução ao Linux. Desmistificando o Software Livre. Nícholas André nicholas@iotecnologia.com.

Introdução ao Linux: Parte I

Informática I. Aula Aula 19-20/11/06 1

CC Montagem e manutenção de hardware Docente: Nataniel Vieira 1 sem Técnico em Informática Roteiro 06: Atividade sobre o Documentário RevolutionOS

26/09/2015. Windows Linux Mac OS/X IBM OS/2 Sun Solaris Google Android. MS-DOS Outros... O QUE É? SISTEMAS OPERACIONAIS

Introdução ao Sistema Linux

Conceitos sobre Sistemas Operacionais. Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 03

Resumo. Prof. Alejandro - Introdução à Sistemas Operacionais Resumo Informativo, complemente o material assistindo as Aulas 19/08/2015 1

UNIX: Uma Breve Apresentação

Agenda do Mini-Curso. Sérgio Yoshio Fujii. Ethan Boardman.

Introdução a Computação Móvel

CC Montagem e manutenção de hardware Docente: Nataniel Vieira 1 sem Técnico em Informática Roteiro 06: Atividade sobre o Documentário RevolutionOS

História. Sistema Operacional

Aula 01 Visão Geral do Linux

SIMULADO DE INFORMÁTICA BÁSICA TÉCNICO DO MPU PROF. ALEXANDRE LÊNIN / PROF. JUNIOR MARTINS

No mercado atual, podemos encontrar vários tipos de sistemas operacionais que fazem parte das seguintes classes:

Manifesto Software Livre

Sistemas Operacionais

Windows NT 4.0. Centro de Computação

Sistemas Operacionais

Professor: Roberto Franciscatto. Curso: Engenharia de Alimentos 01/2010 Aula 3 Sistemas Operacionais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Prof. Jefferson Costa

>>> OBJETIVOS... === FHS - Filesystem Hierarchy Standard. === Sistemas de arquivos e Partições

Linux. Guia do Administrador do Sistema. Rubem E. Ferreira. Novatec Editora Ltda.

Mini curso de GNU/Linux

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos

UNIX & Linux. Histórico, distribuição licença, características. Taisy Weber

Gerenciamento de sistemas GNU/Linux: do computador pessoal à rede corporativa

Aula 26: Arquiteturas RISC vs. CISC

Sistema Operacional Unidade 1 Introdução aos Sistemas Operacionais GNU/Linux. QI ESCOLAS E FACULDADES Curso Técnico em Informática

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux

Gestão em Sistemas de Informação. Profa.: Me. Christiane Zim Zapelini

Administração de Sistemas Operacionais

Aula 01. Introdução ao Linux

Introdução ao Linux. Professor Breno Leonardo G. de M. Araújo

Software de sistema Software aplicativo

INTRODUÇÃO À LINGUAGEM C/C++

UFRJ IM - DCC. Sistemas Operacionais I

Estrutura de um Sistema Linux Moderno Padrões de um Sistema Linux. Prof. Claudio Silva

Escola Adalgisa de Barros

Introdução a Computação

Sistemas Operacionais

Agenda. Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão

Curso de Instalação e Gestão de Redes Informáticas

Projeto de extensão Linux no Campus

Administração de Sistemas Operacionais

Linux pra mim, Linux pra você!

MF = (M1 * 0,4) + (M2 * 0,6) MF < 6 MF = (MF * 0,6) + (EXA * 0,4)

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

Curso de Linux Básico

Linux, Windows, Antivírus, Teclado e .

Virtualização e Criação de uma rede Virtual utilizando Virtual Box Professor: João Paulo de Brito Gonçalves

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Sistema de Computação

Administração de Redes Linux. Unidade 1 - LINUX

Computação Instrumental

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Administração de Sistemas Livres. Prof. Lais Farias Alves

História do GNU/Linux

ESTUDO DE CASO WINDOWS VISTA

Transcrição:

CONCEITOS BÁSICOS UNIX/LINUX agosto/2014 Conceitos básicos em sistemas operacionais e arquitetura de computador. 1 - UNIX: DEFINIÇÃO O Unix teve origem no projeto MULTICS 1, que por ser complexo demais nunca saiu do ambiente acadêmico. O termo UNICS vem, inicialmente, pela simplificação do MULTICS num UNICS [de Uniplexed e não Multiplexed]. Como a palavra Unics é uma paródia [e também uma brincadeira], logo o nome evoluiu para Unix. No início, por volta de 1969, Unix era um sistema operacional desenvolvido por um grupo de funcionários da AT&T 2 no Bell Labs 3. Entre esses funcionários estavam Ken Thompson, Dennis Ritchie e Douglas Mcllroy. A primeira versão do Unix veio em 1971, e rodava em máquinas DEC 4 e Mainframes. A popularidade veio com a versão V6, de 1975, a primeira disponibilizada fora dos domínios da Bell Laboratories. Nessa época, a Universidade de Berkeley havia comprado o código fonte do Unix. Em 1973 o Unix foi reescrito em C, linguagem essa criada especificamente para reescrever o código fonte do Unix. Em 1979 foi portado para máquinas VAX da DEC. Atualmente, o termo Unix é uma marca registrada do The Open Group 5, e os sistemas Unix se dividem em vários ramos de sistemas criados e suportados por diversos vendedores. Inicialmente o Unix era um sistema aberto, apropriado ao ambiente acadêmico, daí a sua popularidade. Posteriormente diversas empresas surgiram, cada uma suportando o seu Unix. E para garantir a não fragmentação da arquitetura Unix em diversos sistemas operacionais incompatíveis entre si, foi criado o padrão ou comitê POSIX. O POSIX, Portable Operating System Interface for Unix, de 1988, é um conjunto de definições e convenções que padroniza a interface [linha de comando], o conjunto de bibliotecas dos sistemas Unix e as suas chamadas de sistema [system calls]. A partir do POSIX, é mais correto classificar os sistemas Unix como membros de uma família, isto é, família Unix. 1 MULTICS: Multiplexed Information and Computing Service foi um computador bastante avançado para a sua época. O projeto teve início em 1964. 2 AT&T: American Telephone & Telegraph. 3 Bell Labs: Também conhecido como AT&T Bell Laboratories e Bell Telephone Laboratories. 4 DEC: Digital Equipment Corporation, posteriormente adquirida pela Compaq, que foi comprada pela HP. 5 The Open Group: É um consórcio da indústria de software para prover padrões abertos e neutros para a infraestrutura de informática. CONCEITOS BÁSICOS UNIX/LINUX www.jairo.pro.br 1/8

Posteriormente o padrão POSIX foi extendido pelo The Open Group, pela publicação da Single Unix Specification, que é uma família de padrões para sistemas operacionais qualificados para o nome Unix. Os sistemas não qualificados em acordo com a Single Unix Specification são chamados de Unix-like. Por exemplo, os sistemas AIX, HP-UX e Mac OS X são sistemas Unix registrados, já Linux e FreeBSD são Unix-like. Em 1992 os sistemas Unix foram adaptados para a arquitetura RISC 6. 2 - FAMÍLIA UNIX Após o POSIX, tecnicamente o Unix passa a ser tratado como uma família de sistemas operacionais. Essa família é composta tanto por membros proprietários quanto membros de código fonte aberto. Os principais membros dessa grande família são: Sistema Operacional Fabricante Arquitetura do computador Solaris [SunOS] Sun 7 Microsystems [proprietário] RISC - processador Sparc AIX IBM [proprietário] RISC - processador PowerPC HP-UX HP [proprietário] RISC - processador PA-RISC Linux Código fonte aberto [open source] todas FreeBSD Código fonte aberto [open source] todas Mac OS X Apple [proprietário]. Porém, o kernel XNU é open source Atual: x86 8. Anterior: RISC PowerPC Da tabela acima, a arquitetura do computador vem da época da adaptação do Unix para a arquitetura RISC, porém atualmente temos também Solaris rodando em CISC [x86] e HP-UX em EPIC [Itanium]. Linux foi portado para as seguintes arquiteturas de computador: Intel x86 [CISC], Alpha [DEC], Sparc, Motorola 68000, Power, MIPS [MIPS Technologies], PA-RISC, EPIC, AMD X86-64 e ARM. Apesar da definição de Unix como família de sistemas, no ambiente corporativo costuma-se ainda usar o termo "Unix" para os membros proprietários e Linux/FreeBSD para os de código fonte aberto. 6 RISC: Reduced Instruction Set Computer. 7 Em 2010 a Sun Microsystems foi comprada pela Oracle. 8 x86: é a linha de processadores da Intel, que é de arquitetura CISC. CONCEITOS BÁSICOS UNIX/LINUX www.jairo.pro.br 2/8

Mais recentemente, novos sistemas operacionais surgiram baseados nos sistemas Unix-like de código fonte aberto. É o caso do ios e Android. Sistema Operacional Fabricante Arquitetura do computador ios [iphone OS] Apple [proprietário]. Porém, o kernel XNU 9 é open source ARM 10 Android Open Handset Alliance 11 [open source] ARM, x86 O ios é baseado no Mac OS X. O kernel [núcleo do sistema operacional] do Mac OS X é XNU, que é um híbrido entre kernel FreeBSD e kernel Mach. Darwin também é considerado kernel, porém trata-se do kernel XNU acrescido de outras porções do sistema. Tanto FreeBSD quanto Mach são Unix-like, já o Mac OS X é um sistema Unix registrado. Por sua vez, o ios é Unix-like. O Android usa o kernel Linux, com algumas modificações. No entanto, Android não é Unixlike, mas pode-se dizer que é baseado no Linux. Tanto ios quanto Android são sistemas desenvolvidos para equipamentos portáteis como celulares, tablets e ultrabooks 12. Em julho de 2014, o Android já vendeu um bilhão de smartphones e tem uma fatia de 80% no mundo. Atualmente, já são vendidos mais smartphones do que celulares comuns, e esse percentual está aumentando rapidamente. O crescimento do segmento portátil tem sido muito rápido nos últimos anos. Entre outras funções, os portáteis podem ser usados para navegar na internet. No início de 2012, os portáteis representavam 9% do tráfego na web global [9% de browser market share], no final de 2013 representavam 26%. Em 2014, nos Estados Unidos, já representam mais de 50% do tráfego na web. A persistir esse crescimento, dentro de poucos anos irá desaparecer a figura do desktop usado quase que exclusivamente para acessar a internet. No mundo inteiro, no final de 2012 havia cerca de 1,1 bilhão de smartphones, e estima-se que em 2018 já serão cerca de 3,5 bilhões (atualmente a população do mundo é de 7 bilhões). Voltando ao Unix e considerando a popularidade dos novos sistemas derivados e baseados nele, é fácil concluir que essa família continua bem atual, embora tenha mais de 40 anos de idade. 3 - LINUX O nome Linux vem em homenagem a Linus Torvalds, o estudante de Ciência da 9 XNU: é um acrônimo e significa X is Not Unix. 10 ARM: significa Advanced RISC Machine e pertence à empresa ARM Holdings. Difere do RISC tradicional por ter apenas 32 bits e consumir pouca energia. É uma arquitetura específica para equipamentos portáteis. 98% dos celulares do mundo usam processador ARM. 11 Open Handset Alliance: Google, HTC, Dell, Intel, Motorola, Qualcomm, Texas Instruments, LG, Samsung, T- Mobile e Nvidia. 12 Ultrabook é um conceito de notebook/netbook mais fino, leve, de baixo consumo de energia e armazenamento de dados em memória flash. CONCEITOS BÁSICOS UNIX/LINUX www.jairo.pro.br 3/8

Computação da Universidade de Helsinki na Finlândia que criou esse sistema em 1991. Na verdade, Linus partiu do Minix 13 e tentou "melhorá-lo". A idéia era ter um Unix-like completo no PC, uma máquina bastante acessível já nessa época. O mesmo não podia ser dito dos RISC onde rodavam os Unix. No entanto, Linus teve problemas para conseguir finalizar o seu intento, então disponibilizou o projeto na internet e convidou algumas pessoas a ajudá-lo. Esse fato trouxe um grande número de colaboradores e soluções, além de uma massa de usuários ao redor do globo. Esses fatores reunidos permitiram rapidamente tornar o Linux um sistema enxuto, rápido, moderno e eficiente. Posteriormente obteve relativa popularização e uso. A licença de uso do Linux é GNU General Public License. Linus criou o Linux a partir do Minix, um sistema operacional também de código fonte aberto criado pelo professor Andrew S. Tanenbaum em 1987. A proposta do Minix era ser um clone aberto do Unix. O Linux é aderente ao padrão ou comitê POSIX [Portable Operating System Interface for Unix, de 1988]. Todo sistema aderente ao POSIX é dito membro da família Unix. Sabemos hoje que o maior mérito de Linus Torvalds não foi a criação do Linux, mas principalmente o modelo aberto e colaborativo que ele inaugurou pela internet para conseguir resolver os problemas do sistema. Esse modelo colaborativo foi posteriormente copiado por outros grupos de desenvolvimento. Tecnicamente, Linux é apenas um kernel [núcleo do sistema operacional]. O código fonte está disponível, sem custo, em http://www.kernel.org. Compilar um kernel para determinada arquitetura de computador não é tarefa trivial. Por isso, as distribuições Linux vieram para simplificar a vida do usuário, e também para facilitar a tarefa de divulgação do Linux 14. 13 Minix: é o sistema operacional Unix-like criado pelo professor Tanenbaum em 1987, com propósitos educacionais. O Minix roda em PCs, ao contrário dos Unix proprietários que rodam na arquitetura RISC. 14 O que nem sempre é verdade, pois algumas distribuições são tão amadoras que denigrem a imagem do pinguim. CONCEITOS BÁSICOS UNIX/LINUX www.jairo.pro.br 4/8

4 - DISTRIBUIÇÃO LINUX Sendo Linux apenas um kernel, não tem como um leigo baixar o código fonte, compilar, instalar e usar na sua máquina. Desse modo, surgiram empresas e projetos comunitários com a intenção de facilitar essa tarefa de instalar e usar Linux. Numa definição, distribuição Linux é o conjunto formado pelo kernel Linux, software aplicativo, utilitários mais um instalador. Esse conjunto é criado e mantido por organizações comerciais ou mesmo projetos comunitários. De um modo geral, as distribuições comerciais tem por intenção vender licença de uso ou suporte ao sistema. Partem de um produto com custo zero [open source] e o que puderem vender será lucro. Mas as distribuições Linux também desenvolvem software, em acordo com as suas necessidades [por exemplo, suporte a harware], e desse modo contribuem com www.kernel.org. E também contribuem com suporte financeiro para www.kernel.org continuar mantendo as suas atualizações no kernel. O desenvolvimento do Linux atualmente continua sendo colaborativo [como no início em 1991], porém agora o desenvolvedor é basicamente um profissional pago por alguma empresa. Isso mostra que a filosofia open source não é incompatível com o mundo dos negócios. Numa visão de mercado, distribuição Linux é uma empresa que junta o kernel Linux, aplicações, utilitários e um instalador amigável num pacote. O objetivo comercial é vender tanto licenças de uso de software (isto é, o sistema 15 ) quanto contrato de suporte. Nesse pacote, geralmente é incluído apenas software de código fonte livre, porém em algumas distribuições encontramos inclusive software proprietário. Exemplos de distribuições Linux: Red Hat [www.redhat.com], é voltada para o segmento servidor. A versão para desktop é o Fedora. CentOS [www.centos.org], é mantido basicamente pelo "reempacotamento" do código disponibilizado pela Red Hat. A lógica dessa distribuição é não cobrar licença de uso, ao contrário do que faz a Red Hat. Suse [www.novell.com/linux], é voltada para o segmento servidor. Para entrar nesse segmento, a Novell comprou a distribuição Suse. Mandriva [www.mandriva.com] é voltada para o segmento desktop. Essa distribuição surgiu da fusão da Mandrake [França] com a Conectiva [Brasil]. Debian [www.debian.org] voltada para o segmento desktop. Tem a tradição de não incluir software proprietário. Slackware [www.slackware.com] voltada para o segmento desktop. Tem a tradição de usar muito a linha de comando. 15 As distribuições Red Hat e Suse [Novell] cobram licença de uso. CONCEITOS BÁSICOS UNIX/LINUX www.jairo.pro.br 5/8

Ubuntu [www.ubuntu.com] voltada para o segmento desktop. Existem centenas de distribuições Linux. A maior parte delas é baseada em alguma citada acima. Para manter todas as distribuições Linux compatíveis entre si foi criado o LSB [Linux Standard Base]. LSB padroniza a estrutura interna da distribuição. De certo modo, LSB é uma extensão do POSIX que é aplicada especificamente ao Linux. O objetivo da LSB é promover um conjunto de padrões que aumentarão a compatibilidade entre as distribuições Linux, permitindo que uma mesma aplicação para Linux seja instalada e rode em qualquer distribuição. A LSB especifica bibliotecas padrão, comandos, utilitários, hierarquia do sistema de arquivo e níveis de execução, entre outros. NOTA: Não são apenas as distribuições Linux que contribuem com www.kernel.org. Por exemplo a Google, no processo de porte [adaptação] do Linux para um celular, precisou desenvolver soluções, que poderão ser incorporadas ao código do kernel Linux. É essa lógica de economia no desenvolvimento que efetivamente garante um rápido crescimento em uso dos sistemas de código fonte aberto. 5 - ARQUIVOS EM UNIX Em Unix, os arquivos são classificados como regulares, diretórios e especiais. Os arquivos que guardam conteúdo são os regulares, e podem ser binários ou texto. Por exemplo, o arquivo /etc/passwd é um arquivo de texto, já o arquivo /bin/ls é binário. Os arquivos que tratam da organização dos dados no sistema de arquivo são os diretórios. Por exemplo, /etc. Já os arquivos do tipo especial são os que associam dispositivos de hardware ao sistema hierárquico de arquivo. No Unix não existe, por exemplo, unidade de disco, portanto o dispositivo físico está associado a um arquivo do tipo especial. No diretório /dev é onde estão os arquivos especiais, por exemplo /dev/sda1. Desse modo, no Unix tudo passa a ser tratado como arquivo, por exemplo, acessar a um dispositivo é acessar a um arquivo do tipo especial. CONCEITOS BÁSICOS UNIX/LINUX www.jairo.pro.br 6/8

6 - CARACTERÍSTICAS DOS SISTEMAS UNIX As características do Unix são: multiusuário, multitarefa, portável e sistema de arquivo hierárquivo e montável. Multiusuário é a capacidade de permitir a mais de um usuário acessar ao sistema simultaneamente. Multitarefa é a capacidade de executar mais de uma tarefa simultaneamente. Portável pois foi escrito na lingugam C, linguagem essa criada para (re)escrever o código do Unix. Desse modo, para portar o Unix para outra arquitetura de computador, o pré-requisito básico é que nessa máquina tenha um compilador C. Numa visão simplificadora, basta compilar o código do sistema Unix nessa máquina que ele terá sido portado. Sistema de arquivo hierárquico e montável diz respeito à estrutura hierárquica do sistema de arquivo, com seus diretórios e sub-diretórios associados aos dispositivos [devices] com sistema de arquivo, os quais são montados [anexados] a determinados pontos no sistema hierárquico. A figura abaixo mostra o sistema hierárquico de arquivo associado [montado] em dois pontos de montagem: dispositivo /dev/sda1 no / [barra] e /dev/sda2 no /home. Os principais diretórios básicos são: /etc/, /bin, /usr, /lib, /tmp, /sbin, /home e /dev. De um modo geral, esses diretórios básicos [além de outros] aparecem em todos os sistemas da família Unix. No /etc é onde estão as configurações do sistema, na forma de centenas de arquivos de texto. No /bin é onde estão os executáveis básicos do sistema. Esses executáveis são os comandos Unix. No /usr é onde estão os recursos, o nome vem de unix system resources. No /var é onde são guardados dados que variam à medida que o sistema roda. Nesse diretório estão, entre outros, os arquivos de log do sistema. Dispositivo de armazenamento de dados /dev/sda1 Dispositivo de armazenamento de dados /dev/sda2 / /bin /etc /usr /var /lib /tmp /sbin /home /dev/sda1 No /lib é onde estão as bibliotecas do sistema. O /tmp é um diretório público, onde todo usuário tem permissão de escrita. No /sbin estão executáveis do sistema, que normalmente não são executados pelos usuários CONCEITOS BÁSICOS UNIX/LINUX www.jairo.pro.br 7/8

e sim pelo root [administrador do sistema]. No /home estão os diretórios homes dos usuários, por exemplo /home/aluno. No /dev é onde estão os arquivos do tipo especiais. Os arquivos especiais relacionam os dispositivos [hardware] ao sistema hierárquico de arquivos. CONCEITOS BÁSICOS UNIX/LINUX www.jairo.pro.br 8/8