This is an old revision of the document!
Pesquisa
HomePage
Essa página é apenas um apêndice do meu site. Para uma versão completa de minha página, clique: http://www.gustavowagner.com
Disciplinas
Sistemas Operacionais 2006.1
SO - Horário/Sala
Segundas: 8-10
Sextas: 10-12
Sala: 204
Laboratório:
SO - Lista de discussão
Cadastre-se na lista:
sofatec@grupos.com.br
Ao enviar e-mail à lista, coloque no início do subject: [fatec-so]
SO - Ementa
Histórico, conceitos e tipos de sistemas operacionais. Sua estrutura e o seu contexto dentro do software básico. Conceito de processo. Gerenciamento de processos e da CPU. Escalonamento de processo, monoprocessamento e multiprocessamento. Concorrência e sincronização de processos. Gerenciamento de memória (real e virtual). Gerenciamento de entrada/saída. Alocação de recursos e Deadlocks. Gerência de arquivos. Estudos de casos.
SO - Objetivos Programáticos
Apresentar os conceitos básicos de um sistema operacional convencional: conceito de processo, escalonamento de processos, gerência de processador, gerência de entrada e saída, gerência de memória e gerência de arquivos.
SO - Programa
UNIDADE | ASSUNTO |
---|---|
1 | Introdução aos Sistemas Operacionais |
1.1 | Funções de um sistema operacional |
1.2 | Conceitos básicos |
2 | Processos |
2.1 | Definição e estrutura de processos |
2.2 | Estados de um processo |
2.3 | Escalonamento de processos |
2.4 | Fluxo de execução de um processo |
2.5 | Multithreading |
2.6 | Comunicação entre processos |
3 | Impasses |
3.1 | Definição de impasses |
3.2 | Técnicas para o tratamento de impasses |
4 | Gerência de Memória |
4.1 | Gerência de memória sem swap ou paginação |
4.2 | Swapping |
4.3 | Memória virtual |
4.4 | Algoritmos de reposição de páginas |
4.5 | Segmentação |
5 | Entrada/Saída |
5.1 | Hardware e software de entrada/saída |
6 | Sistemas de Arquivos |
6.1 | Arquivos e diretórios |
6.2 | Implementação de sistemas de arquivos |
6.3 | Segurança e mecanismos de proteção da informação |
7 | Implementação de programas em C para Linux |
SO - Plano de Aulas
Data | Assunto | Material | Referências | Local |
---|---|---|---|---|
03/02 | Anunciar URL da disciplina; Apresentação da disciplina; Avisar para todos olharem as datas importantes; Apresentar os objetivos da disciplina; Apresentar o conteúdo da disciplina; Apresentar o processo de avaliação da disciplina; Apresentar a motivação para a disciplina; | Motivação | Sala | |
06/02 | 1. Introdução aos Sistemas Operacionais; (1.1, 1.2, 1.3, 1.4) | Introdução parte 1 | Paramos no slide 17 | Sala |
10/02 | cont. 1. Introdução aos Sistemas Operacionais | Parte 2 | Sala | |
13/02 | 2.1 Processos | Processos | fork.c, StackOverflow.java | Sala |
17/02 | Miniteste 1 2.2 Threads | Threads | Sala | |
20/02 | Miniteste 2 2.3 Comunicação interprocessos (2.3.1, 2.3.2, 2.3.3, 2.3.4) | Comun. Interprocessos - Espera ocupada | Sala | |
24/02 | cont 2.3 Comunicação interprocessos (2.3.5, 2.3.6, 2.3.7) | Semáforos, mutex e monitores | Sala | |
27/02 | ![]() | Praia | ||
03/03 | cont 2.3 Comunicação interprocessos; Troca de mensagens e Barreiras (2.3.8, 2.3.9) | Troca de mensagens e barreiras | Troca de mensagem | Sala |
06/03 | Projeto 1 | Exclusão Mútua | Ajuda | |
10/03 | 2.4 Problemas Clássicos de IPC (2.4.1) | Jantar dos filósofos | Programa exemplo | |
13/03 | cont 2.4 Problemas Clássicos de IPC (2.4.2) | Leitores e Escritores | Lab | |
17/03 | cont 2.4 Problemas Clássicos de IPC (2.4.3) | Barbeiro dorminhoco | ||
20/03 | 2.5 Escalonamento (2.5.1, 2.5.2, 2.5.3) | Introdução a escalonamento | ||
24/03 | cont 2.5 Escalonamento (2.5.4, 2.5.5, 2.5.6) | Introdução a escalonamento | ||
27/03 | Prova 1 Entreda do Projeto 1 | Sala | ||
31/03 | 3. Impasses (deadlocks) (3.1, 3.2, 3.3) | Sala | ||
03/04 | Miniteste 3 cont 3. Impasses (deadlocks) (3.4, 3.5 ) | Sala | ||
07/04 | cont 3. Impasses (deadlocks) (3.6, 3.7 ) | Sala | ||
10/04 | 4 Gerenciamento de Memória (4.1) | Sala | ||
14/04 | ![]() | Praia | ||
17/04 | cont 4 Gerenciamento de Memória (4.2) | Sala | ||
21/04 | ![]() | Praia | ||
24/04 | cont 4 Gerenciamento de Memória (4.3.1) | Sala | ||
28/04 | cont 4 Gerenciamento de Memória (4.3.2, 4.3.3, 4.3.4) | Sala | ||
01/05 | ![]() | Praia | ||
05/05 | Miniteste 4 cont 4 Gerenciamento de Memória (4.5) | Sala | ||
08/05 | cont 4 Gerenciamento de Memória (4.6) | Sala | ||
12/05 | 4.8 Segmentação | Sala | ||
15/05 | Prova 3 (1h) 5. Entrada e Saída (5.1 e 5.2.1) | Sala | ||
19/05 | Miniteste 5 cont 5 Entrada e Saída (5.2.2, 5.2.3, 5.2.4 e 5.2.5) | Sala | ||
22/05 | 6. Sistemas de Arquivos;\\Arquivos e diretórios; Estrutura de sistemas de arquivos; Interfaces de sistemas de arquivos. (Seções 6.1 e 6.2) | Sala | ||
26/05 | Miniteste 6 Implementação de sistemas de arquivos; O sistema de arquivos do UNIX; (Seções ... e 10.6) | Sala | ||
29/05 | O sistema de arquivos do UNIX; Outros sistemas de arquivos; (Seções 10.6 e 11.7) | Sala | ||
02/06 | Confiabilidade de sistemas de arquivos; Recuperação de sistemas de arquivos; Administração e desempenho de sistemas de arquivos; (Seções ) | Sala | ||
05/06 | Segurança de sistemas; Princípios de projeto de sistemas visando segurança; Mecanismos de proteção; (Seções ) | Sala | ||
09/06 | Prova 3 | |||
12/06 | Reposição | |||
16/06 | ||||
19/06 | Prova Final | |||
23/06 | ||||
26/06 | ||||
30/06 |
SO - Bibliografia
- Sistemas Operacionais Modernos, 2a. edição. A.S. Tanenbaum, Prentice-Hall, 2003.
- Operating Systems, 4a. edição. W. Stallings, Prentice-Hall, 2000
SO - Avaliação
A avaliação constará de provas, mini-testes e projetos práticos, com os respectivos pesos discriminados na seção abaixo. Os projetos serão desenvolvidos em grupo de no máximo 2 alunos.
Avaliação 1:
- (30%) 1a. Prova: Após encerramento da unidade 2.
- (20%) Projeto 1: Criação e gerência de processos no Linux (assunto: escalonamento de processos)
- (30%) 2a. Prova: Após encerramento da unidade 4.
- (20%) Mini-testes: 3 mini-testes. Serão considerados apenas as 2 melhores notas. Miniteste 1 (após a Unidade 1), Miniteste 2 (após a Unidade 2.2) , Miniteste 3 (após a Unidade 3.2)
Avaliação 2:
- (50%) 3a. Prova – Após encerramento da unidade 6.
- (15%) Projeto 2: Comunicação Inter-processos no Linux (assunto: seções críticas, entrada/saída)
- (15%) Projeto 3: Listagem de diretórios no Linux (sistema de arquivos)
- (20%) Mini-testes: 3 mini-testes. Serão considerados apenas as 2 melhores notas. Miniteste 4 (após a Unidade 4.3), Miniteste 5 (após a Unidade 5.1), Miniteste 6 (após a Unidade 6.1).
SO - Notas dos alunos
Java Básico 2006.1
Horário/Sala
Segundas: 10-12
Sextas: 08-10
Sala: 301
Laboratório:
Lista de discussão
Cadastre-se na lista:
javabasicofatec@grupos.com.br
Ao enviar e-mail à lista, coloque no início do subject: [fatec-java]
Ementa
Estudo de uma linguagem de programação orientada a objetos. Tipos de dados, Estrutura da linguagem. Tipos estruturados (vetor, matriz e registro). Declarações. Comandos de atribuição, condicionais e de repetição. Modularização e Subprogramas. Mensagem e troca de mensagem. Aplicações.
Objetivos Programáticos
Esta disciplina tem o objetivo de dar continuidade ao desenvolvimento do raciocínio lógico aplicado à solução de problemas em nível computacional. Programação orientada a objetos. Mensagem. Introduzir conceitos mais avançados de desenvolvimento de algoritmos, e novas estruturas de controle e de dados. Introduzir funcionalidades mais avançadas de uma linguagem de programação. Programação Visual. Ao final da disciplina o aluno estará apto a implementar programas de complexidade média.
Programa
UNIDADE | ASSUNTO |
---|---|
1 | Introdução e conceitos básicos |
1.1 | Histórico |
1.2 | Conceitos básicos |
1.3 | Ambientes de programação Java |
2 | Programação orientada a objetos básica |
2.1 | Conceitos de orientação a objetos |
2.2 | Criação de objetos |
2.3 | Encapsulamento |
2.4 | Strings |
2.5 | Coleções |
3 | Projeto de programas Java e Programação orientada a objetos avançada |
3.1 | Estruturação de programas em camadas |
3.2 | Herança e polimorfismo |
3.3 | Classes abstratas e interfaces |
3.4 | Tratamento de exceções |
3.5 | Pacotes |
4 | Interface gráfica e orientação a eventos |
4.1 | Swing |
4.2 | Modelo de eventos |
Plano de Aulas
Data | Assunto | Material | Referências | Local |
---|---|---|---|---|
03/02 | Apresentar site da disciplina; Apresentação do critério de avaliação e discussão sobre os objetivos da disciplina; Apresentar motivação: pirâmide de programadores Definição das duplas de laboratório; | Motivação Java | JUG - www.cgjug.com.br Entrem na lista de discussão do grupo | Sala |
06/02 | Introdução ao Java; Histórico; | Introdução | Sala | |
10/02 | Prática com o Java SDK; Pesquisando API de Java; | Trabalhando com JSDK | Lab | |
13/02 | Ambientação com a sintaxe Java | Ambientação com sintaxe java | Sala | |
17/02 | Entrega de exercício da aula passada; Ambientação com a sintaxe Java; | Ambientação com sintaxe java parte 2 | Sala | |
20/02 | Ambientação com a sintaxe Java; Exercícios em sala; | Classes de IO - Entrada Exemplo de uso de Entrada | Sala | |
24/02 | Introdução ao Eclipse | Introdução ao eclipse 3.1 | Lab | |
27/02 | ![]() | Praia | ||
03/02 | Exercícios em programação estruturada | Lab | ||
06/03 | Introdução à programação orientada a objetos; Atributos; Encapsulamento; | Introdução a OO - Atributos e Encapsulamento | Sala | |
10/03 | Métodos; Acesso; Exercícios em sala; | Métodos e Acesso | Sala | |
13/03 | Exercícios: definição de classes; Recursos avançados do Eclipse para classes; | Lab | ||
17/03 | Criação de objetos; Construtores; | Criação de Objetos | Sala | |
20/03 | Exercícios de criação de objetos; | Lista de exercício 1 | Lab | |
24/03 | Strings e Arrays; | Strings e Arrays | Sala | |
27/03 | Exercícios em arrays; | Lab | ||
31/03 | Exercícios em arrays; | Lab | ||
03/04 | Exercícios em arrays; | Lab | ||
07/04 | Últimas dúvidas - exercício de arrays; Discussão lista de exercícios 1; | Lab | ||
10/04 | Prova 1 | Sala | ||
14/04 | ![]() | Praia | ||
17/04 | Estruturação de programas Java; | Sala | ||
21/04 | ![]() | Praia | ||
24/04 | Estruturação de programas Java; Iniciar exercício no laboratório; | Lab | ||
28/04 | Exercícios em estruturação de programas Java | Lab | ||
01/05 | ![]() | Praia | ||
05/05 | Exercícios em estruturação de programas Java | Lab | ||
08/05 | Herança; Polimorfismo; | Sala | ||
12/05 | Exercícios em herança; | Lab | ||
15/05 | Interfaces; Pacotes; | Sala | ||
19/05 | Exercícios com pacotes; Exercícios com interfaces; Dúvidas - Herança | Lab | ||
22/05 | Tratamento de exceções; | Sala | ||
26/05 | Exercícios com exceções; | Lab | ||
29/05 | Programação interface gráfica: Swing; Janelas e Painéis; | Sala | ||
02/06 | Gerenciadores de Layout; Tratamento de Eventos; Exercícios com Swing extras; | Sala | ||
05/06 | Prova 2 | Sala | ||
09/06 | Aula de dúvidas | Sala | ||
12/06 | Prova de Reposição | Sala | ||
16/06 | Aula de Dúvidas | Sala | ||
19/06 | Prova Final | Sala |
Bibliografia
- Java Como Programar – H. M. Deitel e P. J. Deitel – 3a./5a Edição – Bookman.
- Core Java 2: Volume 1, Fundamentos. Horstmann e Cornell, Makron Books, 2000.
Avaliação
A avaliação será composta por 2 notas. Cada nota é formada da seguinte forma: (nota de prova escrita) * 0,6 + (nota de laboratórios) * 0,4. Os laboratórios serão formados por grupos de no máximo 2 pessoas.
Avaliação 1: após Unidade 2.
Avaliação 2: após Unidade 4.
Notas dos alunos
Datas Importantes
Projeto
Descrição
O projeto consiste em implementar um sistema bancário. O aluno evoluirá o código durante as aulas de laboratório e a avaliação levará em conta tanto o trabalho durante o laboratório quanto as funcionalidades implantadas. Para isso, usaremos o EasyAccept descrito abaixo. Isso significa que se seu código não fizer o que foi pedido, você não obterá uma boa nota no laboratório.
Testes de Aceitação
Iremos usar a ferramenta EasyAccept para garantir a corretude das funcionalidades do sistema.
Fotos
França
Músicas
Mapa
Vinho
Sites com ótimas informações sobre enologia são http://www.oenologie.fr/, http://fr.wikipedia.org/wiki/Vin_rouge e http://www.onivins.fr/. Esses sites estão em francês pois não encontrei algum em português com a qualidade destes. As informações que colocarei aqui são apenas um início ao fascinante estudo do vinho. Um filme que recomendo sobre enologia é Sideways.
Os conceitos aqui expostos serão sobre vin rouge (vinho tinto), considerado mais complexo que vin blanc (vinho branco).
Quem se interessar em fazer um curso de vinho in loco eu recomendo primeiramente procurar a Alliance Française de sua cidade.
Processo de vinificação
Primeiramente precisamos entender o esquema de vinificação, ou seja, o processo de preparação do vinho. Nesta imagem podemos ver todas as etapas de preparação do vinho tinto. Primeiro, as uvas são prensadas (fouloir) para se separar o bago (parte interna), o talo, a casca e a semente. Casca e semente vão passar por um processo chamado maceração, e o bago vai passar por um processo chamado fermentação. É neste ponto que se difere o processo de produção de vinho tinto do vinho branco. Para a produção do vinho branco não é realizado o processo de maceração, que é o responsável pela cor vermelha do vinho.
Nesse momento, a fermentação é feita por um processo químico com Anidrido Sulfuroso (SO2), chamada fermentação alcóolica (em torno de 25º). A fermentação ocorrerá durante duas a três semanas. Já a maceração ocorrerá durante 10 a 15 dias.
O resultado desse processo será um líquido que chamamos de vin de goutte (vinho de gota) e outro formado pelas cascas, sementes e borras (bactérias mortas). Esse último passará por uma prensa e o resultado é o que chamamos de vin de presse (vinho de prensa). Desse vinho é que vem os taninos que estão presentes nas sementes e peles. Os taninos são os responsáveis pelo gosto amargo e pela adstringência do vinho.
O vinho de prensa e o vinho de gota passam por mais um processo de fermentação realizada por bactérias. O resultado é o vinho em si que passará por um processo de estabilização com Anidrido Sulfuroso. Após disso, o vinho é colocado normalmente em tonéis de carvalho.
Conceitos Importantes
Há vários fatores que influenciam a produção de um vinho. Os principais são os fatores físicos. A exposição ao sol, o relevo e o clima influenciam positivamente ou negativamente o vinho. Ao Relevo + clima dá-se a denominação micro-clima. Só para se ter uma idéia, há centenas de micro-climas na França. A identificação dos micro-climas faz parte de um grande trabalho de estudo que, infelizmente, ainda não foi realizado no Brasil.
Um importante conceito em vinho é a noção de Terroir. Um Terroir é formado por um micro-clima + solo/subsolo. Um Terroir determina o “caráter” de um vinho.
Um terroir + tecnologia leva à definição de castas de vinhos. Por exemplo, Pinot Noir, Caberbet Sauvignon, Merlot, Gamay e Beaujolais são exemplos de castas.
Por fim, precisamos definir um cru (vem da palavra croître = crescer). Cru é um terroir específico. Um cru corresponde ao melhor terroir de uma região de produção de vinho. Assim, quando se fala de cru, fala-se de um vinho de excelente qualidade. Normalmente estes vinhos têm um A.O.C. (identificação de origem controlada). Um exemplo de A.O.C. é o Bordeaux.
Uma imagem dos vinhos A.O.C. pode ser vista aqui.
Exame de vinhos
Visual
Um importante exame a ser feito sobre o vinho é o visual. Através do exame visual podemos identificar, por exemplo, a idade do vinho. O ano de produção do vinho é chamado de Millésime.
O exame visual pode ser realizado da seguinte forma. Coloque numa taça o vinho a ser analisado e a incline num ângulo próximo a 30º com a mesa, com a boca da taça virada para frente. É possível identificar duas áreas: o olho e a borda. O olho pode apresentar cores tais como ruby, cereja, etc. A borda tem cores de um espectro que vai desde o roxo até o alaranjado/marron. É importante que você tente fazer analogias entre as cores encontradas nessas duas regiões com coisas da natureza do reino animal, vegetal ou mineral. Isso ajuda a identificarmos o vinho.
A idade do vinho pode ser identificada pela borda. Normalmente, quanto mais roxo, mais novo é o vinho. Quanto mais alaranjado/marron, mais antigo é o vinho. Perceba que essa identificação só é possível atrelada ao terroirs. Isso quer dizer que a mesma cor de borda apresentada por vinhos de diferentes terroirs pode representar idades distintas.
Gustativo
O exame gustativo normalmente é feito levando em consideração fatores como acidez, a adstringência, a untuosidade (doçura) e o amargor. Um bom vinho é aquele em que esses fatores se apresentam de forma harmoniosa.
O exame gustativo pode ser realizado da sequinte forma. Coloque um pouco de vinho na boca, levando o vinho a passar por todas as partes da língua. Isso é feito para que se consiga perceber os diferentes sabores do vinho. A imagem abaixo mostra a língua e os sabores sentidos em cada parte.
Olfativo
O exame olfativo é considerado um dos mais difíceis de ser realizado. Um dos fatores que leva a essa dificuldade é a quase extinção do uso do olfato para identificação de objetos/comida/coisas pela raça humana. Um bom livro sobre esse tema é “O perfume - Patrick Süskind”.
Para facilitar na identificação dos cheiros exalados por um vinho, nós os dividimos em famílias aromáticas:
- Frutas
- Cítricas
- Vermelhas (morango, groselha, etc)
- Especiarias
- Canela
- Pimenta do reino
- Baunilha
- Cravo
- Floral (mais presente em vinhos brancos)
- Madeira
- Cedro
- Pinheiro
- Vegetais
- Legumes
- Animais (aparece mais no processo de envelhecimento)
- Couro
- Defumado
O exame olfativo pode ser realizado da sequinte forma. Inspire o vinho numa taça com 3 a 5cm de distância do seu nariz. Coloque o nariz dentro da taça e inspire forte. Repita esse processo por três vezes. Depois faça movimentos circulares com a taça. Isso faz com que alguns aromas sejam exalados. Inspire novamente. Tente identificar os aromas de acordo com as famílias aromáticas.
Temperatura ideal
As temperaturas mostradas na tabela abaixo são para a Europa. Como regra geral, a temperatura ideal de um vinho é -7 a -8°C em relação à temperatura ambiente.
Tipos de vinhos | Temperatura Ideal |
---|---|
Bordeaux tinto (St-Emilion, Graves, Pomerol) | 16 à 18 °C |
Bourgognes tinto (Pommard, Vosne Romanée) | 15-16°C |
Vinho tinto suave (Beaujolais, Chinon) | 10 à 12°C |
Vinhos rosê (Arbois, Anjou, Provence) | 9 à 11°C |
Vinhos brancos secos (Chablis, Graves, Alsace) | 7 à 11°C |
Champanhe | 6 à 8°C |
Vinhos licores (Anjou, Sauternes, Monbazillac) | 5-6°C |
Fotos do curso de vinho tinto
Dezembro de 2005 na Alliance Française, com professor Jean: aqui.
Contato
gugawag [ at ] gmail.com