Apresentação do PowerPoint - DCA

Propaganda
Universidade Federal do Rio Grande do Norte
Departamento de Engenharia de Computação e
Automação
Noções básicas de
Informática: Software
DCA0800 - Algoritmos e Lógica de Programação
Heitor Medeiros
1
Sobre a aula
I.
Silva, Ivanovitch Medeiros Dantas da.
Algoritmos e Lógica de Programação –
Notas de aula. UFRN, Natal, 2011.
II.
Marçula, Marcelo. Filho, Pio Armando
Benini.
Informática
-Conceitos
e
Aplicações. 3 ed. São Paulo: Érica, 2008.
III.
Tanembaum,
Andrew
S.
Sistemas
Operacionais Modernos. 2 ed. Rio de
Janeiro: LTC (2003).
2
Tópicos da aula
• Partes de um sistema computacional
– Hardware/Firmware/Software.
– Conceito de software.
• Sistemas operacionais
– Conceito
– Funcionalidades
– Estrutura
– Classificação
3
Partes de um Sistema
Computacional
Software
Firmware
Hardware
4
O que é um software?
• “É a parte lógica do sistema de computação que é
armazenada eletronicamente. É composto por um ou mais
programas (conjunto de instruções) que capacitam o
hardware a realizar tarefas específicas, pelos dados
manipulados por eles, pela documentação de especificação
(projeto) dos programas e pela documentação de operação
dos programas.” [Marçula, 2008].
5
Classificação de
softwares
• Software de sistema:
– Sistema operacional:
• Responsável pelo funcionamento geral.
– Utilitários de sistema.
• Acompanha o sistema operacional para gerenciar o
funcionamento do sistema computacional.
• Software de aplicativo.
– Realiza algum trabalho para o usuário.
6
Sistemas Operacionais
7
Sistemas Operacionais
• “É um programa que controla os recursos do sistema
computacional (computador) e fornece a base sobre a qual os
programas aplicativos podem ser escritos.” [Tanenbaum &
Woodhull, 2000].
8
Sistemas Operacionais
Aplicativos
Sistema
Operacional
Hardware
9
Funcionalidades do S.O.
 Fornecer uma interface de comunicação (máquina virtual)
entre o sistema de comunicação e o usuário.
 Gerenciar a operação dos dispositivos de hardware do
computador.
 Gerenciar e manter o sistema de arquivos armazenados.
 Dar suporte aos programas que são executados.
10
Estrutura do Sistema
Operacional
Kernel
Shell
• Realiza as funções básicas para o
funcionamento do sistema computacional.
• Drivers de dispositivos, BIOS, ...
• Responsável pela comunicação com o
usuário (interface).
• Aplicativos, compiladores, janelas, ...
11
Funções do Kernel
• Tratamento de interrupções
– Periodicamente, o SO decide interromper a execução de um
processo e iniciar a execução de outro.
• Gerenciamento de processos
– Um processo é um programa carregado na memória e em
execução.
– Criar e eliminar processos.
12
Funções do Kernel
• Gerenciamento de memória
– Manter registros de quais instruções estão utilizando a memória e
quais partes da memória estão sendo utilizadas.
– Ordenar os processos na memória principal.
– Alocar e liberar espaço na memória.
• Gerenciamento de arquivos
– Organização baseadas em diretórios.
– Definir o Sistema de Arquivos.
• Tratamento dos arquivos.
• Estruturas de diretórios.
• Organização e fornecimento de informações dos arquivos.
• Gerenciamento de dispositivos de entrada e saída.
13
Classificação dos
Sistemas Operacionais
•
Sistemas monotarefa.
– Realiza uma tarefa por vez.
•
Sistemas multitarefa.
– Realiza várias tarefas “ao mesmo tempo”.
•
Sistemas paralelos (múltiplos processadores).
– Conjunto de CPUs que realizam vários tarefas “ao mesmo tempo”
compartilhando recursos como memória e clock.
•
Sistemas distribuídos.
– Conjunto de CPUs que realizam várias tarefas “ao mesmo tempo” sem
compartilhamento de recursos como memória e clock, utilizando apenas links
de comunicação.
•
Sistemas em tempo real.
– Possuem requisitos rígido de tempo de processamento.
14
Sistemas monotarefa
• Execução de um único programa.
• Qualquer outro programa, para ser executado, deve esperar o
término do programa corrente.
...
Programa
3
Programa
2
Memória
Programa
1
CPU
Dispositivos de
Entrada/Saída
15
Sistemas multitarefa
• Vários programas dividem os mesmos recurso.
• Enquanto um programa espera por uma operação de leitura ou
gravação, outros programas podem processar informações nesse
tempo.
Programa
1
Memória
Programa
3
CPU
Programa
2
Dispositivos de
Entrada/Saída
...
16
Sistemas paralelos (múltiplos
processadores)
• Possuem duas ou mais CPUs interligadas e funcionando em
conjunto.
• Executa vários programas ao mesmo tempo, dividindo a execução
entre as diversas CPUs.
...
CPU
Mestre
Programa
3
CPU
Memória
Programa
2
Programa
1
CPU
CPU
Dispositivos de
Entrada/Saída
17
Sistemas paralelos (múltiplos
processadores)
• Possuem mais de um processador compartilhando todos os
recursos de hardware (barramento, memória e I/O).
• Chamados de fortemente acoplado.
1. Sistemas simétricos:
– Cada CPU executa uma cópia idêntica do SO.
– Possuem mesmo tempo de acesso aos recursos.
2. Sistemas assimétricos:
– Cada CPU tem uma tarefa específica.
– Possuem diferentes tempos de acesso aos recursos.
18
Sistemas distribuídos
• Processadores distribuídos cooperando para execução de
programas e interligadas através de links de comunicação.
• Ex.: Internet.
19
Tópicos importantes na
escolha de um S.O.
 Usabilidade
 Desempenho
 Segurança
 Preço
20
Revisando
1. Qual a diferença entre hardware, software e firmware?
2. O que é um sistema operacional?
3. O que é o Kernel do sistema operacional? E quais as suas
funcionalidades?
4. Qual a diferença entre sistemas monotarefa e multitarefa?
5. Qual a diferença entre sistemas paralelos e distribuídos?
21
Referências
• Silva, Ivanovitch Medeiros Dantas da. Algoritmos e Lógica de
Programação – Notas de aula. UFRN, Natal, 2011.
• Marçula, Marcelo. Filho, Pio Armando Benini. Informática Conceitos e Aplicações. 3 ed. São Paulo: Érica, 2008.
• Tanembaum, Andrew S. Sistemas Operacionais Modernos. 2
ed. Rio de Janeiro: LTC (2003).
22
Dúvidas?
Dúvidas por email:
[email protected]
23
Download