CURSO SUPERIOR DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS FUNDAMENTOS DE TECNOLOGIA DA INFORMAO Produo Textual Interdisciplinar Portfolio
Breves 2013
Breves 2013
FUNDAMENTOS DE TECNOLOGIA DA INFORMAO Produo Textual Interdisciplinar Portfolio
Trabalho apresentado ao Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas Universidade Norte do Paran - UNOPAR, para as disciplinas de Sistemas de Computao e Informao - Adaptao, tica, Poltica e Sociedade - Adaptao, Interao Humano-computador - Adaptao, Segurana da Informao - Adaptao.
WANDERLEY NUNES CRISTO
SUMRIO 1 INTRODUO ..................................................................................................... 3 2 OBJ ETIVO ........................................................................................................... 4 3 SISTEMAS OPERACIONAIS ............................................................................... 5 3.1 VISO GERAL.................................................................................................. 6 3.2 SISTEMAS OPERACIONAIS MODERNOS ..................................................... 7 3.2.1 FUNCIONAMENTO ...................................................................................... 7 3.2.1.1 GERENCIAMENTO DE PROCESSOS ......................................................... 7 3.2.1.2 GERENCIAMENTO DE MEMRIA .............................................................. 8 3.2.1.3 SISTEMA DE ARQUIVOS ............................................................................ 8 3.2.1.4 TIPOS DE SISTEMAS .................................................................................. 8 3.2.1.4.1 SISTEMAS MULTIPROCESSADORES .................................................... 8 3.2.1.4.1.1 SISTEMAS FORTEMENTE ACOPLADOS ............................................ 8 3.2.1.4.1.2 SISTEMAS FRACAMENTE ACOPLADOS ............................................ 9 3.2.1.4.2 SISTEMAS OPERACIONAIS DISTRIBUDOS .......................................... 9 3.2.2 INTERFACES DE USO ............................................................................... 10 3.2.2.1 INTERFACE DE TERMINAL ....................................................................... 10 3.2.2.2 INTERFACE TEXTUAL ............................................................................... 10 3.2.2.3 INTERFACE GRFICA ............................................................................... 10 3.2.2.4 INTERFACE DE VOZ ................................................................................. 11 4 TIPOS DE SISTEMAS OPERACIONAIS ........................................................... 12 4.1 UBUNTU LINUX ............................................................................................. 12 4.1.1 DENOMINAO ......................................................................................... 12 4.1.2 CARACTERSTICAS .................................................................................. 13 4.2 SLACKWARE LINUX ...................................................................................... 13 4.2.1 O SLACKWARE LINUX .............................................................................. 14 4.2.2 NOME E HISTRIA .................................................................................... 14 4.2.3 A DISTRIBUIO ....................................................................................... 15 4.3 MICROSOFT WINDOWS ............................................................................... 15 4.3.1 ORIGEM E HISTRIA ................................................................................ 16 4.3.2 CARACTERSTICAS TCNICAS ............................................................... 17 4.3.3 WINDOWS 8 ............................................................................................... 18 5 LINGUAGENS DE PROGRAMAO ................................................................ 19 5.1 PHP ("Hypertext Preprocessor", ou Personal Home Page) ............................ 19 5.1.1 PRINCIPAIS CARACTERSTICAS ............................................................. 20 5.2 J AVASCRIPT.................................................................................................. 20 5.2.1 CARACTERSTICAS .................................................................................. 21 5.2.1.1 IMPERATIVA E ESTRUTURADA ............................................................... 21 5.2.1.2 DINMICA................................................................................................... 21 5.2.1.2.1 TIPAGEM DINMICA .............................................................................. 21 5.2.1.2.2 BASEADA EM OBJ ETOS........................................................................ 21 5.2.1.2.3 AVALIAO EM TEMPO DE EXECUO ............................................. 22 5.2.1.3 FUNCIONAL ............................................................................................... 22 5.2.1.3.1 FUNES DE PRIMEIRA CLASSE ........................................................ 22 5.2.1.3.2 FUNES ANINHADAS ......................................................................... 22 5.2.1.3.3 FECHAMENTOS ..................................................................................... 22 5.2.1.4 BASEADA EM PROTTIPOS .................................................................... 23 5.2.1.4.1 PROTTIPOS ......................................................................................... 23 5.2.1.4.2 FUNES E MTODOS......................................................................... 23 5.2.1.5 USO EM PGINAS WEB ............................................................................ 23 5.3 C#(C Sharp)................................................................................................... 24 5.3.1 CARACTERSTICAS .................................................................................. 24 5.3.2 PRINCIPAIS CARACTERSTICAS DO C#................................................. 25 5.3.3 TIPOS DE DADOS ...................................................................................... 25 5.3.4 ELEMENTOS DE UM PROGRAMA ............................................................ 26 6 CONCLUSO .................................................................................................... 27 REFERNCIAS ......................................................................................................... 28
3 1 INTRODUO Neste trabalho so abordados diversos assuntos relacionados aos Sistemas Operacionais (SO), Tipos de SO, Funcionamento, as Interfaces e alguns dos sistemas operacionais existentes no mercado (Ubuntu e Slackware Linux e o MS Windows). Alm dos sistemas operacionais so abordados as Linguagens de Programao e exemplificados algumas dessas linguagens. Para um melhor entendimento so tratadas as caractersticas, alguns dos elementos e outros elementos das linguagens de programao C#, PHP e J ava Script.
4 2 OBJETIVO Este trabalho tem por objetivo levar o aluno a conhecer um pouco mais sobre os Sistemas Operacionais, suas caractersticas, historias, tipos, interfaces de uso e etc. E, tambm, ao um conhecimentos bsico das linguagens de programao C#, PHP, J ava Scripts. Demostrando informaes sobre as mesmas como suas formas de desenvolvimento, suas caractersticas, e modos de programao.
5 3 SISTEMAS OPERACIONAIS A sigla usual para designar esta classe de programas SO (do portugus, Sistema Operacional ou Operativo) ou OS (do ingls Operating System). Sistema operacional ou software de sistema um programa ou um conjunto de programas cuja funo gerenciar os recursos do sistema (definir qual programa recebe ateno do processador, gerenciar memria, criar um sistema de arquivos, etc.), fornecendo uma interface entre o computador e o usurio. Embora possa ser executado imediatamente aps a mquina ser ligada, a maioria dos computadores pessoais de hoje o executa atravs de outro programa armazenado em uma memria no-voltil ROM chamado BIOS num processo chamado "bootstrapping", conceito em ingls usado para designar processos autossustentveis, ou seja, capazes de prosseguirem sem ajuda externa. Aps executar testes e iniciar os componentes da mquina (monitores, discos, etc.), o BIOS procura pelo sistema operacional em alguma unidade de armazenamento, geralmente o Disco Rgido, e a partir da, o sistema operacional "toma" o controle da mquina. O sistema operacional reveza sua execuo com a de outros programas, como se estivesse vigiando, controlando e orquestrando todo o processo computacional. Segundo alguns autores existem dois modos distintos de conceituar um sistema operacional: Viso top-down pela perspectiva do usurio ou programador: uma abstrao do hardware, fazendo o papel de intermedirio entre o software (programas) e os componentes fsicos do computador, o (hardware); ou numa Viso bottom-up (de baixo para cima): um gerenciador de recursos, que controla quais aplicaes (processos) podem ser executadas, quando devem ser executadas e quais recursos (memria, disco, perifricos) podem ser utilizados.
6 3.1 VISO GERAL Existem vrios sistemas operacionais entre eles, os mais utilizados no dia a dia, normalmente utilizados em computadores domsticos, so o Windows, Linux e Mac OS X. Um computador com o sistema operacional instalado poder no dar acesso a todo o seu contedo dependendo do utilizador. Com um sistema operativo, podemos estabelecer permisses a vrios utilizadores que trabalham com este. Existem dois tipos de contas que podem ser criadas num sistema operativo, as contas de Administrador e as contas limitadas(usuario padro). A conta Administrador uma conta que oferece todo o acesso mquina, desde a gesto de pastas, ficheiros e software de trabalho ou entretenimento ao controle de todo o seu Hardware instalado. A conta padro uma conta que no tem permisses para aceder a algumas pastas ou instalar software que seja instalado na raiz do sistema ou ento que tenha ligao com algum Hardware que altere o seu funcionamento normal ou personalizado pelo Administrador. Para que este tipo de conta possa ter acesso a outros contedos do disco ou de software, o administrador poder personalizar a conta oferecendo permisses a algumas funes do sistema como tambm poder retirar acessos a certas reas do sistema. O sistema operacional funciona com a iniciao de processos que este ir precisar para funcionar corretamente. Esses processos podero ser ficheiros que necessitam de ser frequentemente atualizados, ou ficheiros que processam dados teis para o sistema. Poderemos ter acesso a vrios processos do sistema operacional a partir do gestor de tarefas, onde se encontram todos os processos que esto em funcionamento desde o arranque do sistema operacional at a sua utilizao atual. Pode-se tambm visualizar a utilizao da memria por cada processo, no caso de o sistema operacional comear a mostrar erros ou falhas de acesso a programas tornando-se lento, pode-se verificar no gestor de tarefas qual dos processos estar bloqueado ou com elevado nmero de processamento que est a afetar o funcionamento normal da memria. .
7 3.2 SISTEMAS OPERACIONAIS MODERNOS Um sistema computacional moderno consiste em um ou mais processadores, memria principal, discos, impressoras, teclado, mouse, monitor, interfaces de rede e outros dispositivos de entrada e sada. Enfim, um sistema complexo. Um dos conceitos mais fundamentais dos Sistemas Operacionais Modernos a distino entre o programa e a atividade de execut-lo. O programa apenas um conjunto esttico de diretrizes e sua execuo uma atividade dinmica. Outra das diferenas que podemos observar entre um sistema operacional e aplicaes convencionais a forma com que suas rotinas so processadas em funo do tempo. Um sistema operacional no executado de forma estruturada. Suas rotinas so executadas concorrentemente em funo de eventos assncronos. Em outras palavras, eventos que podem ocorrer a qualquer momento. 3.2.1 FUNCIONAMENTO Um sistema operacional possui as seguintes funes: 3.2.1.1 GERENCIAMENTO DE PROCESSOS O sistema operacional multitarefa preparado para dar ao usurio a iluso que o nmero de processos em execuo simultnea no computador maior que o nmero de processadores instalados. Cada processo recebe uma fatia do tempo e a alternncia entre vrios processos to rpida que o usurio pensa que sua execuo simultnea. So utilizados algoritmos para determinar qual processo ser executado em determinado momento e por quanto tempo. Os processos podem comunicar-se, isto conhecido como IPC (Inter-Process Communication). Os mecanismos geralmente utilizados so: Sinais; Pipes; Named Pipes; Memria Compartilhada; Soquetes (sockets) e Trocas de Mensagens. O sistema operacional, normalmente, deve possibilitar o multiprocessamento. Neste caso, processos diferentes e threads podem ser executados em diferentes processadores. Para essa tarefa, ele deve ser reentrante e interrompvel, o que significa que pode ser interrompido no meio da execuo de uma tarefa.
8 3.2.1.2 GERENCIAMENTO DE MEMRIA O sistema operacional tem acesso completo memria do sistema e deve permitir que os processos dos usurios tenham acesso seguro memria quando o requisitam. Vrios sistemas operacionais usam memria virtual, que possui 3 funes bsicas: Assegurar que cada processo tenha seu prprio espao de endereamento, comeando em zero, para evitar ou resolver o problema de relocao; Prover proteo da memria para impedir que um processo utilize um endereo de memria que no lhe pertena; Possibilitar que uma aplicao utilize mais memria do que a fisicamente existente. 3.2.1.3 SISTEMA DE ARQUIVOS A memria principal do computador voltil, e seu tamanho limitado pelo custo do hardware. Assim, os usurios necessitam de algum mtodo para armazenar e recuperar informaes de modo permanente. Um arquivo um conjunto de bytes, normalmente armazenado em um dispositivo perifrico no voltil, que pode ser lido e gravado por um ou mais processos. 3.2.1.4 TIPOS DE SISTEMAS 3.2.1.4.1 SISTEMAS MULTIPROCESSADORES Os sistemas multiprocessadores dois ou mais processadores trabalhando juntos podem ser divididos em duas partes: 3.2.1.4.1.1 SISTEMAS FORTEMENTE ACOPLADOS Dentro de sistemas fortemente acoplados memria nica compartilhada por dois ou mais processadores, tendo um mesmo sistema operacional gerenciando todos os processadores , encontramos mais duas
9 divises: Sistemas simtricos onde os processadores tm a mesma funo; Sistemas assimtricos onde um processador (mestre) pode executar servios do sistema operacional. 3.2.1.4.1.2 SISTEMAS FRACAMENTE ACOPLADOS Dentro de sistemas fracamente acoplados mais de dois sistemas operacionais que so ligados por canal de comunicao, tendo hardware e sistemas operacionais independentes , existem mais duas divises: Sistemas operacionais de rede cada sistema, tambm chamado host ou n, possui seus prprios recursos de hardware, como processadores, memria e dispositivos de entrada e sada. Os ns so totalmente independentes dos terminais, sendo interconectados por uma rede de comunicao de dados, formando uma rede de computadores. Os sistemas operacionais de rede so utilizados tanto em redes locais (Local rea Network - LAN), como em redes distribudas (Wide rea Network - WAN). A ligao entre os diversos ns feita por uma interface de rede que permite o acesso aos demais componentes da rede. No existe um limite mximo para o nmero de ns que podem fazer parte de uma rede de computadores. Cada n totalmente independente dos demais, possuindo seu prprio sistema operacional e espao de endereamento. Os sistemas operacionais podem ser heterogneos. Na Internet, cada host pode estar processando um sistema operacional diferente, mas todos esto se comunicando atravs do mesmo protocolo de rede, no caso, os protocolos da famlia TCP/IP (Transmission Control Protocol/Internet Protocol). 3.2.1.4.2 SISTEMAS OPERACIONAIS DISTRIBUDOS So sistemas independentes que parecem um nico computador aos olhos do usurio; Trata-se de um conjunto de processos que so executados de forma concorrente, cada um dos quais acessando um subconjunto de recursos do sistema. E essa comunicao feita em forma de envio de mensagens.
10 3.2.2 INTERFACES DE USO Os sistemas operacionais fornecem abstrao de hardware para que seus recursos possam ser usados de maneira correta e padronizada, mas para ser possvel operar um computador, necessrio fornecer tambm uma interface para que o usurio possa desfrutar dos recursos do sistema. Atualmente as principais interfaces de uso so as seguintes: 3.2.2.1 INTERFACE DE TERMINAL A interface de terminal, tambm chamada "CLI" (Command Line Interface) funciona exclusivamente com teclado e mouse. Os comandos so digitados a partir de um prompt e so interpretados por um interpretador de comandos, conhecidos tambm por shells, bastante comuns em sistemas padro POSIX. Um exemplo de interpretador de comandos seria o Bash. Usada geralmente por usurios avanados e em atividades especficas, como gerenciamento remoto, utiliza poucos recursos de hardware em comparao a interface grfica. 3.2.2.2 INTERFACE TEXTUAL Aplicativo com interface textual, rodando no sistema operacional FreeDOS Assim como a interface de terminal, a interface textual tambm baseada em texto, porm tambm tem disposio um ambiente de trabalho composto por menus, janelas e botes. Esse tipo de interface tinha um uso difundido em aplicaes baseadas no MS-DOS, que, inclusive, nas verses mais recentes contava com um gerenciador de programas e arquivos baseados nesse tipo de interface (o DOS Shell). Atualmente essa interface muito rara, praticamente restrita a sistemas implementados na dcada de 1980 e incio da dcada de 1990. Esse ambiente ainda prescinde do uso mouse, embora seja possvel us-lo atravs do uso da biblioteca ncurses no desenvolvimento dos softwares. 3.2.2.3 INTERFACE GRFICA Nesse tipo de interface, tambm chamada GUI (Graphic User
11 Interface) alm de menus, janelas e botes tambm existem figuras, tanto vetoriais quanto fotografias. O usurio interage com esse tipo de interface usando o mouse, podendo tambm usar o teclado e teclas de atalho, ou ento usando toques e gestos em touchscreens. possvel fazer todo tipo de tarefa usando interface grfica, como edio de vdeos e imagens, sendo somente alguns tipos muito especficos de tarefas que se saem melhor em linha de comando. Acrescentar facilidade de uso e agilidade o objetivo da interface grfica, tendo a desvantagem de consumir muito mais memria que interfaces de linha de comando. Ao contrrio das interfaces textuais e de terminal, as interfaces grficas dependem de um servidor grfico para funcionar e se comunicar com o sistema, e no caso dos sistemas para desktops e laptops, inclui um gerenciador de janelas em muitos casos, para que seja possvel usar mais de um aplicativo na mesma tela. Em sistemas padro POSIX comum existir mais de um ambiente grfico para o mesmo sistema, podendo ser escolhido a critrio do usurio. 3.2.2.4 INTERFACE DE VOZ Interfaces de voz, ou VUI (Voice User Interface), so aquelas em que o usurio interage com o sistema por meio de comandos sonoros. Sendo de desenvolvimento relativamente recente, tem sua aplicao em dispositivos adaptados para cegos e tm aparecido tambm em smartphones e tablets recentemente.
12 4 TIPOS DE SISTEMAS OPERACIONAIS Para este portflio, citarei como Sistemas Operacionais o Ubuntu e Slackware (Sistemas Linux) e o Microsoft Windows. 4.1 UBUNTU LINUX Ubuntu um sistema operacional de cdigo aberto, construdo a partir do ncleo Linux, baseado no Debian. patrocinado pela Canonical Ltda. O Ubuntu diferencia-se do Debian por ter verses lanadas semestralmente, por disponibilizar suporte tcnico nos 9 meses seguintes ao lanamento de cada verso (as verses LTS Long Term Support para desktop recebem 5 anos de suporte, e para servidor recebem 5 anos de suporte), e pela filosofia em torno de sua concepo. A proposta do Ubuntu oferecer um sistema que qualquer pessoa possa utilizar sem dificuldades, independentemente de nacionalidade, nvel de conhecimento ou limitaes fsicas. O sistema deve ser constitudo principalmente por software livre. Deve tambm ser isento de qualquer taxa.
4.1.1 DENOMINAO O nome "Ubuntu" deriva do conceito sul africano de mesmo nome, diretamente traduzido como "humanidade com os outros" ou "sou o que sou pelo que ns somos". Esse nome busca passar a ideologia do projeto, baseada nas liberdades do software livre e no trabalho comunitrio de desenvolvimento. O sistema muito comumente chamado "Ubuntu Linux", porm, oficialmente a Canonical, desenvolvedora do sistema, usa apenas o nome "Ubuntu", uma vez que o sistema ao ser portado para outros ncleos livres para alm do Linux recebe outros nomes (por exemplo, o Ubuntu implementado sobre o OpenSolaris recebe o nome de "Nexenta") - ao contrrio do Debian, por exemplo, que recebe este nome independentemente do ncleo usado.
13 4.1.2 CARACTERSTICAS Novas verses do Ubuntu so lanadas duas vezes ao ano, uma no ms de Abril e outra no ms de Outubro; Um dos focos principais a usabilidade, incluindo o uso da ferramenta sudo para tarefas administrativas e a oferta de uma gama de recursos completa a partir de uma instalao padro; Acessibilidade e internacionalizao, permitindo a utilizao do sistema pelo maior nmero de pessoas possvel. A partir da verso 5.04, a codificao de caracteres padro o UTF-8 (permitindo a utilizao de caracteres no utilizados no alfabeto latino). O projeto visa tambm a oferecer suporte tcnico nos idiomas de seus usurios; Alm das ferramentas de sistema padro e outros aplicativos menores, o Ubuntu oferecido com diversos programas pr-instalados que atendem s funcionalidades bsicas, entre os quais esto a sute de aplicativos Libre Office e o navegador de internet Firefox. Programas para visualizar contedos multimdia, clientes de e-mail e jogos simples completam o sistema bsico; O Ubuntu possui uma forte ligao com a comunidade Debian, contribuindo direta ou indiretamente com qualquer modificao nos cdigos fonte, ao invs de apenas anunciar essas mudanas em uma data posterior. Muitos programadores do Ubuntu mantm pacotes chave do prprio Debian; Todas as verses do Ubuntu so disponibilizadas sem custo algum; 4.2 SLACKWARE LINUX Slackware Linux o nome da mais antiga e conhecida distribuio GNU/Linux mantida ainda em evidncia. Seu criador e responsvel pela manuteno, Patrick Volkerding, estabelece uma meta de produo da distribuio baseada em simplicidade e estabilidade, alcanando o padro de distribuio mais Unix-like ao manter seus usurios nas camadas de configurao em console de modo texto para uma total personalizao do ambiente. Alm de seu uso profissional, considerado tambm como uma distribuio de nvel acadmico, mantendo uma vasta documentao atualizada em sua raiz, para os usurios que necessitem de maior conhecimento para domin-lo
14 4.2.1 O SLACKWARE LINUX O Slackware Linux um sistema operacional computacional baseado em projetos oficiais de software livre, desenvolvido por pessoas espalhadas no mundo organizadas em comunidades e instituies, sendo a principal delas a FSF (Free Software Foundation) com seus projetos e licenciamentos GNU LGPL de software livre. Utiliza como cerne do sistema o projeto oficial da Linux Foundation, o kernel Linux. 4.2.2 NOME E HISTRIA O nome "Slackware" teve sugestiva origem da "The Church Of The SubGenius" (Igreja dos Sub-Gnios), por Patrick Volkerding, de onde idealiza-se o termo "SLACK" que, satrica e ironicamente, incorpora-se o "senso de liberdade, independncia e originalidade para alcanar suas metas pessoais", onde traduziria bem a filosofia do sistema. O fato de Patrick Volkerding objetivar estabilidade e no trazer verses betas ou aplicativos ainda em testes, trouxe ao Slackware a aparente impresso de ser uma distribuio de lanamentos lentos em comparao as demais distribuies Linux. Esta curiosa impresso podem ter nfase no prprio nome da distribuio: "SLACKWARE", que significativamente se traduz "SLACK" como sendo "PREGUIA", e "WARE" como "PRODUTO", sendo interpretado como um produto de lapidao lenta. Mesmo aps o lanamento de verses estveis da distribuies, ao se instalar, as configuraes do sistema so feitas diretamente nos documentos texto de configuraes, modo preferido entre os usurios mais experientes.
Criada em meados de 1993, o Slackware Linux (ou simplesmente "Slack") tem como objetivo manter-se fiel aos padres UNIX, mantendo-se bem estruturada e organizada para administradores e usurios, profissionais e acadmicos, rejeitando ferramentas de configurao que escondam o real funcionamento do sistema adotando o princpio KISS (acrnimo em ingls de: Keep It Simple, Stupid - Faa isto simples, estpido) de produo. Alm disso, o Slackware composto apenas do empacotamento de aplicativos em verses estveis (diferente das verses betas e de pr-lanamentos, ainda em condies de testes), em especial nas suas verses intermedirias (o -current), e sem alteraes
15 feitas fora dos times oficiais de desenvolvedores.
4.2.3 A DISTRIBUIO Em todos os lanamentos das verses estveis, traz a mesma estrutura de organizao e gerenciamento de pacotes. uma distribuio de alto poder de personalizao, contendo todos os pacotes necessrios para montar servidores e desktops sem a necessidade de downloads de pacotes adicionais. Eles so oficialmente mantidos para a plataforma Intel x86, AMD x86-64, IBM S/390 e processadores de arquitetura ARM. Sua utilizao pode ser aplicada em equipamentos modernos de arquitetura 64 bits, ou at mesmo em equipamentos antigos, com processadores i486 de 32 bits. O -current um setor do repositrio onde se mantm pacotes no topo dos passo a passo da integrao das aplicaes na evoluo da distribuio para um prximo novo lanamento. aqui que se concentra os esforos contnuos de testes e correes, acessveis a qualquer usurio que queira acompanhar, ou at mesmo participar da evoluo de um novo lanamento. Por sua concepo UNIX-like, o Slackware Linux faz uma abordagem bastante diferente das outras distribuies populares como Red Hat, Fedora, Debian, Gentoo, SuSE, e Mandriva. Sua poltica de s incluir aplicativos estveis, a fez tornar uma distribuio referncia para aqueles que desejam conhecer a realidade de um sistema UNIX-like e aplic-lo profissionalmente. Muito comum em servidores, procura ser uma distribuio "leve", praticamente bem estruturado, sem enfeites e rpida.
4.3 MICROSOFT WINDOWS Microsoft Windows uma famlia de sistemas operacionais criados pela Microsoft, empresa fundada por Bill Gates e Paul Allen. Antes da verso NT, era uma interface grfica para o sistema operacional MS-DOS. O Windows um produto comercial, com preos diferenciados para cada uma de suas verses. o sistema operacional mais utilizado em computadores pessoais no mundo, embora
16 uma grande quantidade de cpias sejam ilegais.1 O impacto deste sistema no mundo atual muito grande devido ao enorme nmero de cpias instaladas. Conhecimentos mnimos desse sistema, do seu funcionamento, da sua histria e do seu contexto so, na viso de muitos, indispensveis, mesmo para os leigos em informtica. A atual verso estvel do Windows para desktops o Windows 8, lanado em 26 de outubro de 2012. Para servidores o Windows Server 2012 a verso mais recente e estvel. 4.3.1 ORIGEM E HISTRIA A palavra Windows em portugus significa janelas. A sua interface grfica baseada no padro WIMP e utiliza o conceito WYSIWYG, previamente desenvolvido em Xerox PARC: possui janelas que exibem informaes e recebem respostas dos utilizadores atravs de um teclado ou de cliques do mouse. A Microsoft comeou a desenvolver o Microsoft Windows em setembro de 1981. O Windows 1.01 era uma interface grfica bidimensional para o MS-DOS e foi lanado em 20 de Novembro de 1985. Era necessrio o MS-DOS 2.0, 256 KB RAM e um disco rgido. Naquela altura, o MS-DOS s conseguia suportar 1 MB de aplicaes. Era uma primeira tentativa de criar um sistema multitarefa. Nessa poca, instalado em computadores XTs que tinham apenas 512Kb de memria, ocupava praticamente toda a memria disponvel. O Windows 1.01 no foi nenhum grande sucesso comparado com seus sucessores da dcada de 1990, devido limitao do hardware da poca. Inicialmente, ele foi lanado em quatro disquetes de 5.25 polegadas de 360 KB cada um. Continha o Reversi (jogo), um calendrio, bloco de notas, calculadora, relgio, prompt de comando (uma janela direta para o DOS), Write, Control Painel, Paint e programas de comunicao. Permite a utilizao de mouse, janelas e cones. Nesta verso ainda no havia sobreposio de janelas. A verso 1.02 foi lanada internacionalmente em maio de 1986 e ganhou edies em vrias lnguas europeias. A verso 1.03 foi lanada em agosto de 1986 internacionalmente. A verso 1.04 foi lanada em abril de 1987 e ganhou grficos VGA. O Windows s comea a ser tecnicamente considerado como um SO a partir da verso Windows NT, lanada em J ulho de 1993. O que havia antes eram sistemas grficos sendo executados sobre alguma verso dos sistemas
17 compatveis com DOS, como MS-DOS, PC-DOS ou DR-DOS. Somente o MS-DOS era produzido pela prpria Microsoft. O MS-DOS um sistema operativo que no dispe de interface grfica, funciona atravs de comandos de texto introduzidos no teclado pelo utilizador. O Windows surgiu inicialmente como uma interface grfica para MS-DOS, que permitia correr programas em modo grfico, o que permitiu a utilizao do mouse, que at altura era considerado suprfluo em computadores de tipo IBM-PC
4.3.2 CARACTERSTICAS TCNICAS A principal linguagem de programao usada para escrever o cdigo-fonte das vrias verses do Windows o C e algumas partes com C++e Assembly. At a verso 3.11, o sistema rodava em 16 bits (apesar de poder instalar um update chamado Win32s para adicionar suporte a programas 32 bits), da em diante, em 32 bits. As verses a partir do XP e Server 2003 esto preparadas para a tecnologia 64 bits. Os sistemas de 64 bits no possuem mais suporte para rodar nativamente aplicativos de 16 bits, sendo necessrio uso de emuladores/mquinas virtuais. Os bits so relacionados ao volume de dados que um microprocessador capaz de lidar. Se um processador tem uma arquitetura de 64 bits, ele capaz de lidar com dados na ordem de 264. S que para isso ser possvel, necessrio que o sistema operacional seja de 64 bits, caso contrrio ele trabalhar com somente com instrues de 32 bits (Se o sistema for de 32 bits). Sistemas operacionais de 64 bits tambm endeream uma quantidade maior de RAM, suportando at 192GB (Windows 7 Ultimate) ou 128GB (Windows XP Professional), contra 3,2GB dos sistemas de 32 bits. Outra caracterstica denominada de herana maldita devido ao fato de ter herdade essa regra do DOS o fato de no se poder criar pastas com os determinado nomes: con, prn, aux, com1 e ltp1. Trata-se de uma antiga herana que os SOs Windows carregam do MS-DOS e so palavras reservadas para a comunicao interna do SO. Portanto, mesmo o mais recente sistema da Microsoft
18 incapaz de interpretar tais sentenas como simples nomes atravs do Windows Explorer. Atravs do Prompt de Comandos possvel criar pastas e arquivos com qualquer um dos nomes acima. Mas o sistema impede que os documentos sejam editado e excludos pelo Windows Explorer. 4.3.3 WINDOWS 8 A ltima verso lanada do Windows, o Windows 8, um sistema operacional mais estvel (principalmente do que a verso Vista), o seu visual simples e tem uma boa performance em uma grande gama de computadores, tablets e Notebooks Hbridos de variadas configuraes. O layout tambm sofreu algumas modificaes, para que seja mais fcil encontrar o que voc precisa, quando precisa, permitindo que o usurio ganhe tempo em tarefas rotineiras. Um dos pontos interessantes desta nova verso do Windows, o novo menu Iniciar com o estilo Metro. Ao mover o ponteiro do mouse no canto inferior esquerdo, voc pode tanto visualizar os seus arquivos e programas da maneira clssica, como os aplicativos da Windows Store, alm da busca mantida do Windows 7. A rea de trabalho foi mantida, para acesso aos arquivos como nas verses anteriores, por pastas e menus de navegao intuitivos, permitindo fcil adequao dos usurios ao Windows 8 como um todo. Dentro das melhorias do Windows 8, tambm notvel que a Microsoft melhorou na velocidade de incio e das tarefas bsicas como abrir e usar programas.
19 5 LINGUAGENS DE PROGRAMAO Uma linguagem de programao um mtodo padronizado para comunicar instrues para um computador. um conjunto de regras sintticas e semnticas usadas para definir um programa de computador. Permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados sero armazenados ou transmitidos e quais aes devem ser tomadas sob vrias circunstncias. Linguagens de programao podem ser usadas para expressar algoritmos com preciso. O conjunto de palavras, compostos de acordo com essas regras, constituem o cdigo fonte de um software. Esse cdigo fonte depois traduzido para cdigo de mquina, que executado pelo processador. Uma das principais metas das linguagens de programao permitir que programadores tenham uma maior produtividade, permitindo expressar suas intenes mais facilmente do que quando comparado com a linguagem que um computador entende nativamente (cdigo de mquina). Assim, linguagens de programao so projetadas para adotar uma sintaxe de nvel mais alto, que pode ser mais facilmente entendida por programadores humanos. Linguagens de programao so ferramentas importantes para que programadores e engenheiros de software possam escrever programas mais organizados e com maior rapidez. 5.1 PHP ("HYPERTEXT PREPROCESSOR", OU PERSONAL HOME PAGE) PHP uma linguagem interpretada livre, usada originalmente apenas para o desenvolvimento de aplicaes presentes e atuantes no lado do servidor, capazes de gerar contedo dinmico na World Wide Web. Figura entre as primeiras linguagens passveis de insero em documentos HTML, dispensando em muitos casos o uso de arquivos externos para eventuais processamentos de dados. O cdigo interpretado no lado do servidor pelo mdulo PHP, que tambm gera a pgina web a ser visualizada no lado do cliente. A linguagem evoluiu, passou a oferecer funcionalidades em linha de comando, e alm disso, ganhou caractersticas adicionais, que possibilitaram usos adicionais do PHP, no relacionados a web sites. possvel instalar o PHP na maioria dos sistemas operacionais, gratuitamente. Concorrente direto da tecnologia ASP pertencente Microsoft, o PHP utilizado em
20 aplicaes como o MediaWiki, Facebook, Drupal, J oomla, WordPress, Magento e o Oscommerce. Criado por Rasmus Lerdorf em 1995, o PHP tem a produo de sua implementao principal referncia formal da linguagem, mantida por uma organizao chamada The PHP Group. O PHP software livre, licenciado sob a PHP License, uma licena incompatvel com a GNU General Public License (GPL) devido a restries no uso do termo PHP. 5.1.1 PRINCIPAIS CARACTERSTICAS A linguagem PHP uma linguagem de programao de domnio especfico, ou seja, seu escopo se estende a um campo de atuao que o desenvolvimento web, embora tenha variantes como o PHP-GTK. Seu propsito principal de implementar solues web velozes, simples e eficientes. Suas Caractersticas: Velocidade; Estruturado e orientao a objetos; Portabilidade - independncia de plataforma; Tipagem dinmica; Sintaxe similar a C/C++e o Perl; Open-source; Server-side (O cliente manda o pedido e o servidor responde em pgina HTML); 5.2 J AVASCRIPT J avaScript uma linguagem de programao interpretada. Foi originalmente implementada como parte dos navegadores web para que scripts pudessem ser executados do lado do cliente e interagissem com o usurio sem a necessidade deste script passar pelo servidor, controlando o navegador, realizando comunicao assncrona e alterando o contedo do documento exibido. atualmente a principal linguagem para programao client-side em navegadores web. Foi concebida para ser uma linguagem script com orientao a objetos baseada em prottipos, tipagem fraca e dinmica e funes de primeira
21 classe. Possui suporte programao funcional e apresenta recursos como fechamentos e funes de alta ordem comumente indisponveis em linguagens populares como J ava e C++.
5.2.1 CARACTERSTICAS As seguintes caractersticas so comuns a todas as implementaes conformantes com o ECMAScript. 5.2.1.1 IMPERATIVA E ESTRUTURADA J avaScript suporta os elementos de sintaxe de programao estruturada da linguagem C (por exemplo, if, while, switch). Uma exceo a questo do escopo: o escopo em blocos ao estilo do C no suportado, em seu lugar J avaScript utiliza escopo a nvel de funo. J avaScript 1.7, entretanto, suporta escopo a nvel de bloco atravs do comando let. Como C, J avaScript faz distino entre expresses e comandos. Uma diferena sinttica do C que a quebra de linha termina automaticamente o comando, sendo o ponto-e-vrgula opcional ao fim do comando. 5.2.1.2 DINMICA 5.2.1.2.1 TIPAGEM DINMICA Como na maioria das linguages de script, tipos so associados com valores, no com variveis. Por exemplo, a varivel x poderia ser associada a um nmero e mais tarde associada a uma string. J avaScript suporta vrias formas de testar o tipo de um objeto, incluindo ducktyping. 5.2.1.2.2 BASEADA EM OBJ ETOS J avaScript quase inteiramente baseada em objetos. Objetos J avaScript so arrays associativos, aumentados com prottipos. Os nomes da
22 propriedade de um objeto so strings: obj.x =10 e obj["x"] =10 so equivalentes, o ponto neste exemplo apenas acar sinttico. Propriedades e seus valores podem ser adicionadas, mudadas, ou deletadas em tempo de execuo. A maioria das propriedades de um objeto (e aqueles em sua cadeia de herana via prottipo) pode ser enumerada usando-se uma estrutura de repetio for...in. J avascript possui um pequeno nmero de objetos padro da linguagem como window e document. 5.2.1.2.3 AVALIAO EM TEMPO DE EXECUO J avaScript inclui a funo eval que consegue executar em tempo de execuo comandos da linguagem que estejam escritos em uma string. 5.2.1.3 FUNCIONAL 5.2.1.3.1 FUNES DE PRIMEIRA CLASSE No J avaScript as funes so de primeira classe, isto , so objetos que possuem propriedades e mtodos, e podem ser passados como argumentos, serem atribudos a variveis ou retornados como qualquer outro objeto. 5.2.1.3.2 FUNES ANINHADAS Funes 'internas' ou 'aninhadas' so funes definidas dentro de outras funes. So criadas cada vez que a funo que as contm (externa) invocada. Alm disso, o escopo da funo externa, incluindo constantes, variveis locais e valores de argumento, se transforma parte do estado interno de cada objeto criado a partir da funo interna, mesmo depois que a execuo da funo interna concluda. 5.2.1.3.3 FECHAMENTOS J avaScript permite que funes aninhadas sejam criadas com o escopo lxico no momento de sua definio e possui o operador () para invoc-las em outro momento. Essa combinao de cdigo que pode ser executado fora do
23 escopo no qual foi definido, com seu prprio escopo durante a execuo, denominada, dentro da cincia da computao, fechamento. 5.2.1.4 BASEADA EM PROTTIPOS 5.2.1.4.1 PROTTIPOS J avaScript usa prottipos em vez de classes para o mecanismo herana. possvel simular muitas caractersticas de orientao a objetos baseada em classes com prottipos. 5.2.1.4.2 FUNES E MTODOS Diferente de muitas linguagens orientadas a objetos, no h distino entre a definio de uma funo e a definio de um mtodo no J avaScript. A distino ocorre durante a chamada da funo; a funo pode ser chamada como um mtodo. Quando uma funo chamada como mtodo de um objeto, a keyword this da funo associada quele objeto via tal invocao. 5.2.1.5 USO EM PGINAS WEB O uso primrio de J avaScript escrever funes que so embarcadas ou includas em pginas HTML e que interagem com o Modelo de Objeto de Documentos (DOM) da pgina. Alguns exemplos deste uso so:
Abrir uma nova janela com controle programtico sobre seu tamanho, posio e atributos; Validar valores de um formulrio para garantir que so aceitveis antes de serem enviados ao servidor; Mudar imagens medida que o mouse se movimenta sob elas.
Pelo fato do cdigo J avaScript rodar localmente no navegador do usurio, e no em um servidor remoto, o navegador pode responder a tais aes rapidamente, fazendo uma aplicao mais responsiva. Alm disso, o cdigo
24 J avaScript pode detectar aes de usurio que o HTML sozinho no pode, tais como teclas pressionadas individualmente. Aplicaes como Gmail tomam vantagem disso: muito da lgica da interface do usurio escrita em J avaScript, e o J avaScript envia requisies de informao, tais como o contedo de um correio eletrnico, para o servidor. A tendncia mais ampla de programao em Ajax explora de maneira similar este ponto forte. 5.3 C#(C SHARP) uma linguagem de programao orientada a objetos, fortemente tipada, desenvolvida pela Microsoft como parte da plataforma .NET. A sua sintaxe orientada a objetos foi baseada no C++mas inclui muitas influncias de outras linguagens de programao, como Object Pascal e J ava. 5.3.1 CARACTERSTICAS O C# uma linguagem de programao visual dirigida por eventos e totalmente orientada a objetos. Permite um novo grau de intercmbio entre linguagens (componentes de software de diferentes linguagens podem interagir). Os desenvolvedores podem empacotar at software antigo, para trabalhar com novos programas C#. Alm disso, os aplicativos C#podem interagir pela Internet usando padres do setor, como SOAP (protocolo de acesso a objetos simples) e XML (linguagem de marcao extensvel). O C# tem razes em C, C++ e J ava, adaptando os melhores recursos de cada linguagem e acrescentando novas capacidades prprias. Ele fornece os recursos que so mais importantes para os programadores, como programao orientada a objetos, strings, elementos grficos, componentes de interface com o usurio grfica (GUI), tratamento de excees, mltiplas linhas de execuo, multimdia (udio, imagens, animao e vdeo), processamento de arquivos, estruturas de dados pr-empacotadas, processamento de banco de dados, redes cliente/servidor com base na Internet e na World Wide Web e computao distribuda.
25 5.3.2 PRINCIPAIS CARACTERSTICAS DO C# Dentre as caractersticas essenciais do C#podemos citar: Simplicidade: os projetistas de C# costumam dizer que essa linguagem to poderosa quanto o C++e to simples quanto o Visual Basic; Completamente orientada a objetos: em C#, qualquer varivel tem de fazer parte de uma classe; Fortemente tipada: isso ajudar a evitar erros por manipulao imprpria de tipos e atribuies incorretas; Gera cdigo gerenciado: assim como o ambiente .NET gerenciado, assim tambm o C#; Tudo um objeto: System. Object a classe base de todo o sistema de tipos de C#; Controle de verses: cada assembly gerado, seja como EXE ou DLL, tem informao sobre a verso do cdigo, permitindo a coexistncia de dois assemblies homnimos, mas de verses diferentes no mesmo ambiente; Suporte a cdigo legado: o C#pode interagir com cdigo legado de objetos COM e DLLs escritas em uma linguagem no- gerenciada; Flexibilidade: se o desenvolvedor precisar usar ponteiros, o C# permite, mas ao custo de desenvolver cdigo no-gerenciado, chamado unsafe; Linguagem gerenciada: os programas desenvolvidos em C# executam num ambiente gerenciado, o que significa que todo o gerenciamento de memria feito pelo runtime via o GC (Garbage Collector).
5.3.3 TIPOS DE DADOS Os tipos de dados em C#so tipos de valor ou tipos de referncia. Uma varivel de tipo de valor contm dados desse tipo. Uma varivel de tipo de
26 referncia contm o endereo da localizao na memria em que os dados esto armazenados. Os tipos de valor normalmente representam dados simples, como valores int ou bool. Os tipos de referncia, por outro lado, se referem a objetos, os quais podem conter muitos dados individuais. Os tipos de valor internos so os tipos integrais, os tipos de ponto flutuante e os tipos decimal e bool. Os tipos de referncia internos so string e object. Os programadores tambm podem criar tipos de valor e tipos de referncia. Os tipos de referncia que os programadores podem criar so classes, interfaces e delegados. Existem dois tipos de converses no C#: implcita e explcita. Segundo seu escopo e disponibilidade, as variveis podem ser do tipo Static (o valor fica disponvel para todos os objetos da classe em que a varivel foi declarada), Instance (criada na memria cada vez que instanciamos um novo objeto) e Array (grupo de elementos do mesmo tipo de dado). 5.3.4 ELEMENTOS DE UM PROGRAMA Um programa em C#contm 4 elementos principais: Uma declarao de namespace: contm as bibliotecas de classe que voc pode usar em um programa. A diretiva using System especifica que o programa pode utilizar a biblioteca no namespace System; Uma classe: contm as declaraes de dados e mtodos para uma aplicao; Um mtodo Main: semelhante ao C++, todos os programas C# comeam executando o mtodo Main; E uma declarao do programa.
27 6 CONCLUSO Fazendo um estudo aprofundado sobre determinado assunto podemos aprofundar nossos conhecimentos e entendimentos, o que leva a termos um aprendizado acadmico muitos mais enriquecido e completo. Graas as pesquisas realizadas para a concluso desse portflio pude obter conhecimentos a mais e entender um pouco mais da histria no que diz respeito aos sistemas operacionais e linguagens de programao.
28 REFERNCIAS Adam Conrad. Ubuntu 10.04 (Lucid Lynx) Desktop reaches End of Life on May 9 2013, "ubuntu-announce." (em ingls). Pagina visitada em 01/11/2013.
Adam Conrad. Ubuntu 11.10 (Oneiric Ocelot) reaches End of Life on May 9 2013, "ubuntu-announce." (em ingls). Pgina visitada em 01/11/2013.
Microsoft, Windows History. Disponvel em: (windows.microsoft.com/pt- BR/windows/history). Acesso em: 31 de Outubro de 2013.
PCWORLD (15 de Maio de 2007). PC World pirataria ainda de 60%. Acesso em: 31 de Outubro de 2013.
WIKIPEDIA, Mi crosoft Windows. Disponvel em: (http://pt.wikipedia.org/wiki/Microsoft_Windows) Acesso em: 01 de novembro de 2013. WIKIPEDIA, Sistema Operati vo. Disponvel em: (http://pt.wikipedia.org/wiki/Sistema_operativo#Gerenciamento_de_mem.C3.B3ria) Acesso em: 01 de novembro de 2013. WIKIPEDIA, Slackware. Disponvel em: (http://pt.wikipedia.org/wiki/Slackware) Acesso em: 01 de novembro de 2013 WIKIPEDIA, Ubuntu. Disponvel em: (http://pt.wikipedia.org/wiki/Ubuntu) Acesso em: 01 de novembro de 2013.
29 ECMAScript Language Speci ficati on. Disponvel em: (http://www.ecma- international.org/publications/files/ECMA-ST/ECMA-262.pdf)
MSDN. Visual C#. Disponvel em: (http://msdn.microsoft.com/pt- br/vstudio/hh341490). Acessado em 01 de novembro de 2013.
WIKIPEDIA, Java Script. Disponvel em: (http://pt.wikipedia.org/wiki/J avaScript) Acesso em: 01 de novembro de 2013. WIKIPEDIA, PHP. Disponvel em: (http://pt.wikipedia.org/wiki/PHP) Acesso em: 01 de novembro de 2013. WIKIPEDIA, Linguagens de Programao. Disponvel em: (http://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o) Acesso em: 01 de novembro de 2013. WIKIPEDIA, C#. Disponvel em: (http://pt.wikipedia.org/wiki/C%E2%99%AF) Acesso em: 01 de novembro de 2013.