Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo
Servios do Sistema Operacional
Gerenciamento de Processos Gerenciamento de Memria Gerenciamento de Arquivos Gerenciamento de Redes Gerenciamento de Segurana
Sistemas Operacionais
Sistema Operacional
O sistema operacional um software que gerencia e compartilha os recursos de um computador O sistema operacional executa tarefas bsicas como:
Gerenciamento de Processos Gerenciamento de Memria Gerenciamento do Sistema de Arquivos (Discos) Gerenciamento de Redes Gerenciamento da Segurana
SO - Servios
Gerenciamento de Processos
Todo programa executado em um computador considerado um processo SOs modernos permitem a execuo concorrente de vrios processos (multitasking) O gerenciamento de processos a atividade desempenhada pelo SO que distribui tempo de CPU entre os processos Muitos sistemas operacionais permitem atribuir prioridades a processos
Exemplo: visualizando processo atravs do top e Activity Monitor
A maioria dos sistemas operacionais disponibilizam uma aplicao que prov uma interface para os recursos gerenciados pelo SO (interpretador de comando) O sistema operacional uma plataforma para outros softwares
SO - Servios
Gerenciamento de Processos
Multitarefa (time-sharing)
Mtodo pelo qual mltiplas tarefas (processos) compartilham recursos de processamento como CPUs Em computadores com uma nica CPU, apenas uma tarefa pode ser executada por vez A multitarefa resolver este problema controlando a tarefa que deve ser executada em um dado momento e quando uma outra tarefa que est aguardando deve entrar em execuo O ato de atribuir CPU de uma tarefa para outro chamado de context switch Quando ocorre um context switch temos a iluso de paralelismo Mesmo em computadores com mais de uma CPU (mquinas multiprocessadas) a multitarefa permite a execuo de mais tarefas do que a quantidade de CPUs
SO - Servios
Gerenciamento de Processos
Multitarefa (time-sharing)
SO - Servios
Gerenciamento de Processos
Multitarefa (time-sharing)
SO - Servios
Gerenciamento de Processos
Multitarefa Cooperativa
Em sistemas multitarefa mais antigos as aplicaes cediam voluntariamente tempo de processamento umas para as outras Esse mtodo conhecido como multitarefa cooperativa (cooperative multitasking) Raramente utilizando em sistemas de grande porte:
Microsoft Windows antes do Windows 95 e Windows NT Mac OS antes do Mac OS X
SO - Servios
Gerenciamento de Processos
Multitarefa Cooperativa
Como a multitarefa cooperativa cada processo responsvel por ceder tempo para outro processo:
Um programa mal projetado pode comprometer o desempenho de todo o sistema (hung process) Pode resultar no uso ineficiente dos recursos do sistema
SO - Servios
Gerenciamento de Processos
Multitarefa Preemptiva
A multitarefa preemptiva permite uma melhor distribuio de tempo de CPU para os processos - distribuio controlada pelo SO Alm disso, d ao sistema maior agilidade no tratamento de eventos externos importantes
Ex.: entrada de dados que necessita da ateno imediata de um determinado processo
Para resolver estes problemas os sistemas timsharing evoluram para um modelo mais avanado conhecido como multitarefa preemptiva (preemptive multitasking)
SO - Servios
Gerenciamento de Processos
Multitarefa Preemptiva
Em sistemas mais antigos os processos ficavam parados (busywait) enquanto aguardavam uma requisio de entrada (disco, teclado, rede) Durante este tempo o processo no executava nenhuma atividade til, mas mantinha completo controle da CPU Com o surgimento de interrupes e a multitarefa preemptiva os processos I/O bound, podem ser colocados em espera permitindo que outros processos utilizem a CPU
SO - Servios
Gerenciamento de Memria
As arquiteturas atuais de computadores organizam a memria de um computador de forma hierrquica, comeando da mais rpida para a mais lenta:
Registers (resgistros): internas a CPU Cache: tipo especial de memria utilizada por muitas CPUs para melhorar o desempenho Random Access Memory (RAM): contm o programa que est sendo executado e seus dados. Conectada diretamente a CPU atravs de Barramento de Memria (BUS Memory) Disco: memria secundria utilizada para armazenar dados persistentes
O gerenciamento de memria realizado pelo SO coordena estes vrios tipos de memria, verificando qual est disponvel, qual deve ser alocada ou desalocada e como os dados so trocados entre elas (gerenciamento de memria virtual)
SO - Servios
Gerenciamento de Arquivos
Todos os sistemas operacionais incluem suporte a uma variedade de sistemas de arquivos:
Linux: ext2, ext3, XFS, JFS, etc Windows: FAT32, NTFS, etc
SO - Servios
Gerenciamento de Arquivos
O sistema de arquivos pode suportar journaling, que permite restaurao caso o sistema falhe
Neste modelo o sistema escreve a informao em um log de operaes (jornal) e depois no sistema de arquivos Caso ocorra falha o sistema poder restaurar o estado consistente atravs do jornal
SO - Servios
Gerenciamento de Redes
A maioria dos sistemas operacionais so capazes de utilizar os protocolos de rede da arquitetura TCP/IP Isto significa que um sistema pode se conectar a uma rede e compartilhar recursos como arquivos, impressoras, etc As conexes pode ser atravs de cabeamento ou wireless Sistemas operacionais podem suportar protocolos proprietrios (Ex.: SNA da IBM, etc)
SO - Servios
Gerenciamento de Segurana
A maioria dos sistemas operacionais implementam um modelo de segurana allow/disallow (permite/no permite) Sistemas com altos nveis de segurana podem fornecer um mecanismo de auditoria
A auditoria permite rastrear as requisies para acesso a recursos (Quem realizou alteraes neste arquivo?)
SO - Servios
Gerenciamento de Segurana
Segurana Interna
A segurana interna compreende a proteo dos recursos computacionais imposta aos programas que esto sendo executados concorrentemente no sistema
Geralmente, programas com menos privilgios so bloqueados de utilizar diretamente certas instrues de hardware (Ex.: ler e escrever em dispositivos externos discos rgicos) Para acessar estes recursos, estes programas devem solicitar permisso ao sistema operacional O sistema operacional ir checar a identidade do programa e ir permitir ou recusar a requisio
SO - Servios
Gerenciamento de Segurana
Segurana Externa
Um sistema operacional (ou host) moderno oferece vrios servios a outros computadores ou usurios da rede Estes servios so disponibilizados em portas (ou pontos de acesso) atravs do endereo de rede do sistema Estes servios incluem:
Compartilhamento de arquivos Servios de impresso Email Transferncia de arquivos (FTP), etc
A segurana interna especialmente til em sistemas multi-usurios (permite que usurios do sistema possuam arquivos privados que outros usurios no possam acessar)
Exemplo: permisses de arquivos do Linux/Mac OS X
SO - Servios
Gerenciamento de Segurana
Segurana Externa
Na linha de frente da segurana esto os dispositivos conhecidos como firewalls Os sistemas operacionais mais modernos incluem um software firewall (que habilitado por default) Um software firewall pode ser configurado para permitir ou negar trfego de rede para um servio ou aplicao que est sendo executado no sistema
Exemplo: visualizando firewall do Mac OS X
SO - Servios
Interface Grfica
Os sistema operacionais implementam Graphical User Interfaces (GUI) de duas formas:
Integradas ao kernel: Windows e verses anteriores do Mac OS Como um subsistema separado do kernel (modular): Linux
Neste modelo o usurio define a interface que deseja utilizar: X Window + GNOME | KDE
SO Atuais
Unix-like
O grupo Unix-like possui diversos sistemas operacionais: BSD, Linux, etc Sistemas Unix podem ser executados em uma variedade de arquiteturas de hardware Geralmente so utilizados em servidores e no em workstations Algumas variaes com HP-UX e IBM AIX so executados apenas em hardware proprietrio Outras variaes como Solaris podem ser executados em vrios tipos de hardware, incluido hardware x86
SO Atuais
Microsoft Windows
Foi originado como uma camada grfica sobre o antigo MSDOS Verses mais modernas so baseadas no Windows NT que era baseado no OS/2 O Windows pode ser executado em processadores Intel e AMD de 32-bit ou 64-bit Em julho de 2007 a Microsoft possuia 92.86% do market share de desktops A alguns anos a Microsoft tem investido pesado em pesquisa e desenvolvimento, resultando em um excelente preo/desempenho e aceitao do mercado corporativo A verso mais utilizada o Windows XP, lanado em 25 de Outubro de 2001 Em Novembro de 2006, aps 5 anos de desenvolvimento, foi lanado o Windows Vista que contm um grande nmero de novas funcionalidades e alteraes na sua arquitetura
SO Atuais
Mac OS X
O Mac OS X um sistema operacional grfico proprietrio da Apple Inc. que distribuido com todos os computadores da marca O Mac OS X sucessor do Mac OS, sistema operacional principal desde 1984 Diferente de seu predecessor, o Mac OS X um sistema Unix-like que foi desenvolvido pela NeXT na segunda metade de 1980 e que foi comprada pela Apple em 1997 Seu primeiro lanamento foi em foi em 1999 com a verso Mac OS X Server 1.0 Sua verso desktop foi lanada em Maro de 2001 Mac OS X v10.0 A verso atual o Mac OS X v10.4 que foi lanada em abril de 2005 e conhecida como Tiger Em outubro de 2007 a Apple lanou o Mac OS X v10.5 conhecido como Leopard
Linux
Estudo de Caso
1 - Introduo
1 - Introduo
1.1 Histrico 1.2 Principais caractersticas 1.3 Termos importantes 1.4 Usurios 1.5 Arquivos e Diretrios
2- Principais Comandos
2.1 Iniciando e Finalizando uma Sesso 2.2 Obtendo Help 2.3 Comandos Bsicos
Manipulao de Arquivos Manipulao de Diretrios Comandos Diversos
Multitarefa
Um nico usurio pode requisitar que sejam executados vrios comandos ao mesmo tempo em seu terminal. de responsabilidade do Linux controlar estas execues paralelas (processos background e processo foreground)
Multiusurio
O Linux pode controlar o acesso ao sistema atravs de vrios terminais, virtuais ou reais, cada um pertencendo a um usurio. O Linux aceita as requisies de comandos de cada um dos usurios e gera as filas de controle e prioridades para que haja uma distribuio correta dos recursos de hardware necessrios a cada usurio
O shell bash possui vrias caractersticas. Por exemplo completar comandos atravs da tecla TAB.
- Utilizando o TAB
Comando
Um comando Unix/Linux nada mais que um arquivo (programa executvel) guardado em um diretrio especfico do sistema. Portanto quando o usurio executa um comando, ele simplesmente est rodando um programa como qualquer outro do sistema.
1.4 Usurios
Existem dois tipos de usurios: normal e super-usurio
Normal: acesso limitado ao sistema de acordo com as permisses configuradas Super-usurio ou root: possui poder supremo sobre toda a mquina. O esquema de permisses e segurana do Linux no se aplica ao root
Quase sempre as opes dos comandos so precedidas pelo caractere "-" (menos) ou "+" (mais) e podem entrar em qualquer ordem e posio na linha de comando, mas sempre antes dos argumentos (h poucas excees). Na maioria das vezes as opes so representadas por letras, podendo agrupar uma srie de letras em uma nica opo. Por exemplo, as opes "-w -l -c" do comando wc podem ser escritas como "-wlc"
Um arquivo oculto no Linux identificado por um . Para identificar tipos de arquivos pode ser utilizado extenses:
Texto: relatorio.txt Script: script.sh Pgina da Internet: index.html
Binrio:
seu contedo s pode ser entendido por computadores Gerado atravs de um arquivo de programa (texto) atravs de um processo chamado compilao. A compilao a converso de um programa em linguagem humana para a linguagem de mquina
O diretrio home do usurio o seu local de incio de sesso de trabalho (via shell ou interface grfica) O usurio possui plenos poderes de acesso ao seu diretrio home (e seus sub-diretrios), e normalmente no pode criar arquivos fora dele. O diretrio home de cada usurio normalmente inacessvel aos outros usurios, mas isso pode ser controlado pelo administrador do sistema (root).
2 - Principais Comandos
2.1 Iniciando e Finalizando uma Sesso 2.2 Obtendo Help 2.3 Comandos Bsicos
Manipulao de Arquivos Manipulao de Diretrios Comandos Diversos
Exerccios
1. Inicie uma sesso no terminal 2. Termine uma sesso com o comando exit. 3. Termine uma sesso com a instruo Ctrl-D
- Demonstrando man
Exerccios - Diretrios
1. 2. 3. 4. 5. 6. 7. 8. V para o diretrio home do seu usurio Liste o diretrio que voc se encontra Crie o diretrio teste1 Crie o diretrio teste2 e teste3 com um mesmo comando Entre no diretrio teste1 Liste o diretrio que voc se encontra Suba um diretrio (..) e entre imediatamente no diretrio teste2 Liste o diretrio que voc se encontra
10
Exerccios - Arquivos
1. Crie um arquivo chamado /home/seu usurio/teste2/arquivo1.txt com o seguinte contedo:
Linha1 Linha2 Linha3 <b> Linha4 <b> <b> Linha5 <b> <b> <b> <b> <b> Linha6 <b> <b> <b> <b>
Exerccios - Arquivos
2. Mostre o contedo do arquivo arquivo1.txt com o comando cat 3. Mostre o contedo do arquivo arquivo1.txt com o comando cat apresentando o nmero das linhas 4. Mostre o contedo do arquivo arquivo1.txt com o comando cat apresentando no mais do que uma linha em branco entre os pargrafos 5. Copie o arquivo arquivo1.txt para o diretrio teste1 com o nome de arquivo2.txt
11
Exerccios - Arquivos
6. Copie o arquivo teste1/arquivo2.txt para /teste1/arquivo1.txt 7. Mova o arquivo teste1/arquivo2.txt para o diretrio teste3 8. Altere o nome do arquivo arquivo2.txt para arquivo3.txt 9. Remova o diretrio teste318) Remova o diretrio teste2 com todos os seus arquivos
Exemplos: df, df -h
Exerccios - Diversos
Para cada comando apresentado abaixo apresente sua definio, sua sintaxe, suas principais opes e exemplos
Exemplos: du -h , du -hc
12
2.4 Permisses
As permisses de acesso protegem o sistema de arquivos do Linux contra acessos indevidos (pessoas e programas) O princpio da segurana do sistema de arquivos controlar o acesso aos arquivos por proprietrios (dono), grupos e outros usurios
Grupo:
Permite o agrupamento de usurios. Permisses de acesso podem ser definidas para grupos
13
: Inclui permisso de execuo do arquivo teste.txt para o dono e os outros usurios do arquivo
Exerccios
1. 2. 3. 4. 5. Crie um arquivo texto chamado permissao.txt no diretrio home do seu usurio Liste este arquivo mostrando as suas permisses Altere as permisses deste arquivo para que o grupo tenha permisso de escrita Altere as permisses deste aquivo para que os outros usurios tenham permisso de leitura Defina as permisses apresentadas abaixo: drwxr-x--- 2 helder dba teste1 -rwxrwxr-- 2 helder dba arquivo1.txt
O comando kill pode ser utilizado para enviar qualquer sinal (isolado envia TERM)
Exemplo: Kill - sinal PID
kill -STOP 4220 Kill -CONT 4220 Kill -STOP -1 (todos os processos)
14
renice +19 -u helder Neste caso foram alteradas as prioridades dos processos do usurio helder
Exerccios
Pesquise e descreva o funcionamento do comando top para anlise de processos
ps opo
Onde:
a: mostra todos os processos existentes e: exibe as variveis de ambiente relacionadas aos processos m: mostra a quantidade de memria utilizada pelos processos l: exibe mais campos no resultado u: exibe usurio que iniciou o processo x: exibe os processos que no esto vinculados ao console
Exemplo
ps aux
15