IFSC - SJ CURSO TÉCNICO DE TELECOMUNICAÇÕES DISCIPLINA: MAN / SOP
Conceitos relativos a um Sistema Operacional
Sistema Operacional O Sistema Operacional é um programa especial que gerencia todos os recursos da máquina, tais como memória, processador, unidade de disco, teclado, vídeo (monitor), mouse, entre outros.
Sistema Operacional SISTEMA OPERACIONAL Gerência de todos os recursos da Máquina Carrega e executa programas Controla dispositivos de I/O (IN/OUT Entrada/Saída) Gerencia arquivos, diretórios e processos Gerencia a RAM Carregado para a RAM no processo de BOOT (após testes!) Ex.: Unix, Linux, Windows nas suas várias derivações (incorpora o MS- DOS), FreeBSD, OS/2, VM/CMS, e outros.
Processo de Boot É a carga do sistema operacional, a partir da memória secundária ( hd, cd, dvd, pendrive) para a memória RAM principal; Um pequeno programa executa esta tarefa. Este não faz parte necessariamente do Sistema Operacional. Ex: Lilo, GRUB
Classificação de um OS quanto aos usuários Monousuário: apenas um usuário interagindo com o sistema. Multiusuário: diversos usuários conectam-se ao sistema simultaneamente.
Classificação de um OS quanto a execução de tarefas Monotarefa e Multitarefa Monotarefa: apenas um programa pode ser executado de cada vez. Caracterizam-se por permitir que o processador, a memória e os periféricos permaneçam exclusivamente dedicados à execução de um único programa. Enquanto um programa aguarda por um evento o processador permanece ocioso. A memória é sub-utilizada caso o programa não a preencha totalmente. Simples implementação por não haver preocupação com problemas decorrentes de compartilhamento de recursos. Ex.: MS-DOS
Classificação de um OS quanto a execução de tarefas Multitarefa: vários programas podem ser executados ao mesmo tempo. Várias aplicações compartilham os mesmos recursos. O S.O. se preocupa em gerenciar o acesso concorrente aos seus diversos recursos. Redução do tempo de resposta das aplicações processadas e de custos. Mais eficientes mas de implementação mais complexa. Ex: Windows, Linux
Classificação de um OS quanto a Interface com o Usuário Interface por linha de comando: quando o usuário tem que digitar o comando por extenso na tela do computador. A comunicação, em geral é feita em modo texto. Preferencialmente utilizada por especialistas. Interface gráfica para usuários (GUI): quando os comandos são executados em um ambiente gráfico com o uso do mouse. Voltada principalmente para o usuário final.
Conceitos utilizados/criados por um Sistema Operacional Arquivos e Diretórios Processos / Tarefas Usuários e Grupos de Usuários
E surge o LINUX... Desenvolvido inicialmente por Linus Torvalds na Universidade de Helsinski na Finlândia. O Linux é o um sistema operacional baseado no Unix que foi combinado com os aplicativos oriundos do Projeto GNU, sendo então denominado GNU/Linux. O nome Linux é uma mistura do primeiro nome do criador com o nome Unix ( Linus + Unix = Linux ). É um software livre: A liberdade de executar o programa, para qualquer propósito; A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades; A liberdade de redistribuir cópias de modo que você possa beneficiar o próximo; A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie.
Distribuição UBUNTU As distribuições GNU/Linux são maneiras diferentes de agrupar vários softwares aplicativos e utilitários sobre o sistema operacional Linux de maneira que mais facilmente possam ser utilizados pelo usuário final. Nas nossas aulas utilizaremos a Distribuição UBUNTU. O UBUNTU é um sistema operacional baseado em Linux, distribuído livremente para uso em desktops, uso corporativo e servidores.
Funções básicas do Linux Criar e manipular uma estrutura de arquivos e diretórios. Controlar o acesso à memória e outros dispositivos controlados pelo microprocessador tais como monitor, teclado, impressora, etc. Gerenciar a execução de programas, trazendo-os da memória para o microprocessador
Características do Linux Portabilidade para outras máquinas Multiusuário e Multitarefa Estrutura hierárquica de arquivos Vasta gama de ferramentas e utilitários, Comunicação com outros sistemas,
Características do Linux Suporta o X Window System (protocolo e software que possibilita o emprego de uma interface gráfica com o conceito de janelas)( o conceito de janela não é embutido no kernel ) TCP/IP (Transmission Control Protocol / Internet Protocol); Gerenciamento de Memória Virtual; Software Livre (binário, fonte etc);
Núcleo do Sistema Operacional KERNEL é o núcleo do SO Linux Ele é carregado na memória e permanece residente em modo protegido. Através dele o usuário possui o acesso aos recursos oferecidos pelo hardware (o computador em si). Todo o gerenciamento de memória, dispositivos, processos, entre outros são coordenados pelo kernel Ele tem duas funções básicas: 1 Gerenciamento de dispositivos 2 Gerenciamento de processos
Processos no Linux Quando um programa ou utilitário é executado, passa a se chamar processo. Cada processo iniciado possui um estado indicando sua condição (em execução, parado, interrompido, etc) e uma prioridade. Com base nas informações sobre os processos em andamento, a CPU precisa escalonar os processos para dedicar a cada um, um determinado tempo.
Estados do Processo Execução (running) -> processo está sendo executado pelo processador. Pronto (ready) -> está aguardando apenas para ser executado. Espera ou Bloqueado (wait) -> aguarda por algum evento externo ou por algum recurso para prosseguir seu processamento. Novo -> o processo está sendo criado. Terminado -> o processo terminou sua execução.
Sessão de Login Controle de acesso a um determinado usuário Deve-se fornecer o nome do usuário (USERID) e a senha de acesso (password) Case Sensitive Login: eraldo Password:********
O Interpretador de comandos SHELL O shell providencia uma interface de comunicação entre o kernel e o usuário. Esta interface consiste de uma linha de comando (ou prompt) na qual deve ser digitado o comando por extenso seguido por seus parâmetros (se tiver). $ ou # ou o que se quiser...
Variações do Shell O shell é um programa que se torna um processo comum ao se executar; O shell que deve ser executado para cada usuário é definido no arquivo /etc/passwd O shell utilizado no curso será o bash
Formato do comando no SHELL Nome do comando seguido de parâmetros separados por espaço em branco; Certos comando são interativos e outros nãointerativos. $ ls /etc
Encerrando a sessão de shell e de login Por motivos de segurança e as vezes de custo, deve-se sempre encerrar uma sessão de login; O comando logout encerra a sessão de login; O comando exit encerra uma sessão de shell; Login: eraldo <CR> Password:******<CR> $ logout <CR> Login: eraldo <CR> Password:******<CR> $ exit <CR>
Terminal Virtual (console) Terminal (ou console) é o teclado e tela conectados em seu computador. O GNU/Linux faz uso de sua característica multi-usuária usando os "terminais virtuais". Um terminal virtual é uma segunda seção de trabalho completamente independente de outras, que pode ser acessada no computador local ou remotamente via telnet, ssh, etc. No GNU/Linux, em modo texto, você pode acessar outros terminais virtuais segurando a tecla Ctrl + ALT e pressionando F1 a F6. Cada tecla de função corresponde a um número de terminal do 1 ao 6 (o sétimo é usado por padrão pelo ambiente gráfico X).
Árvore de Diretórios / lib bin home proc etc var joao maria bin include lib X11R6 alfa.txt docs alfa.txt
Árvore de Diretórios /bin Contém arquivos programas do sistema que são usados com freqüência pelos usuários. /boot Contém arquivos necessários para a inicialização do sistema. /dev Contém arquivos usados para acessar dispositivos (periféricos) existentes no computador. /etc Arquivos de configuração de seu computador local. /home Diretórios contendo os arquivos dos usuários. /lib Bibliotecas compartilhadas pelos programas do sistema e módulos do kernel. /media Ponto de montagem. ( cdrom, floppy, partição Windows) /proc Sistema de arquivos do kernel. /root Diretório do usuário root. /sbin Diretório de programas usados pelo superusuário (root) para administração e controle do funcionamento do sistema. /tmp Diretório para armazenamento de arquivos temporários criados por programas. /usr Contém maior parte de seus programas. Normalmente acessível somente como leitura. /var Contém maior parte dos arquivos que são gravados com freqüência pelos programas do sistema, e-mails, spool de impressora, cache, etc.
Diretório de Entrada Ao logar em uma conta, entra-se em um subdiretório do sistema LINUX, chamado diretório de entrada (home directory); Cada usuário possui o seu home directory ; O seu diretório de entrada estará dentro de um outro chamado home, tendo como sinônimo o caracter ~; O diretório de entrada é definido no arquivo /etc/passwd; Sempre que se entra no sistema, o LINUX, através do SHELL, define uma variável chamada HOME que identifica o seu diretório de entrada.
Diretórios Corrente O diretório corrente, ou de trabalho ( working directory ), é o diretório em que se está em um determinado momento. Todos os comandos são executados tendo como referência o diretório corrente, a menos que se especifique outro.
Nomes e Caminhos O caminho (absoluto), de um arquivo ou diretório é a lista de todos os diretórios que formam a ligação entre ele e o diretório -raiz. Ex: /home/maria/docs/alfa.txt O caminho relativo não começa com o diretório raiz, mas com o diretório mais próximo do diretório cujo caminho está sendo definido.
Exemplos de caminhos relativos Usando a variável HOME Usando o ~ Usando. E.. Usando o diretório imediatamente abaixo $ ls./docs alfa.txt ou $ ls docs alfa.txt $
Nomes de arquivos e diretórios É aconselhável começar com uma letra; Evitar usar caracteres especiais; Não usar espaços nos nomes dos arquivos (usar _ ou. ) LINUX faz diferença entre letras maiúsculas e minúsculas; Os nomes de arquivos devem ser exclusivos dentro de cada diretório.
Caracteres Especiais do Shell Estes caracteres são interpretados quando o Shell encontra-os durante o processamento da linha de comando; Eles são chamados Meta caracteres ou Coringas
Caracteres Especiais do Shell Asterisco O * substitui qualquer conjunto de caracteres. Ponto de interrogação O caracter? substitui qualquer caracter. Colchetes O símbolo [] contém uma lista de caracteres. Um dos caracteres dentro do colchetes será substituido
Exemplos $ ls *.c alfa.c Alfa.c a.c $ ls?.c a.c $ ls [a-a]lfa.c alfa.c Alfa.c