Sistemas Operacionais Linguagens de Programação Internet Prof. Adriano Mauro Cansian UNESP - São José do Rio Preto Linguagem Computacional Neste tópico veremos: Softwares e Sistemas Operacionais. As linguagens de programação. Tipos de linguagens e suas características. Uma introdução à Internet no século 21. Adriano Mauro Cansian 2 Prof. Dr. Adriano Mauro Cansian 1
Sistemas Operacionais e outros softwares Processamento Dados E Software para Processamento P Saída com Resultados S Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 2
Hardware e Software Sistema Computacional = hardware + software Hardware: Tudo que faz parte (física) da máquina. Conjunto de circuitos eletrônicos, discos, telas, etc... Software: Conjunto de instruções. Muitas vezes alteráveis à vamos detalhar mais adiante Programadores as criam e alteram. São conjuntos de procedimentos básicos que fazem que o computador seja útil executando alguma função. São ordens pré-estabelecidas, chamadas programas. Adriano Mauro Cansian 5 Softwares Básicos Sistema Operacional. Compiladores. Aplicativos Vamos ver estes primeiro Para uso comum ( de prateleira ). Ex: Word, Excel, Firefox, Photoshop, etc... Para usos específicos. Ex: Controlar um equipamento de laboratório. Adriano Mauro Cansian 6 Prof. Dr. Adriano Mauro Cansian 3
Software básico, divide-se em: Sistema Operacional (S.O.) Responsável pela interface (interação) entre hardware e o usuário, o hardware e outros softwares aplicativos, entre outras funções. Exemplos: Windows, UNIX, Linux, FreeBSD, DOS, Mac OS X, Android, IOS, dentre outros... Compiladores e interpretadores Softwares especiais que traduzem ou interpretam os programas escritos em diferentes linguagens de programação (serão discutidos mais adiante). Exemplos: Compilador Pascal, Compilador C, etc Adriano Mauro Cansian 7 Sistema Operacional Veremos com um pouco mais de detalhes para que serve o sistema operacional Prof. Dr. Adriano Mauro Cansian 4
Definição de S.O. (1) O Sistema Operacional é responsável por alocar recursos de hardware e escalonar tarefas. Ele também deve prover uma interface para o usuário - ele fornece ao usuário uma maneira de acesso aos recursos do computador. [Sobell] Adriano Mauro Cansian 9 Sistema Operacional e o hardware O Sistema Operacional deve ser adaptado às características do hardware. Isso quer dizer: Um Sistema Operacional só funciona no tipo de computador (hardware) para o qual ele foi criado. Softwares feitos para um sistema operacional, em geral, não funcionam em outro sistema operacional (isso é mais ou menos verdade). Adriano Mauro Cansian 10 Prof. Dr. Adriano Mauro Cansian 5
IBILCE - UNESP - SJRP S.O. não está apenas em computadores Sistema operacional não se restringe aos computadores. Todos os hardwares que realizam processamento possuem algum tipo de sistema operacional. Exemplos: Computadores de bordo de carros e aviões, sistemas de defesa, calculadoras, máquinas robotizadas, brinquedos computadorizados, videogames, aparelhos de DVD, etc Adriano Mauro Cansian 11 Humano SISTEMA OPERACIONAL HARDWARE Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 12 6
Um programa de computador ordena a execução de tarefas. n Programa Hardware + Sist. Op. café + = O computador interpreta as ordens e executa as tarefas Adriano Mauro Cansian 13 Até aqui vimos: Características lógicas dos sistemas computacionais, e sua relação com os softwares. Softwares básicos Sistema operacional Compiladores e interpretadores Adriano Mauro Cansian 14 Prof. Dr. Adriano Mauro Cansian 7
Nosos próximos passos Veremos: Linguagens de programação. Compiladores. Ou: como um software se torna um software? Adriano Mauro Cansian 15 Linguagens de Programação Prof. Dr. Adriano Mauro Cansian 8
Linguagens de Programação (1) São usadas para descrever algoritmos. Algoritmos: sequências de passos que levam à solução de um problema. Algoritmos serão discutidos de forma mais detalhada nesta disciplina, mais adiante. As linguagens permitem que as pessoas especifiquem como os passos devem ser feitos para resolver um problema. Adriano Mauro Cansian 17 Linguagens de Programação (2) Uma linguagem de programação: é uma notação especial, a qual pode ser usada para especificar algoritmos com precisão. As linguagens permitem criar os programas de computador ou softwares. Adriano Mauro Cansian 18 Prof. Dr. Adriano Mauro Cansian 9
Linguagens de Programação (3) Estes programas podem ser escritos em linguagens com vários graus de abstração e complexidade: Desde a linguagem ASSEMBLY diretamente relacionada com o funcionamento de um determinado processador. Até às linguagens de alto nível (Pascal, C, Java,...), independentes do processador. Para entender o que são as linguagens, é preciso entender um pouco melhor como o computador processa informações Adriano Mauro Cansian 19 Primeiras Linguagens Programadores usavam linguagem de máquina. Chamadas de Linguagem de Baixo Nível. Sequências de dígitos binários (0s e 1s). Por exemplo, a instrução some 1 + 1 deveria ser representada como: 10100100 Muitas desvantagens: Grande probabilidade de erro em todos os estágios do processo de programação. Mesmo sendo com algoritmos simples, resulta em longos programas, o que dificulta o processo de validação e detecção de erros. Adriano Mauro Cansian 20 Prof. Dr. Adriano Mauro Cansian 10
IBILCE - UNESP - SJRP A linguagem da máquina http://www.factsandmedia.nl/female-programmers-eniac/ Adriano Mauro Cansian Tipos de Linguagem As linguagens de baixo nível Restritas a linguagem de máquina. 21 2001: 2002: 2003: 2004: 2005: 2006: 2007: LDA 5001 LDB 5002 ADD STO 5003 Forte relação entre as operações implementadas pela linguagem e as operações implementadas pelo hardware. As linguagens de alto nível Z ß X+Y Aproximam-se das linguagens utilizadas por humanos para expressar problemas e algoritmos Cada declaração numa linguagem de alto nível equivale a várias declarações numa linguagem de baixo nível. Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 22 11
Programa-fonte Programa-fonte ou código-fonte : Programa-fonte é o programa escrito na linguagem de alto-nível. É legível. Escrito no formato de um arquivo um programa de edição de textos. Por exemplo: Pascal, C, Fortran, Java. Adriano Mauro Cansian 23 Alto Nível X Baixo Nível (1) Alto nível Problemas podem ser solucionados muito mais rapidamente e com muito mais facilidade. O programa em linguagem de alto nível é normalmente fácil de seguir e entender cada passo da execução. Adriano Mauro Cansian 24 Prof. Dr. Adriano Mauro Cansian 12
Alto Nível X Baixo Nível (2) Baixo nível Indicada para funções que precisam implementar instruções de máquina específicas que não são suportadas por linguagens de alto nível. Grande eficiência e tamanho reduzido dos programas. Quando não é possível usar linguagens de alto nível. Por exemplo: quando o hardware é muito simples, por exemplo, um sistema de um veículo, um brinquedo, ou um game. Adriano Mauro Cansian 25 Processamento de Linguagens Processadores atuais são capazes de executar somente programas em uma linguagem de baixo nível à a linguagem de máquina. Adriano Mauro Cansian 26 Prof. Dr. Adriano Mauro Cansian 13
Linguagem de máquina vs humanos Já que é complexo programar em linguagem de máquina: Como traduzir uma linguagem humana para uma linguagem de máquina? Resposta: usamos Compiladores É uma parte do software básico usado na computação. Veremos o que são... Adriano Mauro Cansian 27 Compiladores Permitem traduzir ou converter programas. Escritos numa linguagem parecida com a humana, para serem entendidos pelos computadores. Recebem como entrada um texto correspondente a um programa escrito numa linguagem de alto nível, e... Geram um código (programa) em linguagem máquina, que o processador ou computador vai entender. Convertem para a linguagem de máquina. Adriano Mauro Cansian 28 Prof. Dr. Adriano Mauro Cansian 14
Compiladores Programas chamados compiladores. Associados com uma linguagem de alto nível com a linguagem de máquina onde se pretende usar. Conceitualmente semelhantes a funções. Programa na Linguagem X Compilador (da linguagem X ) Programa Máquina Adriano Mauro Cansian 29 Processamento de um Programa If (a>b) { printf ( A é maior ) } else { printf ( B é maior ) } Compilador Executa e entra com valores A e B programa.exe A é maior programa.c Adriano Mauro Cansian 30 Prof. Dr. Adriano Mauro Cansian 15
Juntando vários programas If (a>b) { printf ( A é maior ) } else { printf ( B é maior ) } pgm1.c pgm1.o pgm2.o A é maior If (a>b) { printf ( A é maior ) } else { printf ( B é maior ) } pgm2.c If (a>b) { printf ( A é maior ) } else { printf ( B é maior ) } Compilador pgm3.o Linkeditor programa.exe pgm3.c Adriano Mauro Cansian 31 Processamento de Dados E P S Adriano Mauro Cansian 32 Prof. Dr. Adriano Mauro Cansian 16
Software n Programa Hardware + Sist. Op. compilador café + = Adriano Mauro Cansian 33 Até aqui vimos A representação da informação. Lógica binária e informação digital. Codificação de informações. As linguagens de programação Linguagem de máquina. Linguagem de alto nível. Compilação. Adriano Mauro Cansian 34 Prof. Dr. Adriano Mauro Cansian 17
Internet no Século 21: Uma Breve Introdução AGENDA - Internet: De onde vim? Onde estamos? Para onde vamos? Quem que eu sô? Onde que eu tô? Pra onde que eu vô? Prof. Dr. Adriano Mauro Cansian 18
A morte do computador A morte do computador (1) A era do computador acabou. Culpado: a única força tecnológica que poderia superar o impacto do computador de gerar e criar informação: A COMUNICAÇÃO Prof. Dr. Adriano Mauro Cansian 19
IBILCE - UNESP - SJRP O que acontece na Internet em 1 min (2014) http://www.intel.com/content/www/us/en/communications/internet-minute-infographic.html http://goo.gl/qle3vu Prof. Dr. Adriano Mauro Cansian 20
Crescimento da Internet Fonte: http://www.onlinemarketing-trends.com/ http://wearesocial.net/blog/2014/01/social-digital-mobile-worldwide-2014/ Prof. Dr. Adriano Mauro Cansian 21
IBILCE - UNESP - SJRP http://wearesocial.net/blog/2014/01/social-digital-mobile-worldwide-2014/ http://wearesocial.net/blog/2014/01/social-digital-mobile-worldwide-2014/ Prof. Dr. Adriano Mauro Cansian 22
http://wearesocial.net/blog/2014/01/social-digital-mobile-worldwide-2014/ Relatório completo: http://www.slideshare.net/wearesocialsg/social-digital-mobile-around-the-world-january-2014 A morte do computador (2) Comunicação: Mais essencial do que a computação. Comunicação é a forma pela qual moldamos uma personalidade, uma família, uma empresa, uma nação e um mundo. Prof. Dr. Adriano Mauro Cansian 23
A morte do computador (3) A era do computador acabou não fracassou. Ela deu origem a uma nova era. Ela gerou uma tecnologia que está transformando a cultura, a economia, a política e as nossas vidas de uma forma mais profunda. A morte do computador (4) Vivemos numa economia da informação. Grande frustração da era do computador: dificuldade de transmitir a informação. Tornou-se o recurso mais precioso. Informação é PODER......e informação que não pode ser transmitida torna-se um entrave. Prof. Dr. Adriano Mauro Cansian 24
Daqui...... para cá. Prof. Dr. Adriano Mauro Cansian 25
Informação IMÓVEL... Instituições maiores e mais estáticas. Economia menos flexível. Empregos menos satisfatórios. Vidas com menos oportunidades. Mas, o que é a Internet? No seu conhecimento, o que é a Internet? Adriano Mauro Cansian 52 Prof. Dr. Adriano Mauro Cansian 26
A Internet hoje A Internet hoje A Internet é hoje uma coleção de capacidades. Resultado de uma agregação de um conjunto comum de protocolos. Regras, padrões, definições, acordos,... Sistemas que não se falavam antes, puderam se comunicar entre si. Prof. Dr. Adriano Mauro Cansian 27
Lei de Metcalfe: O valor de uma rede aumenta proporcionalmente ao poder de todas as máquinas a ela acopladas. Exigências do mercado As pessoas passaram a acreditar que a Internet é real, e veio para ficar. As pessoas esperam que as coisas funcionem. Disponibilidade total; Segurança total; Confiabilidade total; e Em escala industrial. Prof. Dr. Adriano Mauro Cansian 28
Resumo das exigências do mercado Uso eficiente dos recursos de T.I. Equipamentos, armazenagem, aplicações, dados,... Infra-estrutura em escala industrial. Disponibilidade contínua, segurança total,... Flexibilidade de integração. Aplicações, pessoas, tecnologia,... Liberdade de desenvolvimento. Distribuído, centralizado, terceirizado,... Moore s Law (1965) Descreve a predição de que o poder computacional dos processadores dobra a cada 18 meses. Significa um crescimento tecnológico de 50 a 60% da capacidade, a cada ano. Em 5 anos a tecnologia será 10 vezes melhor, 10 vezes mais rápida,10 vezes mais diferente, e 10 vezes mais valiosa. Prof. Dr. Adriano Mauro Cansian 29
Avaliação e preparo As empresas enfrentam HOJE menos de 1% do volume de tráfego que podem esperar daqui há 5 anos. Obrigará a reordenação de todos os negócios. Os mercados precisam aprender a se avaliar. Enquanto isso, na Internet... (1) Hoje é possível colocar 1.000 lambdas em uma única fibra ótica. 10 Gbps em cada lambda (comprimento de onda) Até 864 fibras num único cabo. 864.000 lambdas x 10 Gbps = 8,6 petabits / seg 8,6 x 10 15 bps ou 8,6 quatrilhões de bits / seg. http://www.iscpc.org/ http://www1.alcatel-lucent.com/submarine/how/index.htm Prof. Dr. Adriano Mauro Cansian 30
IBILCE - UNESP - SJRP Enquanto isso, na Internet... (2) 8 petabits / seg é 1.000 vezes a média total de tráfego de telecomunicações disponível em toda a infra-estrutura global de 1997. 8 petabits representava TODO o tráfego na Internet em 1995, num mês inteiro! Este tráfego pode ser transportado hoje num único cabo de fibra óptica. Curiosidade: Cabo submarino Primeira mensagem enviada pelo Oceano Atlântico: Agosto de 1858. Telegrama Rainha Victoria (UK) para o Presidente Buchanan (USA). Levou 7 horas e 40 minutos para ser enviado. 99 palavras, consistindo de 509 letras. Este primeiro cabo submarino intercontinental não permitia transmitir mais que 6 palavras por hora, ou, uma palavra a cada 10 minutos! http://atlantic-cable.com/article/origins/index.htm Prof. Dr. Adriano Mauro Cansian 31
Até aqui vimos Um resumo sobre a Internet. A evolução do computador para a rede. Para onde as coisas estão caminhando. Nosso próximo passo: aprender a programar. Adriano Mauro Cansian 63 Este material tem finalidade meramente educacional e é totalmente GRATUITO. Estas notas de aula podem conter figuras ou textos extraídos de outras fontes, as quais, quando ocorrerem, serão devidamente citadas. Os direitos autorais dos textos citados são de propriedade de seus detentores. Esta não é u ma obra comercial. A citação ou uso de material d e outros autores, quando ocorrer, tem finalidade meramente didática. Nem o autor, nem a UNESP, se responsab ilizam por qu aisquer danos diretos ou indiretos que o uso deste material possa eventualmente causar. Este material pode ser copiado livremente, desde que citadas todas as fontes, e r espeitados os detentores dos direitos autorais, e d esde que o material seja distribuído por inteiro e não em partes, inclusive com os prefácios. A referência a qualquer produto comercial específico, marca, modelo, estabelecimento comercial, processo ou s erviço, através de nome comercial, marca registrada, nome de fabricante, fornecedor, ou nome de empresa, necessariamente NÃO constitui ou insinua seu endosso, recomendação, ou favorecimento por parte da UNESP ou do aut or. A UNESP ou o autor não endossam ou recomendam marcas, produtos, estabelecimentos comerciais, serviços ou fornecedores de quaisquer espécies, em nenhuma hipótese. As eventuais marcas e patentes mencionadas são de p ropriedade exclusiva dos detentores originais dos s eus direitos e, quando citadas, aparecem meramente em caráter informativo, para auxiliar os participantes do curso, numa base de boa-fé pública. Os part icipantes ou outros interessados devem utilizar estas informações por sua conta e r isco, e estarem cientes desta notificação. Este material é parcialmente baseado nos slides Introducão à Informática Histórico e Evolução. Copyright 2004 - Prof.Luiz Affonso Henderson Guedes de Oliveira, Prof. Kliger Kissinger F. Rocha Prof. Valnaide Gomes Bittencourt. UFRN - Universidade Federal do Rio Grande do Norte / Centro de Tecnologia. Departamento de Computação e Automação. Todos os direitos reservados aos autores. Adriano Mauro Cansian 64 Prof. Dr. Adriano Mauro Cansian 32