introdução ao uso do linux (parte 1)

56
Universidade do Estado do Rio de Janeiro Faculdade de Engenharia Laboratório de Engenharia Elétrica Introdução ao uso do Linux (parte 1) Autores: Elaine de Mattos Silva Raphael Guedes Orientador: Prof. José Paulo Vilela Soares da Cunha Rio de Janeiro, 23 de setembro de 2005 Programa de Estágio Interno Complementar do CETREINA/SR-1/UERJ

Upload: others

Post on 24-Oct-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução ao uso do Linux (parte 1)

Universidade do Estado do Rio de JaneiroFaculdade de Engenharia Laboratório de Engenharia Elétrica

Introdução ao uso do Linux (parte 1)

Autores: Elaine de Mattos Silva Raphael Guedes

Orientador: Prof. José Paulo Vilela Soares da Cunha Rio de Janeiro, 23 de setembro de 2005 Programa de Estágio Interno Complementar do CETREINA/SR-1/UERJ

Page 2: Introdução ao uso do Linux (parte 1)

Contatos

Apostila e apresentações disponíveis em:http://www.lee.eng.uerj.br/~elaine

e-mail de contato:[email protected]@lee.eng.uerj.br

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Page 3: Introdução ao uso do Linux (parte 1)

Objetivos do curso

Motivar o contato com Linux e outros Softwares

Livres

Difundir o uso do Linux entre os alunos de Engenharia Elétrica

Formar multiplicadores da cultura de software livre

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Page 4: Introdução ao uso do Linux (parte 1)

Organização deste curso

Aula 1 Software Livre Evolução dos sistemas operacionais Noções básicas

Aula 2 Principais comandos

Aula 3 Principais comandos (cont.) Programas de interface gráfica

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Introdução ao Uso do Linux. pt1

Page 5: Introdução ao uso do Linux (parte 1)

Aula 1 Software Livre/Linux

Por que usar Algumas aplicações

Evolução dos sistemas operacionais Um sistema computacional Sistemas Operacionais UNIX/Linux

Software Livre

Aula 1

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Page 6: Introdução ao uso do Linux (parte 1)

Aula 1 Noções básicas

Shell

Kernel Distribuições Interfaces Gráficas Sistemas de Arquivo Estrutura de Diretórios Modos de Permissão

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Aula 1 (cont.)

Page 7: Introdução ao uso do Linux (parte 1)

Acesso ao código fonte

Qualidade / baixo custo

Livre de pirataria

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Software Livre – Por que usar?

Page 8: Introdução ao uso do Linux (parte 1)

Algumas aplicações: Planilha feita com OpenOffice

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Page 9: Introdução ao uso do Linux (parte 1)

Algumas aplicações : Simulação de circuito com Scilab

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Introdução ao Uso do Linux. pt1

Page 10: Introdução ao uso do Linux (parte 1)

Um Sistema Computacional

Navegador de Internet Editor de texto

Sistema Operacional

Linguagem de Máquina

Microcódigo

DispositivosSoftware

Hardware

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Page 11: Introdução ao uso do Linux (parte 1)

Na década de 60

software que controla o hardware

Atualmente

camada de abstração de hardware gerenciador de recursos

Evolução dos Sistemas Operacionais

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Page 12: Introdução ao uso do Linux (parte 1)

Tarefas Principais

interface para o usuário

gerencia recursos de hardware entre programas

permite compartilhamento de dados entre usuários

facilita tarefas paralelas, etc

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Evolução dos Sistemas Operacionais(cont.)

Page 13: Introdução ao uso do Linux (parte 1)

Década de 40

máquinas de cálculo numérico 20.000 válvulas e relés programação através de conexões elétricas

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Evolução dos Sistemas Operacionais(cont.)

Page 14: Introdução ao uso do Linux (parte 1)

Década de 50

transistores substituem válvulas

programação em assembly ou ForTran (formula translator)

cartões perfurados computador central processamento em lotes

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Evolução dos Sistemas Operacionais(cont.)

Page 15: Introdução ao uso do Linux (parte 1)

Um cartão perfurado

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Page 16: Introdução ao uso do Linux (parte 1)

Década de 60

família System/360 da IBM

OS/360 – escrito em assembly

novos conceitos em programação

processamento em lotes

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Evolução dos Sistemas Operacionais(cont.)

Page 17: Introdução ao uso do Linux (parte 1)

Década de 60

M.I.T. desenvolve sistema CTSS

conceitos: terminal e processamento background

M.I.T./Bell Labs/G.E. criam MULTICS linguagem: PL/I da IBM

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Evolução dos Sistemas Operacionais(cont.)

Page 18: Introdução ao uso do Linux (parte 1)

Década de 60/70

Ken Thompson (Bell Labs)

MULTICS em assembly para DEC PDP-7

Brian Kernighan (Bell Labs) UNICS = UNIX

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Evolução dos Sistemas Operacionais(cont.)

Page 19: Introdução ao uso do Linux (parte 1)

PDP-7

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Page 20: Introdução ao uso do Linux (parte 1)

Ken Thompson e Brian Kernighan

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Page 21: Introdução ao uso do Linux (parte 1)

Década de 60/70

UNIX não era portável

Dennis Ritchie (Bell Labs)

aperfeiçoa linguagem B e chama de C Ritchie e Thompson

reescrevem UNIX em C

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Evolução dos Sistemas Operacionais(cont.)

Page 22: Introdução ao uso do Linux (parte 1)

Década de 70/80

Bell Labs subsidiária AT&T

não podia vender licença do Unix com código-fonte aberto surgiram

Berkeley Software Distribution - BSD

XENIX– Microsoft

AIX– IBM

HP-UX - HPIntrodução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Evolução dos Sistemas Operacionais(cont.)

Page 23: Introdução ao uso do Linux (parte 1)

Década de 70/80

quebra da AT&T em pequenos blocos fechado acesso ao código-fonte

IEEE cria padrão POSIX

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Evolução dos Sistemas Operacionais(cont.)

Page 24: Introdução ao uso do Linux (parte 1)

Década de 80/90

Andrew Tanenbaum MINIX: mini UNIX escrito em C código legível (feito para estudo de S.O.'s) sem aplicação comercial não é cópia do UNIX

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Evolução dos Sistemas Operacionais(cont.)

Page 25: Introdução ao uso do Linux (parte 1)

Década de 90

Linus Torvalds

LINUX: clone MINIX mais recursos aplicações comerciais

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Evolução dos Sistemas Operacionais(cont.)

Page 26: Introdução ao uso do Linux (parte 1)

Software Livre

1984 – Richard Stallman / M.I.T

caso da impressora

versões de código aberto para vários programas

criação da Free Software Foundation-FSF Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Page 27: Introdução ao uso do Linux (parte 1)

criação de vários softwares para sistemas UNIX-

Like

GNU*-Public License (GPL)

filosofia do software livre

*GNU – Gnu is Not Unix

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Software Livre (cont.)

Page 28: Introdução ao uso do Linux (parte 1)

Noções Básicas (cont.)

case sensitive

extensões de arquivos flexíveis e não obrigatórias

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Page 29: Introdução ao uso do Linux (parte 1)

sistema multiusuário conta de usuários

super usuário = root

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas (cont.)

Page 30: Introdução ao uso do Linux (parte 1)

Permissão de arquivos e diretórios

r – (read): leitura

w – (write) : escrita

x – (execute) : execução

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas (cont.)

Page 31: Introdução ao uso do Linux (parte 1)

Acesso direto aos dispositivos (diretórios)

Ex.: cd-rom: /dev/cdrom disco rígido primário: /dev/hda

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas (cont.)

Page 32: Introdução ao uso do Linux (parte 1)

Linux = kernel

kernel + aplicativos = distribuição

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Distribuições

Page 33: Introdução ao uso do Linux (parte 1)

Principais Distribuições: Debian

Debian-BR-CDD - versão brasileira voltada para usuários finais

Red Hat versão popular e base de outras distribuições

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Distribuições (cont.)

Page 34: Introdução ao uso do Linux (parte 1)

Mandrake

distribuição da empresa francesa Mandrakesoft fácil uso e bom número de aplicativos

Conectiva versão nacional originada da Red Hat voltada para o

mercado nacional recentemente a Mandrakesoft e a Conectiva se

fundiram e criaram a Mandriva.

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Distribuições (cont.)

Page 35: Introdução ao uso do Linux (parte 1)

Kurumin

versão nacional muito amigável baseada em Debian

Karioca projeto de graduação de aluno da UERJ

Slackware uma das primeiras distribuições (1993) similar ao UNIX, muito personalizável porém com

poucas ferramentas automáticas

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Distribuições (cont.)

Page 36: Introdução ao uso do Linux (parte 1)

parte central do S.O.

gerencia recursos da máquina (processos, memória, E/S)

pode ser considerado o Linux em si

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Kernel

Page 37: Introdução ao uso do Linux (parte 1)

Primeiro kernel (Torvalds) versão 0.02 Tipo de numeração atual

a. b. c – onde

a- série do kernel.

b- série do kernel – se ímpar, em desenvolvimento c - versão daquela série

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Versões do Kernel

Page 38: Introdução ao uso do Linux (parte 1)

Ex.:

série 2.6, versão 8

Noções Básicas : Versões do Kernel (cont.)

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Page 39: Introdução ao uso do Linux (parte 1)

shell – interpretador de comandos

inicializado após o login

interface kernel/usuário

acesso via terminal ou gráfico

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Shell

Page 40: Introdução ao uso do Linux (parte 1)

Principais Shells

Bourne Shell

desenvolvido por Stephen Bourne UNIX /bin/sh

Bourne-Again Shell

Linux

Bourne Shell melhorado /bin/bash

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Shell

Page 41: Introdução ao uso do Linux (parte 1)

Korn Shell

upgrade do Bourne Shell

desenvolvido por David Korn /bin/ksh

C Shell

desenvolvido por Bill Joy estrutura similar ao C /bin/csh

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Shell (cont.)

Page 42: Introdução ao uso do Linux (parte 1)

KERNEL

SHELL

APLICATIVOS

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Visão Geral do Sistema

Page 43: Introdução ao uso do Linux (parte 1)

arquivo texto com comandos ou instruções que

serão executados pelo shell

facilitam tarefas de administração do sistema, tarefas repetitivas e outros

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Shell Script

Page 44: Introdução ao uso do Linux (parte 1)

Exemplo de script

#!/bin/bashclear echo "Versao do Kernel: "; uname -r echo "O arquivo do kernel esta em : ";find /boot/vmlinuz-* exit 0

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Shell Script

Page 45: Introdução ao uso do Linux (parte 1)

sistema de janelas – M.I.T. e DEC projeto X

Window System ( UNIX mais acessível)

surgiram diversos gerenciadores de janelas

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Interfaces Gráficas

Page 46: Introdução ao uso do Linux (parte 1)

Gerenciadores de Janelas

controlam interação com usuário

Principais gerenciadores

GNOME

interface intuitiva do projeto GNU

K Desktop Environment -KDE opção mais popular

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Interfaces Gráficas (cont.)

Page 47: Introdução ao uso do Linux (parte 1)

estrutura de armazenamento e manipulação de dados

todo S.O. possui sistemas de arquivos

sistemas de arquivos UNIX-Like são hierárquicos

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Sistemas de Arquivos

Page 48: Introdução ao uso do Linux (parte 1)

Principais sistemas de arquivos

MS-Windows

FAT – file allocation table

NTFS – network file system

UNIX- Like

ext3 ReiserFS MINIX

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Sistemas de Arquivos ((cont.)

Page 49: Introdução ao uso do Linux (parte 1)

minix – nativo do MINIX, primeiro sistema do Linux. Substituído em abril de 1992

ext – extended file system. Upgrade do minix com suporte a discos maiores e maior performance ext2 – segunda versão do ext. Dá suporte a arquivos

de até 2 terabytes e nomes de arquivos com 255 caracteres

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Sistemas de Arquivos ((cont.)

Page 50: Introdução ao uso do Linux (parte 1)

ext3 – terceira versão do ext. Inclui sistema

journaling

Reiserfs – criado por Hans Reiser. Tamanho de arquivo 8TB e HD de 16TB também implementa

journaling

Sistema de arquivos journaling – gera um arquivo de log , o journal, onde salva alterações, para depois gravá-las no sistema de arquivo

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Sistemas de Arquivos ((cont.)

Page 51: Introdução ao uso do Linux (parte 1)

inode ( ou i-node) – estrutura de dados que contém informações sobre um arquivo ou diretório

UID e GID

Tipo e permissões do arquivo

Data e hora de criação

Tamanho do arquivo

Localização do arquivo

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Sistemas de Arquivos ((cont.)

Page 52: Introdução ao uso do Linux (parte 1)

Estrutura hierárquica com funções definidas

/ - raiz /home - diretórios dos usuários ex.: /home/elaine /root - home do super usuário /usr - programas dos usuários /bin - executáveis e comandos mais comuns

/boot - arquivos do kernel

/etc - arquivos de configuração e administração

/mnt - montagem temporária ex.: cd rom, floppy, etc

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Estrutura de Diretórios

Page 53: Introdução ao uso do Linux (parte 1)

No Linux arquivos e diretórios são protegidos

Três grupos: dono, grupo, outros

Três permissões: leitura (r), escrita (w), execução (x)

r w x r w x r w x

DONO GRUPO OUTROS

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Noções Básicas : Modos de Permissão

Page 54: Introdução ao uso do Linux (parte 1)

Na aula 2 veremos:

ajuda e informações navegação pelos diretórios montagem de sistemas de arquivos localização e manipulação de arquivos comandos de paginação compactação e descompactação gerenciamento de processos, grupos e privilégios comandos para impressão

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Page 55: Introdução ao uso do Linux (parte 1)

Referências Material didático

Apostila - Introdução ao Uso do Linux http://www.lee.eng.uerj.br/~elaine

Mais sobre Software Livre

Documentário Revolution OS

Cartilha de Software Livre Evolução dos Sistemas Operacionais

Livro: A. S. Tanenbaum. Sistemas Operacionais

Modernos. Prentice Hall do Brasil, Rio de Janeiro, 1995

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE

Page 56: Introdução ao uso do Linux (parte 1)

Referências (cont.)

Shell Script

Livro: J.C. Neves. Linux: Programando em Shell.

Brasport, Rio de Janeiro, 2000.

Tutorial: Programação em Bourne-Again Shell

http://meleu.da.ru

http://www.openoffice.org

http://www.scilab.org

Introdução ao Uso do Linux. pt1

Universidade do Estado do Rio de Janeiro – UERJFaculdade de Engenharia – FEN / Laboratório de Engenharia Elétrica - LEE