Instituto Politécnico de Beja Escola Superior de Tecnologia e Gestão Engenharia Informática. Simulação Numérica

Tamanho: px
Começar a partir da página:

Download "Instituto Politécnico de Beja Escola Superior de Tecnologia e Gestão Engenharia Informática. Simulação Numérica"

Transcrição

1 Instituto Politécnico de Beja Escola Superior de Tecnologia e Gestão Engenharia Informática Simulação Numérica Nuno Gonçalo Varela n.º 4383 Docente: Nuno Sidónio Pereira 2007/2008

2 Índice Abstract 3 0. Introdução 4 1. Tecnologia Sistema Operativo Fortran Linguagem de Programação Force 2.0 Compilador Gnuplot Gráficos Máquina Virtual Virtual Box Solaris 9 2. Testes Force, Fortran e Gnuplot Aplicações Conjunto de Mandelbrot Algoritmo e Pseudocódigo Código Testes com imagens 2D Testes com imagens a cores Conclusão Links 25 Anexos Código Fortran e Scripts Gnuplot para gerar os gráficos 26 2

3 Abstract Estudo do desempenho computacional no cálculo do conjunto de Mandelbrot para posterior impressão gráfica. 3

4 Introdução O termo fractal descreve fenómenos matemáticos que exibem comportamento caótico, como por exemplo, auto-similaridade em várias escalas. Estes fenómenos envolvem a definição de algoritmos ou funções recursivas, e necessitam poder de processamento relativamente grande para serem calculados. Os fractais de Mandelbrot (também chamados conjunto de Mandelbrot) são um conjunto de números complexos, na forma z = x + iy, onde x e y são números reais, e i é um número especial, que representa a raiz quadrada de -1. O número x é a parte real do número complexo, e iy é a parte imaginária. O conjunto de Mandelbrot é um problema trivialmente paralelizável, pois os pontos podem ser divididos igualmente entre os processadores, e não é necessário comunicação entre os processos, até o final do processamento, onde os dados são recolhidos por um dos processadores. Uma questão importante a ser considerada é que não se sabe à partida o número de iterações necessárias para se calcular o valor de cada pixel, logo não se sabe quando um processador irá terminar a sua carga de trabalho. Percebe-se que, resolver o problema estaticamente, não é a maneira ideal, então torna-se interessante utilizar um algoritmo onde um dos processadores distribui trabalho para os restantes (master-slave), desta forma o algoritmo é dinâmico e dificilmente teremos processadores à espera durante um grande intervalo de tempo. 4

5 Tecnologia 1.1 Sistema Operativo Para podermos realizar este trabalho, foram utilizados dois sistemas operativos, o Windows XP Profissional (Service Pack 2) e o Windows Vista, em que ambos os sistemas operativos são desenvolvidos pela Microsoft. 1.2 Fortran Linguagem de Programação A família de linguagens de programação conhecida globalmente como Fortran foi desenvolvida a partir da década de 1950 e continua a ser usada hoje em dia. O nome tem como origens a expressão "FORmula TRANslation" (ou "Translator"), em português, Tradutor de Fórmulas. A linguagem Fortran é principalmente usada em Ciência da Computação e Análise Numérica. A linguagem Fortran foi largamente adoptada por cientistas para a escrita de programas numericamente intensivos, o que encorajou os produtores de compiladores a escrever compiladores que gerassem código mais rápido. A ampla disponibilidade de compiladores para diferentes computadores; a simplicidade da linguagem; facilidade para ensiná-la; sua eficiência e as vantagens introduzidas pelo uso de subrotinas e compilação independente das mesmas; a capacidade de lidar com número complexo; além de muitas outras características ajudaram em sua ampla difusão dentro da comunidade científica. O Fortran permite a criação de programas que primam pela velocidade de execução. Daí reside seu uso em aplicações científicas computacionalmente intensivas como meteorologia, física, astronomia, geofísica, engenharia etc. 5

6 1.3 Force 2.0 Compilador O Force é um ambiente integrado de desenvolvimento, ou Integrated Development Environment (IDE), para programas escritos na linguagem de programação Fortran. É uma ferramenta de domínio público e que pode ser executada em sistemas operacionais da família Microsoft Windows. O ambiente de desenvolvimento é composto por: - editor de texto, com ressalta para a sintaxe do Fortran; - compilador Fortran; - depurador (debugger), para a verificação do programa; - janela de gerenciador de projeto com os arquivos fontes; - janela de mensagens (avisos e erros). 1.4 Gnuplot Gráficos O Gnuplot é um programa de linha de comando que pode plotar os gráficos de funções matemáticas em duas ou três dimensões, e outros conjuntos de dados. O programa pode ser executado na grande maioria dos computadores e em diversos sistemas operativos (Linux, UNIX, Windows, Mac OS X...). O Gnuplot pode gerar saídas directamente no ecran, ou em muitos formatos de arquivos gráficos, incluindo PNG, EPS, SVG, GIF, JPEG e muitos outros. Ele também é capaz de produzir código LaTeX que possa ser incluído directamente nos documentos LaTeX, fazendo uso de fontes LaTeX e poderosas habilidades com fórmulas. O programa pode ser usado tanto interactivamente como através de scripts em lote (batch mode). Para um script de exemplo e sua saída, veja esta espiral logarítmica. O programa é bem suportado e documentado. Ajuda extensiva pode ser encontrada na internet gnuplot é usado como a engine de plotagem do GNU Octave, Maxima e gretl, e ele pode ser usado a partir de várias linguagens de scripts, incluindo Perl (via CPAN), Python (via Gnuplot-py e SAGE), Ruby (via rgnuplot) e Smalltalk (Squeak e GNU Smalltalk). gnuplot é programado em C. 6

7 1.5 Máquina Virtual Na ciência da computação, máquina virtual é o nome dado a uma máquina, implementada através de software, que executa programas como um computador real. Uma máquina virtual (Virtual Machine VM) pode ser definida como uma duplicata eficiente e isolada de uma máquina real. A IBM define uma máquina virtual como uma cópia isolada de um sistema físico, e esta cópia está totalmente protegida. O termo máquina virtual foi descrito na década de 60 utilizando um termo de sistema operativo: uma abstracção de software que consegue ver um sistema físico (máquina real). Com o passar dos anos, o termo englobou um grande número de abstracções por exemplo, Java Virtual Machine JVM que não virtualiza um sistema real. Ao invés de ser uma máquina real, isto é, um computador real, feito de hardware e executando um sistema operativo específico, uma máquina virtual é um computador fictício criado por um programa de simulação. A sua memória, processador e outros recursos são virtualizados. A virtualização é a interposição do software (máquina virtual) em várias camadas do sistema. É uma forma de dividir os recursos de um computador em múltiplos ambientes de execução. Os emuladores são máquinas virtuais que simulam computadores reais. São bastante conhecidos os emuladores de vídeo games antigos e os emuladores de microcomputadores, como o VMware e o Bochs. Linguagem de máquina nada mais é do que a linguagem que se usa para programar, ou seja números binários. Os tipos de máquinas virtuais podem ser divididos em dois tipos: Tipo 1: Sistema em que o monitor é implementado entre o hardware e os sistemas convidados (guest system). Tipo 2: Nele o monitor é implementado como um processo de um sistema operativo real, denominado sistema anfitrião (host system). Tipos Híbridos: Os monitores de tipo 1 e 2 raramente são usados em sua forma conceitual em implementações reais. Na prática, várias optimizações são 7

8 inseridas nas arquitecturas apresentadas, com o objectivo principal de melhorar o desempenho das aplicações nos sistemas convidados. Como os pontos cruciais do desempenho dos sistemas de máquinas virtuais são as operações de E/S, as principais optimizações utilizadas em sistemas de produção dizem respeito a essas operações. Outra importante categoria das máquinas virtuais, são as máquinas virtuais para computadores fictícios projectados para uma finalidade específica. Actualmente a mais importante máquina virtual desta família é a JVM (máquina virtual Java). Existem simuladores para ela em quase todos os computadores actuais, desde computadores de grande porte até telefones celulares, o que torna as aplicações Java extremamente portáveis. Uma importante vantagem sem duvida de se escrever código para uma máquina virtual é a de se poder compilar o código sem que seja perdida a portabilidade, melhorando-se a velocidade em relação à programação interpretada, que também é portátil, porém mais lenta, já que neste caso cada linha será traduzida e executada em tempo de execução, e no caso da máquina virtual cada mnemónico da máquina virtual é convertido no equivalente em linguagem de máquina (ou assembly) da máquina real Virtual Box O VirtualBox é um software/máquina virtual que, como o VMware Workstation, visa criar ambientes para instalação de sistemas distintos. Nela é permitida a instalação e utilização de vários sistemas operativos dentro de outro dando suporte real a diferentes softwares de outros sistemas. O VirtualBox, desenvolvido pela Sun Microsystems, Inc., é de forma geral um virtualizador completo para hardware x86. Foi concebido para ser servidor, desktop, é agora como solução de virtualização de qualidade profissional, também é um Software Open Source. Modularidade. O VirtualBox tem um desenho extremamente modular com interfaces de programação interna bem definidas e um desenho cliente/servidor. Isso torna fácil o controlo de várias interfaces de uma só vez. 8

9 Por exemplo: pode-se iniciar uma máquina virtual numa máquina típica virtual de interface gráfica e, de seguida, controlar essa máquina a partir da uma linha de comando, ou possivelmente remotamente Solaris O Solaris é um Sistema Operativo UNIX desenvolvido pela Sun Microsystems. As primeiras versões do Solaris (baseadas no código do BSD) foram chamadas SunOS, sendo o seu nome alterado para Solaris 2 quando passou a ser baseado no System V. O Solaris é conhecido pela sua acessibilidade, em especial nos sistemas de SPARC, também por dar origem a muitas características inovadoras tais como DTrace e ZFS. O Solaris suporta SPARC baseado em x86 estações de trabalho e usuários baseados do Sun e de outros vendedores, com esforços mover fabricar às plataformas adicionais. O Solaris é certificado de encontro à única especificação de Unix. Embora seja desenvolvido historicamente como o software proprietário, uma maioria de seu código de base é agora software aberto da fonte como OpenSolaris. Na sua versão 10, lançada no início de 2005, o Solaris oferece os seguintes recursos avançados: - DTrace: análise e resolução de problemas de performance, em tempo real; - Solaris Containers: consolidação de aplicações em servidores de maior porte, através da criação de ambientes isolados e independentes; - Predictive Self Healing: capacidade de antecipar-se à ocorrência de falhas que possam causar bloqueios críticos, isolando-as e auto-recuperando-se; - Smarter Updating: actualizações automáticas e inteligentes através do Sun Update Connection; - Integrated Open Source Applications: disponibilidade de centenas de aplicações já integradas ao sistema; - ZFS: um novo tipo de sistema de arquivos de administração simplificada, semântica transaccional, integridade de dados end-to-end e grande escalabilidade. 9

10 Testes 2.1 Force, Fortran e Gnuplot Para que o conhecimento sobre a linguagem de programação Fortran fosse desenvolvido e assim concretizar o objectivo do nosso trabalho, foram testados pequenos programas de cálculo numérico e alguns deles testadas também a sua representação gráfica no Gnuplot. Deste modo começamos por programar o cálculo da função Factorial entre dois números introduzidos pelo utilizador e também a aplicação da Fórmula Resolvente. Programámos também o cálculo da função Integral de um trapézio, em que são introduzidos três valores, obtendo depois o resultado. Programámos também a Equação Diferencial do Arrefecimento de Newton, a resolução do Método de Euler de Resolução de Equações Diferenciais e a resolução do método da Equação Diferencial de Runge Kutta. O código fonte das aplicações encontra-se escrito na parte dos anexos por ordem de apresentação. Na janela da aplicação da função Factorial, vamos calcular o factorial dos números entre, por exemplo, 1 e 10, números estes introduzidos pelo utilizador, e a aplicação devolvemos o Factorial de cada número entre 1 e

11 Na aplicação da Fórmula Resolvente o utilizador introduz três algarismos, por exemplo, -1, 4 e 3, e o programa devolve os zeros dessa mesma função e o erro de cálculo de arredondamento. No programa que calcula a função Integral de um trapézio, o utilizador tem que introduzir os valores respeitantes a a, a b, e a n. E deste modo temos o valor do Integral. 11

12 O programa que calcula a Equação Diferencial da Lei do Arrefecimento de Newton Foram gerados 4 ficheiros com resultados para comparar as suas diferentes evoluções, variando apenas a Temperatura Inicial T 0 e o valor de K, que nos diferentes ficheiros temos os seguintes valores: Temperatura Inicial Tempo maximo Constante Temperatura Ambiente T 0 t max k A ficheiro ficheiro ficheiro ficheiro

13 13

14 14

15 15

16 Método de Euler de Resolução de Equações Diferenciais 16

17 Método de Runge-Kutta de Resolução de Equações Diferenciais 17

18 Aplicações 3.1 Conjunto de Mandelbrot Conjunto de Mandelbrot O conjunto de Mandelbrot é um exemplo famoso de fractal Outra vista do conjunto de Mandelbrot Algoritmo e Pseudocódigo O conjunto de Mandelbrot foi definido pela primeira vez em 1905 por Pierre Fatou, um matemático francês que trabalhou no campo da dinâmica analítica complexa. Fatou estudou processos recursivos como. Começando com um ponto qualquer z0 no plano complexo, podem-se gerar pontos sucessivos aplicando-se repetidamente esta fórmula. A sequência de pontos obtida é chamada órbita de z0 sob a transformação. 18

19 Na matemática, o conjunto de Mandelbrot é um fractal definido como o conjunto de pontos c no plano complexo para o qual a sucessão está definida iterativamente: não tende ao infinito. Para cada ponto c do plano complexo, a sequência se expande como: e assim por diante. Para determinar se o ponto Z 0 pertence ao conjunto de Mandelbrot (tradicionalmente representado em preto) ou se está fora do conjunto (colorido de acordo com sua velocidade de escape), a distância de Z i deve ser calculada a cada iteração: Se, então. De notar que uma das muitas optimizações possíveis no cálculo de mandelbrots pode-se aplicar aqui. Em vez de testar se, podemos simplesmente testar se operação de cálculo da raiz quadrada. evitando, desse modo, a E quando escrito em pseudocódigo, o algoritmo fica com este aspecto: For each pixel on the screen do: { x = x0 = x co-ordinate of pixel y = y0 = y co-ordinate of pixel iteration = 0 19

20 max_iteration = 1000 while ( x*x + y*y <= (2*2) AND iteration < max_iteration ) { xtemp = x*x - y*y + x0 y = 2*x*y + y0 x = xtemp iteration = iteration + 1 } if ( iteration == max_iteration ) then colour = black else colour = iteration plot(x0,y0,colour) } onde, relativos a pseudocode a and : z = x + iy z2 = x2 + i2xy y2 c = x0 + iy0 e assim, como pode ser visto no pseudocode na computação de x e y: x = Re(z2 + c) = x2 y2 + x0 and y = Im(z2 + c) = 2xy + y0 Para obter o conjunto de imagens coloridas, a atribuição de uma cor para cada valor do número de iterações executadas podem ser feitas usando uma de uma variedade de funções (linear, exponencial, etc). Se a tabela tem cor, por exemplo, 500 registos, então pode-se usar n mod 500, onde n é o número de iterações, para seleccionar a cor para o uso. Pode-se inicializar a cor da paleta matriz de várias formas, dependendo de que recurso especial se utiliza no comportamento da cor para se gerar o gráfico. 20

21 3.1.2 Código Program Mandelbrot Real a, a1, b, x, y, z, h, xmin, xmax, ymin, ymax integer k, k_max xmin = -2. ymin = -1. xmax = 2. ymax = 1. h = k_max = 200 open (unit=1, file='mandel_brot.txt') x = xmin y = ymin do while (x.le.xmax) y = ymin do while (y.le.ymax) a = 0. b = 0. k = 1 do while(k.le.k_max) a1 = a a = a * a - b * b + x b = 2. * a1 * b + y k = k + 1 end do z = a * a + b * b if(z.lt.4.) then z=sqrt(z) write (1,*) x, ' ', y, ' ', z end if y = y + h end do x = x + h end do close (unit = 1) pause end Program 21

22 3.1.3 Teste com imagens a 2D Cálculo realizado nos intervalos -2 < y < 1, -2 < x < 0, 5 e h = 0,005 22

23 3.1.4 Teste com imagens a cores Cálculo realizado nos intervalos -2 < y < 1, -2 < x < 0,5 e h = 0,005 Cálculo realizado nos intervalos 0,6 < y < 0,9, -0,25 < x < 0 e h = 0,

24 Conclusão Com este trabalho tive oportunidade, com o apoio do docente da cadeira, de conhecer a linguagem de programação Fortran através da programação, embora simples, de funções matemáticas, e a sua impressão gráfica, com o gerador de gráficos Gnuplot. Este trabalho também foi oportuno, para poder alargar os meus conhecimentos, tanto no nível de cálculo numérico como na programação do mesmo, e também na tradução dos resultados numéricos obtidos, em imagens gráficas para melhor interpretação dos valores obtidos. 24

25 Links Páginas visitadas em

26 Anexos Código Fortran A1 Program FACTORIAL Double Precision fact Integer k, n1, n2 write(*,*)'primeiro Numero' read (*,*), n1 write(*,*)'ultimo Numero' read (*,*), n2 do k=n1, n2 write(*,*)k, fact(k) end do write(*,*)'calculo efectuado' end program double precision function fact(n) integer n, k fact=1.d0 do k=2, n fact = fact * k end do end function A2 Program FResolvente Double Precision a, b, c, x1, x2 read (*,*)a,b,c call resolve2(a,b,c, x1,x2) write (*,*)x1, x2 26

27 write (*,*) Equacao(a,b,c, x1),equacao(a,b,c, x2) write (*,10) 1.d0 + 1.d format (e22.16) end program subroutine resolve2(a,b,c, x1,x2) Double Precision a, b, c, x1, x2 if ((b*b-4*a*c).ge.0) then x1 = (-b + sqrt(b*b-4*a*c)) / 2*a x2 = (-b - sqrt(b*b-4*a*c)) / 2*a else write(*,*) 'Erro' stop end if end subroutine Double Precision function Equacao (a,b,c,x) Double Precision a,b,c,x Equacao = (a*x+b) * x+c end function A3 Program trapezios double precision a, b, h, int, f, x integer n, k write(*,*) 'a, b, n' read(*,*) a, b, n h = (b-a)/dble(n) int = 0D0 x = a + h do k=1, n-1 int = int + f(x) x = x + h end do int = h * (f(a) + f(b) + 2.D0 * int) / 2.D0 27

28 write (*,*) 'Integral = ', int end program double precision function f(x) double precision x f = dexp(x) end function A4 Program LANewton Double Precision x, y, h, F, xmax, K, A Common/parametros/K,A x = 0.D0! Condi Æo inicial c y = 1.D0! Condi Æo inicial h = 0.001D0! Passo de integra Æo c xmax = 1.D0! Val. max. de variavel independente write (*,*) 'Temperatura Inicial To=' read (*,*) y write (*,*) 'Tempo Maximo tmax=' read (*,*) xmax write(*,*) 'Constante k=' read(*,*) K write(*,*) 'Temperatura Ambiente A=' read(*,*) A open (unit=1, file='result_lanewton1.txt') do while (x.le.xmax) y = y + h * (1.D0/3.D0*f(x,y)+2.D0/3.D0* & f(x+3.d0/4.d0*h, y+3.d0/4.d0*h*f(x,y))) x = x + h write (1,10) x,y! Escreve na unidade 1 end do 10 format (2(2x, E21.15))! Formato de escrita close (unit = 1) pause end program double precision function F(x,y) double precision x,y,k,a Common/parametros/K,A F = K*(A-y)! 2 membro da eq. diferencial 28

29 end function A5 Program Euler Double Precision x, y, h, F, xmax x = 0.D0! Condi Æo inicial y = 1.D0! Condi Æo inicial h = 0.05D0! Passo de integra Æo xmax = 10.D0! Val. max. de variavel independente open (unit=1, file='result_euler.txt') do while (x.le.xmax) y = y + h * F(x,y)! Eq. it. Euler x = x + h write (1,10) x,y! Escreve na unidade 1 end do 10 format (2(2x, E21.15))! Formato de escrita close (unit = 1) pause end program double precision function F(x,y) double precision x, y F = y! 2 membro da eq. diferencial end function A6 Program RungeKutta Double Precision x, y, h, F, xmax x = 0.D0! Condi Æo inicial y = 1.D0! Condi Æo inicial h = 0.001D0! Passo de integra Æo xmax = 1.D0! Val. max. de variavel independente open (unit=1, file='result_rungekutta2.txt') do while (x.le.xmax) c y = y + h * (1.D0/3.D0*f(x,y)+2.D0/3.D0* c & f(x+3.d0/4.d0*h, y+3.d0/4.d0*h*f(x,y)))! Eq. it. Euler 29

30 y=y+h*f(x,y) x = x + h write (1,10) x,y! Escreve na unidade 1 end do 10 format (2(2x, E21.15))! Formato de escrita close (unit = 1) pause end program double precision function F(x,y) double precision x,y F = y! 2 membro da eq. diferencial end function 30

31 Scripts Gnuplot para gerar os gráficos B1 set title "Lei do Arrefecimento de Newton - To=30, A=10" set xlabel "tempo" set ylabel "Temperatura" set xrange[0:10] set yrange[10:30] set key set ytics nomirror plot "result_lanewton1.txt" t "k=0.2" w l,\ "result_lanewton1.txt" t "k=0.4" w l set term gif set out "grafico_lanewton_1.gif" rep set term win set out B2 set title "Lei do Arrefecimento de Newton - To=30, A=80" set xlabel "tempo" set ylabel "Temperatura" set xrange[0:10] set yrange[30:80] set key set ytics nomirror plot "result_lanewton3.txt" t "k=0.2" w l,\ "result_lanewton3.txt" t "k=0.2" w l set term gif set out "grafico_lanewton_2.gif" rep set term win 31

32 set out B3 set title "Lei do Arrefecimento de Newton - To=30, A=10" set xlabel "tempo" set ylabel "Temperatura" set xrange[0:10] set yrange[10:30] set key set ytics nomirror plot "result_lanewton1.txt" t "k=0.2" w l set term gif set out "grafico_lanewton_1.gif" rep set term win set out B4 set title "Lei do Arrefecimento de Newton - To=30, A=10" set xlabel "tempo" set ylabel "Temperatura" set xrange[0:10] set yrange[10:30] set key set ytics nomirror plot "result_lanewton2.txt" t "k=0.4" w l set term gif set out "grafico_lanewton_2.gif" rep set term win 32

33 set out B5 set title "Lei do Arrefecimento de Newton - To=30, A=80" set xlabel "tempo" set ylabel "Temperatura" set xrange[0:10] set yrange[30:80] set key set ytics nomirror plot "result_lanewton3.txt" t "k=0.2" w l set term gif set out "grafico_lanewton_3.gif" rep set term win set out B6 set title "Lei do Arrefecimento de Newton - To=30, A=80" set xlabel "tempo" set ylabel "Temperatura" set xrange[0:10] set yrange[30:80] set key set ytics nomirror plot "result_lanewton4.txt" t "k=0.4" w l set term gif set out "grafico_lanewton_4.gif" rep set term win 33

34 set out B7 set title "Exemplo com o Metodo de Euler" set xlabel "x" set ylabel "y" set key 3, set yrange[0:25000] set y2tics set ytics nomirror plot "result_euler.txt" t "solucao euler", exp(x) t "solucao exacta",\ "result_euler.txt" us 1:(log(abs($2-exp($1)))) axes x1y2 t "erro" set term gif set out "grafico_euler1.gif" rep set term win set out B8 set title "Exemplo com o metodo de Runge-Kutta2" set xlabel "x" set ylabel "y" set key set ytics nomirror plot "result_rungekutta2.txt" t "solucao Runge-Kutta" w l, exp(x) t "solucao exacta",\ "result_rungekutta2.txt" us 1:((abs($2-exp($1))/$2)) axes x1y2 t "erro" w l set term gif set out "grafico_rungekutta2.gif" rep set term win set out 34

ETEC RAPOSO TAVARES GESTÃO DE SISTEMAS OPERACIONAIS I. Máquina Virtual. Instalação de S.O. em dual boot. 1º Semestre 2010 PROF.

ETEC RAPOSO TAVARES GESTÃO DE SISTEMAS OPERACIONAIS I. Máquina Virtual. Instalação de S.O. em dual boot. 1º Semestre 2010 PROF. ETEC RAPOSO TAVARES GESTÃO DE SISTEMAS OPERACIONAIS I Máquina Virtual Instalação de S.O. em dual boot 1º Semestre 2010 PROF. AMARAL Na ciência da computação, máquina virtual é o nome dado a uma máquina,

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 2 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores SISTEMAS OPERACIONAIS Maquinas Virtuais e Emuladores Plano de Aula Máquinas virtuais Emuladores Propriedades Benefícios Futuro Sistemas de Computadores Os sistemas de computadores são projetados com basicamente

Leia mais

Sistemas Operacionais 1/66

Sistemas Operacionais 1/66 Sistemas Operacionais 1/66 Roteiro Máquinas virtuais Emuladores Propriedades Benefícios Futuro 2/66 Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3 componentes: hardware

Leia mais

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano Sistemas Operacionais Marcos Laureano 1/66 Roteiro Máquinas virtuais Emuladores Propriedades Benefícios Futuro 2/66 Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3

Leia mais

Sistemas Operacionais. Conceitos de um Sistema Operacional

Sistemas Operacionais. Conceitos de um Sistema Operacional Sistemas Operacionais Conceitos de um Sistema Operacional Modo usuário e Modo Kernel Como já vimos são ambientes de execução diferentes no processador Há um conjunto de funções privilegiadas acessadas

Leia mais

Curso Técnico em Redes

Curso Técnico em Redes Curso Técnico em Redes Prof. Airton Ribeiro - 2012 Histórico das Linguagens de Programação O que é? É um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas

Leia mais

Laboratório de Redes. Professora Marcela Santos marcela@edu.estacio.br

Laboratório de Redes. Professora Marcela Santos marcela@edu.estacio.br Laboratório de Redes Professora Marcela Santos marcela@edu.estacio.br Active Directory (AD) Samba Máquina virtual Criação de uma máquina virtual Instalação do Windows Server O Active Directory (AD) é um

Leia mais

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi 5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem

Leia mais

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores Máquinas Virtuais e Emuladores Marcos Aurelio Pchek Laureano Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3 componentes: hardware sistema operacional aplicações Sistemas

Leia mais

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X Índice Traduzindo e iniciando uma aplicação Compiladores Assembladores Linkers Loaders DLLs Iniciando um programa em Java Após toda a matéria abordada nesta

Leia mais

Capítulo 8. Software de Sistema

Capítulo 8. Software de Sistema Capítulo 8 Software de Sistema Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer o ciclo de desenvolvimento da linguagem Java

Leia mais

Introdução aos Sistemas da InformaçãoAula 4 p. 1

Introdução aos Sistemas da InformaçãoAula 4 p. 1 Introdução aos Sistemas da Informação Aula 4 Ivan da Silva Sendin ivansendin@yahoo.com FACOM - Universidade Federal de Uberlândia Introdução aos Sistemas da InformaçãoAula 4 p. 1 Software O que é software?

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele

Leia mais

Professor Esp.: Douglas Diego de Paiva douglas.ddp@gmail.com

Professor Esp.: Douglas Diego de Paiva douglas.ddp@gmail.com VIRTUALIZAÇÃO Professor Esp.: Douglas Diego de Paiva douglas.ddp@gmail.com Virtualização o que é? É uma forma de esconder as características físicas de uma plataforma computacional dos usuários, emulando

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 3 Software Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Barramento Sistemas Operacionais Interliga os dispositivos de E/S (I/O), memória principal

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópico 33 e 34 Virtualização São Paulo 2009 Virtualização Ao falar em virtualização,

Leia mais

Informática Aplicada à Engenharia Florestal

Informática Aplicada à Engenharia Florestal Informática Aplicada à Engenharia Florestal Computação Científica Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Computação Científica Conceito Computação Científica

Leia mais

O modelo do computador

O modelo do computador O modelo do computador Objetivos: Mostrar como é o funcionamento dos computadores modernos Mostrar as limitações a que estamos sujeitos quando programamos Histórico Os primeiros computadores são da década

Leia mais

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes Introdução Hardware X Software Corpo Humano Parte Física Componentes 18 Capacidade de utilizar o corpo em atividades especificas explorando seus componentes Hardware Introdução Parte física: placas, periféricos,

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura

Leia mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

Leia mais

A SALA DE AULA é meu paraíso. Nela me realizo, nela exercito minha cidadania e nela me sinto útil.

A SALA DE AULA é meu paraíso. Nela me realizo, nela exercito minha cidadania e nela me sinto útil. Virtualização Meu nome: Nome de guerra: Meu e-mail: Marcos Vinicios Bueno Marques Professor Cidão marcos@cidao.com.br Quem sou? Professor e coordenador de cursos de TI do Senac Informática em Porto Alegre,

Leia mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Introdução a Linguagens de Programação Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 07 Arquitetura de Sistemas Operacionais Prof. Maxwell Anderson www.maxwellanderson.com.br Introdução Conceitos já vistos em aulas anteriores: Definição de Sistemas Operacionais

Leia mais

Figura 01 Kernel de um Sistema Operacional

Figura 01 Kernel de um Sistema Operacional 01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações

Leia mais

Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Introdução à Programação Orientada a Objetos Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2014 Histórico das linguagens de programação ENIAC (1944) Programação

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 5 - O NÍVEL DA LINGUAGEM DE MONTAGEM 1. INTRODUÇÃO É relativamente fácil compreender os fundamentos da programação de computadores, sob o ponto de vista da inteligibilidade dos comandos de alto

Leia mais

PROGRAMAÇÃO JAVA. Parte 1

PROGRAMAÇÃO JAVA. Parte 1 PROGRAMAÇÃO JAVA Parte 1 O que é um programa? Um algoritmo (sequência de operações elementares - instruções) convertido para uma linguagem que possa ser executada por um computador Programa = Algoritmos

Leia mais

TUTORIAL VMWARE WORKSTATION 8. Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial

TUTORIAL VMWARE WORKSTATION 8. Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial TUTORIAL VMWARE WORKSTATION 8 Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial INTRODUÇÃO O uso de máquinas virtuais pode ser adequado tanto

Leia mais

Lição 1 Introdução à programação de computadores

Lição 1 Introdução à programação de computadores Lição Introdução à programação de computadores Introdução à Programação I Objetivos Ao final desta lição, o estudante será capaz de: Identificar os diferentes componentes de um computador Conhecer linguagens

Leia mais

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

Agenda. Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão

Agenda. Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão Máquinas Virtuais Agenda Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão Histórico Mainframe É um computador de grande porte, dedicado

Leia mais

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas ATIVIDADE 1 MÁQUINAS VIRTUAIS Existem hoje diversas tecnologias e produtos para virtualização de computadores e ambientes de execução, o que pode gerar uma certa confusão de conceitos. Apesar disso, cada

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem

JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem 1 JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem orientada a objectos. Tal como em ASP e PHP, os ficheiros

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

Figura 1 - O computador

Figura 1 - O computador Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...

Leia mais

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS 1 Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite

Leia mais

MC-102 Aula 01. Instituto de Computação Unicamp

MC-102 Aula 01. Instituto de Computação Unicamp MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2015 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos

Leia mais

Capítulo 13. VARIÁVEIS DO TIPO REAL DUPLA

Capítulo 13. VARIÁVEIS DO TIPO REAL DUPLA Capítulo 13. VARIÁVEIS DO TIPO REAL DUPLA OBJETIVOS DO CAPÍTULO Conceitos de: variáveis de precisão simples e dupla, variáveis do tipo real simples e dupla, mistura de variáveis do tipo inteiro com real

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Relatório de Instalação do Windows 2003 Server

Relatório de Instalação do Windows 2003 Server Curso Profissional de Gestão e Programação de Sistemas Informáticos Relatório de Instalação do Windows 2003 Server Instalação do Windows 2003 Server quarta-feira, 3 de dezembro de 2013 Índice Introdução...

Leia mais

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO 4 CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO CONCEITOS BÁSICOS MS-DOS MICROSOFT DISK OPERATION SYSTEM INSTALAÇÃO E CONFIGURAÇÃO DE UM SISTEMA OPERATIVO LIGAÇÕES À INTERNET O que é um sistema operativo?

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

Infra-Estrutura de Software. Introdução. (cont.)

Infra-Estrutura de Software. Introdução. (cont.) Infra-Estrutura de Software Introdução (cont.) O que vimos Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como

Leia mais

Análise de Sistemas Não Lineares por Plano de Fase Recorrendo ao MATLAB

Análise de Sistemas Não Lineares por Plano de Fase Recorrendo ao MATLAB MEEC Mestrado em Engenharia Electrotécnica e de Computadores MCSDI Guião do trabalho laboratorial nº Análise de Sistemas Não Lineares por Plano de Fase Recorrendo ao MATLAB Análise de Sistemas Não Lineares

Leia mais

Virtualização Gerencia de Redes Redes de Computadores II

Virtualização Gerencia de Redes Redes de Computadores II Virtualização Gerencia de Redes Redes de Computadores II *Créditos: baseado no material do Prof. Eduardo Zagari Virtualização - Introdução Introduzido nos anos 60 em Mainframes Em 1980 os microcomputadores

Leia mais

Capítulo 1 Introdução

Capítulo 1 Introdução Capítulo 1 Introdução Programa: Seqüência de instruções descrevendo como executar uma determinada tarefa. Computador: Conjunto do hardware + Software Os circuitos eletrônicos de um determinado computador

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt Universidade de Trás-os-Montes e Alto Douro Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt Agenda A UTAD Virtualização Uma definição Introdução e abrangência

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

UFRPE Prof. Gustavo Callou gcallou@gmail.com

UFRPE Prof. Gustavo Callou gcallou@gmail.com UFRPE Prof. Gustavo Callou gcallou@gmail.com 1 Algoritmos Representação Exercícios Linguagens de Programação Compilador Interpretador Ambiente de Desenvolvimento Python Característica Para que serve Onde

Leia mais

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com Java & OpenJDK Thiago S. Gonzaga Sun Campus Ambassador thiago.gonzaga@sun.com Tópicos Sobre a Sun Microsystems Algumas tecnologias da Sun Linguagem de Programação Ciclo de Desenvolvimento O que é Java?

Leia mais

Informática II Cap. 3

Informática II Cap. 3 Cap. 3 1 Tradicionalmente, programar significava apenas a escrita de um programa, que resolvesse o problema pretendido de uma forma aparentemente correcta. Problema Problema Programa Programa Desvantagens:

Leia mais

Introdução. Sistemas Operacionais. Introdução. Roteiro (1 / 2) Por que Máquinas Virtuais Existem? Roteiro (2 / 2)

Introdução. Sistemas Operacionais. Introdução. Roteiro (1 / 2) Por que Máquinas Virtuais Existem? Roteiro (2 / 2) Sistemas Operacionais O termo máquina virtual foi descrito na década de 60 como uma abstração de software que enxerga um sistema físico. Aula 7 Máquinas Virtuais Prof. Othon Marcelo Nunes Batista Mestre

Leia mais

LINGUAGEM C UMA INTRODUÇÃO

LINGUAGEM C UMA INTRODUÇÃO LINGUAGEM C UMA INTRODUÇÃO AULA 1 Conceitos muito básicos 1 Introdução O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de:

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de: i Sumário 1 Introdução 1 1.1 Linguagens....................................... 1 1.2 O que é um Compilador?................................ 2 1.3 Processadores de Programas: Compiladores, Interpretadores

Leia mais

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 3

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 3 REFLEXÃO 3 Módulos 0771, 0773, 0774 e 0775 1/5 18-02-2013 Esta reflexão tem como objectivo partilhar e dar a conhecer o que aprendi nos módulos 0771 - Conexões de rede, 0773 - Rede local - instalação,

Leia mais

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia 1 Tradicionalmente, programar significava apenas a escrita de um programa, que resolvesse o problema pretendido de uma forma aparentemente correcta. Problema Problema Programa Programa Desvantagens: Programas

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO.

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO. UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO Xen Hypervisor Glauco Neves 07132022 Guilherme Pacheco 07232063 INE 5412-0432

Leia mais

Virtualização e Criação de uma rede Virtual utilizando Virtual Box Professor: João Paulo de Brito Gonçalves

Virtualização e Criação de uma rede Virtual utilizando Virtual Box Professor: João Paulo de Brito Gonçalves Virtualização e Criação de uma rede Virtual utilizando Virtual Box Professor: João Paulo de Brito Gonçalves Anatomia de uma máquina virtual Cada máquina virtual é um sistema completo encapsulado em um

Leia mais

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes 3 MÁQUINAS VIRTUAIS Em nossa aula anterior, fizemos uma breve introdução com uso de máquinas virtuais para emularmos um computador novo

Leia mais

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu 1 Programação Não Linear Aula 25: Programação Não-Linear - Funções de Uma única variável Mínimo; Mínimo Global; Mínimo Local; Optimização Irrestrita; Condições Óptimas; Método da Bissecção; Método de Newton.

Leia mais

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração: 1945-1955

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração: 1945-1955 O que vimos Infraestrutura de Software Introdução (cont.) Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como uma

Leia mais

Capítulo 5. ARQUIVOS E FUNÇÕES MATEMÁTICAS INTRÍNSECAS

Capítulo 5. ARQUIVOS E FUNÇÕES MATEMÁTICAS INTRÍNSECAS Capítulo 5. ARQUIVOS E FUNÇÕES MATEMÁTICAS INTRÍNSECAS OBJETIVOS DO CAPÍTULO Conceitos de: arquivo de saída, biblioteca, funções matemáticas intrínsecas Criar e usar arquivos para mostrar resultados da

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Protocolo TCP/IP Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Número IP Máscara de sub-rede O Número IP é um número no seguinte formato: x.y.z.w Não podem existir

Leia mais

Prof. José Maurício S. Pinheiro UniFOA 2009-2

Prof. José Maurício S. Pinheiro UniFOA 2009-2 Tecnologias WEB Virtualização de Sistemas Prof. José Maurício S. Pinheiro UniFOA 2009-2 Conceitos Virtualização pode ser definida como técnica que combina ou divide recursos computacionais para prover

Leia mais

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng.

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng. Aula teórica 3 Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java Preparado por eng.tatiana Kovalenko Linguagens de Programação Para escrever programas é necessário

Leia mais

Referencial do Módulo B

Referencial do Módulo B 1 Referencial do Módulo B Liga, desliga e reinicia correctamente o computador e periféricos, designadamente um scanner; Usa o rato: aponta, clica, duplo-clique, selecciona e arrasta; Reconhece os ícones

Leia mais

Linguagem de Programação Introdução a Linguagem Java

Linguagem de Programação Introdução a Linguagem Java Linguagem de Programação Introdução a Linguagem Java Rafael Silva Guimarães Instituto Federal do Espírito Santo Campus Cachoeiro de Itapemirim Definição A linguagem Java foi desenvolvida pela Sun Microsystems,

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas) ENIAC Introdução aos Computadores e à ção (Noções Básicas) Introdução aos Computadores e à ção (Noções Básicas) 1 Introdução aos Computadores e à ção (Noções Básicas) 2 O transistor foi inventado em 1947

Leia mais

A Academia Brasileira de Letras diz que este verbete não existe.

A Academia Brasileira de Letras diz que este verbete não existe. Virtualização Virtualização? A Academia Brasileira de Letras diz que este verbete não existe. Virtual: Segundo o Dicionário da Língua Portuguesa, significa: adj (lat virtuale) 1- Que não existe como realidade,

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto APRESENTAÇÃO Os computadores chegaram aos diversos níveis das organizações Nestes contexto: Que linguagem entendem? Que produtos podem usar? Dúvidas

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho. Computação Paralela Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Desenvolvimento de Aplicações Paralelas Uma Metodologia

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel A linguagem JAVA A linguagem Java O inicio: A Sun Microsystems, em 1991, deu inicio ao Green Project chefiado por James Gosling. Projeto que apostava

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação O QUE É UM PROGRAMA? Para executar uma dada tarefa é geralmente necessário entender o sistema onde ela é realizada. Por exemplo, para fazer um bolo temos um sistema composto por: Ingredientes Cozinheiro

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais