A Introdução aos Ambientes Operacionais
Por: lucianosilvasp • 16/12/2020 • Ensaio • 1.019 Palavras (5 Páginas) • 209 Visualizações
FACULDADE DE COMPUTAÇÃO E INFORMÁTICA
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
FUNDAMENTOS DE COMPUTAÇÃO E SISTEMAS – Aula 01 – 2º SEMESTRE/2017
PROF. LUCIANO SILVA
TEORIA: MODELOS E COMPONENTES COMPUTACIONAIS
[pic 1] | Nossos objetivos nesta aula são:
|
[pic 2] | Para esta aula, usamos como referência o Capítulo 1 (Introdução) do nosso livro-texto: FOROUZAN, B., MOSHARRAF, F. Fundamentos da Ciência da Computação. 2.ed. São Paulo: Cengage Learning, 2012. Não deixem de ler este capítulo depois desta aula! |
MODELOS DE COMPUTAÇÃO
- Informalmente, um modelo de computação descreve um conjunto de operações possíveis para um computador.
- Modelos de computação podem existir mesmo que ainda não se tenha um computador físico que consiga executar as operações definidas por um modelo.
- Isto é possível porque um modelo de computação abstrai o conceito de computação, permitindo que se trabalhe com tal conceito do ponto de vista matemático.
- Mas, como será um modelo de computação para os computadores como conhecemos atualmente ?
MODELO DE TURING
- Inicialmente, vamos tentar construir um modelo de computador como um processador de dados, conforme mostrado abaixo:
[pic 3]
- Neste modelo, o computador age como uma caixa-preta, que aceita dados de entrada, os processa e gera dados de saída resultantes do processamento.
- Embora este modelo possa definir um computador atual, ele é muito genérico.
EXERCÍCIO COM DISCUSSÃO EM DUPLAS
Por que o modelo de computador descrito acima é genérico demais ?
MODELO DE TURING (continuação)
- Para contrapor o fato encontrado no exercício acima, Alan Turing (considerado o pai da Computação) introduziu um novo elemento (programa) no modelo de processador de dados produzindo o chamado Modelo de Turing.
[pic 4] | Alan Mathison Turing (23 de junho de 1912 — 7 de junho de 1954) foi um matemático, lógico, criptoanalista e cientista da computação britânico. Foi influente no desenvolvimento da ciência da computação e na formalização do conceito de algoritmo e computação com a máquina de Turing, desempenhando um papel importante na criação do computador moderno. Ele também é pioneiro na Inteligência Artificial e na Ciência da Computação. Durante a Segunda Guerra Mundial, Turing trabalhou para a inteligência britânica em Bletchley Park, num centro especializado em quebra de códigos. Por um tempo ele foi chefe do Hut 8, a seção responsável pela criptoanálise da frota naval alemã. Planejou uma série de técnicas para quebrar os códigos alemães, incluindo o método da bomba eletromecânica, uma máquina eletromecânica que poderia encontrar definições para a máquina Enigma. |
- Com um programa, o Modelo de Turing explicita o que realmente o computador deve fazer com os dados. Esquematicamente, o Modelo de Turing fica como mostrado abaixo:
[pic 5]
- Este modelo é bastante flexível, pois permite que um mesmo programa possa operar sobre diferentes dados de entrada:
[pic 6]
- Este modelo ainda permite que diferentes programas possam ser utilizados com as mesmas entradas:
[pic 7]
EXERCÍCIO COM DISCUSSÃO EM DUPLAS
O Modelo de Turing permite trabalhar com diferentes programas e diferentes entradas de dados ? Caso afirmativo, dê um exemplo. Caso negativo, justifique.
MODELO DE TURING (continuação)
- O Modelo de Turing consegue executar qualquer computação se o programa apropriado for fornecido. Neste caso, dizemos que este modelo é universal e o modelo é chamado de Máquina Universal de Turing.
- A Máquina Universal de Turing foi a primeira descrição abstrata de um computador moderno. Esta descrição foi feita em 1936, no famoso artigo “On Computable Numbers, with an Application to the Entscheidungsproblem “. Chama-se a atenção para o fato de que, nesta época, ainda não havia computadores como aqueles que conhecemos atualmente: mas, um modelo de computação abstrato (matemático) já existia!
MODELO DE von NEUMANN
- Os computadores que foram construídos com base na Máquina Universal de Turing armazenavam os dados em suas memórias.
- Por volta de 1944-1945, John von Neumann propôs que, se um programa e os dados são logicamente a mesma coisa (sequencia de bits), os programas também poderiam ser armazenados na memória de um computador.
- Isto não só criou o conceito de programa armazenado, como também permitiu a construção de um novo modelo de computação (Modelo de von Neumann), formado de quatro subsistemas básicos: memória, unidade de lógica e aritmética (ULA), unidade de controle e entrada/saída.
[pic 8]
- Neste modelo, tanto o programa quanto os dados são armazenados na memória. A execução do programa é controlada pela unidade de controle (UC) e com o auxílio da ULA.
- No Modelo de von Neumann, um programa é composto por um número finito de instruções, que são executadas uma depois da outra (sequencialmente). Neste contexto, a UC busca uma instrução na memória, faz sua decodificação e a executa.
COMPONENTES COMPUTACIONAIS
- Com base no Modelo de von Newmann, podemos pensar um computador (ou sistema computacional) como sendo formado por três componentes: hardware, dados e software.
- Modernamente, o hardware pode ser visto com a parte física de um sistema computacional. Mesmo arquiteturas de hardware mais complexas exibem os elementos do Modelo de von Newmann (UC, ULA, memória). Geralmente, a UC e a ULA são acomodadas numa unidade chamada processador ou CPU (Unidade Central de Processamento).
[pic 9]
- O software é programa que irá ser executado sobre o hardware. A execução pode ser feita diretamente no hardware ou com o auxílio de um sistema operacional (Windows, Linux, MacOS, ...).
- Programas são construídos através de linguagens de programação. O que é um programa irá executar é definido por um algoritmo. A partir de um algoritmo, utilizando uma linguagem de programação (Python, C, Java, Cobol), produz-se um programa.
- O projeto de softwares mais complexos pode exigir técnicas mais sofisticadas, estudadas em Engenharia de Software.
- Softwares atuam sobre dados. Determinados tipos de dados podem exigir diferentes esquemas de representação para que possam ser armazenados, juntamente com os programas, na memória de um computador.
ATIVIDADES EXTRA-CLASSE
- Ler o Capítulo 1 do livro-texto.
- Fazer os exercícios de fixação do final do capítulo.
- PARA ENTREGA: descrever a evolução histórica dos computadores desde 1930, relacionando-a com os dois modelos estudados em aula (Turing e von Neumann).
...