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 Realiza as funções básicas para o funcionamento do sistema computacional. Drivers de dispositivos, BIOS,... Shell 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 Programa 1 Memória 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... Dispositivos de Entrada/Saída 2 Programa 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.... Programa 3 Programa 2 Programa 1 CPU Mestre CPU CPU CPU Memória 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: heitorm@dca.ufrn.br 23