SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação...
Transcript of SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação...
![Page 1: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/1.jpg)
SSC0101 - ICC1 – Teórica
Introdução à Ciência da Computação I
Prof. Vanderlei Bonato: [email protected]
Conceitos básicos sobre computadores
![Page 2: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/2.jpg)
Sumário
O que é um computador e onde podemos encontrá-los?
Divisão: Hardware (HW) e Software (SW)
Sistema Operacional (SO)
![Page 3: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/3.jpg)
Definição
O que é um computador?Segundo dicionário de Cambridge: “an electronic machine which is used for storing, organizing and finding words, numbers and pictures, for doing calculations and for controlling other machines”
Onde podemos encontrá-los?
![Page 4: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/4.jpg)
(VA
HID
; GIV
AR
GIS
, 200
2)
![Page 5: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/5.jpg)
Hardware
É a parte física do computador, que inclui os componentes eletrônicos, placas de circuito impresso, gabinete, teclado, mouse, monitor e etc.
É a parte que podemos “tocar!”
Veja a seguir os componentes de hardware normalmente encontrados num PC (Personal Computer)
![Page 6: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/6.jpg)
![Page 7: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/7.jpg)
Estrutura genérica de um PC
Bus
Monitor/Display
Tanenbaum (200x)
![Page 8: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/8.jpg)
SoftwareSão instruções que controlam o hardware de modo a realizar tarefas determinadas por um “algoritmo”. O conjunto dessas instruções implementado numa linguagem computacional é denomimado “programa”
As instruções utilizam o hardware para realizar operações sobre dados armazenados na memória do computador
![Page 9: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/9.jpg)
Software
Há instruções de entrada e saída, de operações lógicas e aritméticas, de teste condicional, de escrita e leitura de dados na memória do computador, de atribuição de valores, de configuração do sistema e etc.
![Page 10: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/10.jpg)
Tipos de SoftwareSoftware/programa aplicativo
São programas utilizados diretamente pelo usuário para executar uma ou mais tarefas específicas
Também conhecido como programa de usuário, APP (Application Software) ou simplesmente aplicação
Exemplos:Editor de Imagens
Tocador de vídeo e áudio
Jogos
..
![Page 11: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/11.jpg)
Tipos de SoftwareSoftware/programa de sistema
Abrange todos os programas voltados ao gerenciamento e controle dos recursos de hardware do computador
Serviços providos pelo SO
Por exemplo:
Ferramentas de suporte ao desenvolvimento de programas (ex. compilador, montador e ligador/link-editor)
Gerenciador de arquivos
Serviços de comunicação
...
![Page 12: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/12.jpg)
Camadas de software e hardware
Tanenbaum ()
![Page 13: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/13.jpg)
Sistema Operacional
(Silberschatz, 2004)
![Page 14: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/14.jpg)
Sistema OperacionalControla e coordena o uso do hardware entre várias aplicações e usuáriosSO é um alocador de recursos
Gerencia todos os recursosResolve conflitos de requisições para o uso eficiente e justo dos recursos de hardware
SO é um programa de controle Controla a execução de programas para prevenir a ocorrência de erros e uso impróprio do computador
![Page 15: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/15.jpg)
Serviços do SO• Serviços úteis para o usuário:
– Interface• Praticamente todos os SOs tem interface com o
usuário• As interfaces variam entre Command-Line
Interface (CLI) e Graphics User Interface (GUI) – Execução de programas
• O sistema deve ser capaz de carregar um programa na memória do computador para executá-lo
– Operações de entrada e saída (I/O – Input/Output)• Um programa em execução requerer operações
de I/O (teclado, display, câmera, etc.)
![Page 16: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/16.jpg)
Serviços do SO• Serviços úteis para o usuário (cont.):
– Manipulação do sistema de arquivos• Manipular arquivos e diretórios, como criar, editar,
ler, apagar, alterar permissões e etc.– Comunicação
• Comunicação para troca de informação entre processos do mesmo computador ou entre computadores através de uma rede
– Deteção de erros• SOs devem estar sempre atento a possíveis erros• Erros podem ocorrer na CPU, hardware da
memória, dispositivos de I/O, programas de usuário e etc.
![Page 17: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/17.jpg)
Serviços do SO• Serviços úteis para garantir a eficiência de
operação do próprio sistema por meio do compartilhamento de recursos– Alocação de recursos
• Quando múltiplos usuários ou trabalhos executam concorrentemente, os recursos de hardware precisam ser alocados para cada um deles
– Utilização• Acompanhar o que, quanto e que tipo de recursos
do computador cada usuário utiliza– Proteção e segurança
• Garantir que todos os acessos aos recursos do sistema estejam controlados e protegidos
![Page 18: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/18.jpg)
Sistema Operacional: UNIXCriado em 1969 no laboratório da Bell
Considerado robusto e estável (ex. IBM AIX, Sun Solaris e HP-UX)
Trata-se de um sistema multiusuário que dispõe de rotinas de gerenciamento de processos e memória
Como a maioria dos SOs, é constituído de duas partes: programas de sistema e Kernel (núcleo)
![Page 19: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/19.jpg)
O kernel• Constituído por programas que ficam abaixo da
interface de chamada de sistema e acima do hardware
• No UNIX, provê sistema de arquivos, escalonamento do processador/CPU, gerenciamento de memória e outras funções ao SO, sendo tudo isso numa única camada
![Page 20: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/20.jpg)
Estrutura do SO UNIX
(Silberschatz, 2004)
![Page 21: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/21.jpg)
Comunicação do programa de usuário com o kernel do SO
(Silberschatz, 2004)
![Page 22: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/22.jpg)
Exemplo: printf() na linguagem C
(Silberschatz, 2004)
![Page 23: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/23.jpg)
Chamada de sistema (system call)• Interface de acesso aos serviços providos pelo
SO
• A system call é normalmente acessada através de uma interface de mais alto nível denominada API (Application Programming Interface)
• As três APIs mais comuns são Win32 API (SO Windows), POSIX API (inclui praticamente todas as versões dos SOs UNIX, Linux, and Mac OS X) e Java API para Máquina Virtual Java
![Page 24: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/24.jpg)
Sistema Operacional: Linux
Iniciado por Linus Torvalds como uma alternativa mais barata e prática ao sistema UNIX
Código fonte sob licença GPL (software livre)
Atualmente é o SO mais utilizado em servidores
![Page 25: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/25.jpg)
Outros Sistemas Operacionais
Microsoft - WindowsWindows Mobile
Google Chrome OS (Linux-based) Android (Linux-based) - voltado para sistemas embarcados.Apple - Mac OS X (UNIX-based) – Apple
iOS (iPhone OS)IBM i, z/OS, z/VM, z/VSE (SOs da IBM)
![Page 26: SSC0101 - ICC1 – Teórica Introdução à Ciência da Computação Iwiki.icmc.usp.br/images/b/be/Aula1_-_Conceitos_Básicos_2011101.pdf · SSC0101 - ICC1 – Teórica Introdução](https://reader036.fdocumentos.tips/reader036/viewer/2022062414/5c11a60c09d3f2602c8c3f10/html5/thumbnails/26.jpg)
FIM Aula 1