SOBRE O SITE

O site apresenta diversos cursos grátis, materiais para downloads, vídeos, links de outros sites e muito mais, para aperfeiçoar seu conhecimento tecnológico em TI, ADS, SI, CC e etc.

segunda-feira, 26 de fevereiro de 2018

BANCO DE DADOS - INTRODUÇÃO

Este artigo busca apresentar todos os conceitos e informações ou definições possíveis, encontrados pelos sites, autores, livros e etc, por isso, buscamos as diversas informações para que o leitor possa definir através de seu próprio pensamento o que vem a ser um Banco de Dados, como funciona, para que serve, suas principais características e etc. Esperamos seu comentário, e esperamos seu elogio ou crítica em referencia ao artigo, para que possamos dar continuidade aos conteúdos postados.

1 - O que é um BANCO DE DADOS?

No geral, encontramos varias definições e conceitos sobre o que vem a ser um banco de dados, mas em resumo, todos nos remete a apenas um.

De acordo com Wikipedia, um banco de dados, ou base de dados,  pode ser definido como um conjunto de arquivos relacionados entre si com registros sobre pessoas, lugares ou coisas. São coleções organizadas de dados que se relacionam de forma a criar algum sentido (informação) e dar mais eficiência durante uma pesquisa ou estudo. são de vital importância para empresas e há duas décadas se tornaram a principal peça dos sistemas de informação.

Um outro site também conceituado e por sinal recomendado para aqueles que tem interesse de atuar no ramo tecnológico, seja em hardware e software, é o DevMedia. (http://www.devmedia.com.br).
O DevMedia conceitua fazendo referência à Korth, que define um Banco de dados como: "uma coleção de dados inter-relacionados, representando informações sobre um domínio específico",ou seja, sempre que for possível agrupar informações que se relacionam e tratam de um mesmo assunto, posso dizer que tenho um banco de dados.

No site http://www.estudopratico.com.br, encontramos uma definição em que afirma se tratar de uma coleção de informações que se relacionam de modo que criem algum sentido, isto é, é uma estrutura bem organizada de dados que permitem a extração de informações. Assim, são muito importantes para empresas e tornaram-se a principal peça dos sistemas de informação.

Além dos dados, um banco de dados também é formado pelos metadados. Um metadado é todo dado relativo a outro dado, sem o qual não seria possível organizar e retiraras informações de um banco de dados.

Agora veremos o que o http://br.ccm.net apresenta como banco de dados: "Um banco de dados (database) é um local onde é possível armazenar dados de maneira estruturada e com a menor redundância possível. Esses dados por sua vez podem ser utilizados por programas e usuários diferentes. Assim, a noção básica de dados é acoplada a uma rede, a fim de poder reunir estas informações, daí o nome BANCO. Geralmente, fala-se de um sistema de informação para designar qualquer estrutura que reúne os meios organizados para poder compartilhar dados."

Ainda fazendo referência ao site br.ccm, um banco de dados permite colocar dados à disposição de usuários para uma consulta, uma introdução ou uma atualização, assegurando-se dos direitos atribuídos aos mesmos. Isso é ainda mais útil quando os dados informáticos são numerosos. Um banco de dados pode ser local, ou seja, utilizável em um dispositivo por um usuário, ou repartido, isto é, quando as informações são armazenadas em dispositivos remotos e acessíveis pela rede. A grande vantagem do uso dos bancos de dados é a possibilidade de poderem ser acessados por vários usuários, simultaneamente.


continua.......

terça-feira, 13 de junho de 2017

DESENVOLVIMENTO EM DELPH

"Lembro quando ouvi falar em DELPH pela primeira vez em 2004 e como alguns programadores falavam sobre a "Linguagem Delph" eu tinha acabado de sair da escola tecnica  e a moda pegou entre alguns amigos. Aprendi pouca coisa sobre Delph mas sei que quase todos os programas de automação comercial utilizados na epoca eram programados nele então pode se dizer que ele era o melhor da epoca..."
(Bruno Brito relembrando sobre sua primeira experiência sobre o assunto)

AFINAL O QUE É DELPH?

Quando se fala em programação hoje podemos encontrar uma infinidade de programas que possibilitam desenvolver aplicativos em diversos tipos de linguagens. Mas à alguns anos so se falava em Delph e os principais programas desenvolvidos principalmente os de altomação e gerenciamentro de rh eram desenvolvidos em Delph.

Ao contrário do que se fala, o Delphi NÃO é uma linguagem de programação, mas sim uma ferramenta de desenvolvimento da ultima geração do Object Pascal. Na verdade, o Delphi nada mais é do que uma evolução natural do "Borland Turbo Pascal for Windows" que marcou época na sua época.

Vejamos então um pouco da história dessa ferramenta que por décadas foi simbolo de  programadores iniciantes e profissionais.

Em 1990 o sucesso marcante do Turbo Pascal (tanto para Dos como para Windows). que era a ferramenta de desenvolvimento e carro chefe da Borland, começava a dar sinais de que já não estava mais com esta bola toda. As causas? O Turbo Pascal for Windows não era uma ferramenta RAD e sim apenas um IDE de escrita de linguagem limitadíssimo e com alguns recursos extras, que se comparados aos IDE's atuais, seria visto como um mero bloco de notas incrementado, de tão pouco o que ele oferecia ao desenvolvedor. Há, e antes que eu me esqueça, tudo era codificado na mão. não existia VCL e elaboração de Forms era no estilo do Visual C ou do Borland C++ For Windows, através de arquivos .rc. Além do mais, não chegou a existir a versão 32 bits do Turbo pascal for windows. Ele só compilava projetos para o Windows 3.11 ou para MS-Dos.
Além do mais, muitos dos programadores do TP for Windows, preferiam mesmo continuar trabalhando no ambiente Dos para desenvolver aplicativos para Windows (Estranho não?), e pra complicar mais ainda a Micro$oft, do nosso eterno colega Bill, lançava o Visual Basic for Windows (Antes existia o Visual Basic p/Dos) uma verdadeira ferramenta RAD com um IDE super incrementado e que permitia que um desenvolvedor criasse um projeto na metade do tempo previsto, se ele usasse o TP, e no conceito do "Arrastar-e-soltar". Além do mais, o Turbo Pascal era focado mais no segmento Científico/Acadêmico do que comercial ao passo que o VB foi concebido justamente para o segmento comercial. Pra sorte da Borland, o VB era limitado em recursos e interpretado e a maioria dos desenvolvedores tem um grande preconceito de "linguagens interpretadas". Outra deficiência que o VB tinha, e que a Borland explorou para tentar derrubá-lo, era o fato do proprio VB não explorar por completo a API do Windows (Nesta o Bill pagou um mico daqueles. Como pode uma ferramenta Micro$oft não interagir 100% com outra ferramenta Micro$oft???)
Bom, como toda ação provoca uma reação, começou-se nos bastidores da borland, uma revolução/ release/desenvolvimento no Turbo Pascal de forma que ele se transformasse em uma nova ferramenta aos olhos dos leigos, mas que fosse um upgrade aos olhos dos analistas/desenvolvedores. Algo que fosse a "Bala na agulha" e que pudesse afrontar, pau-a-pau, o VB for Windows. Nesta época, o Delphi estava sendo fecundado.
Em 1993, começou o desenvolvimento desta nova ferramenta baseada na linguagem Object Pascal e, portanto, orientada a objetos. A ferramenta, no entando, seguiria ainda algumas trilhas instituídas pelo VB for Windows. Mas havia muita coisa a ser feita já que o Turbo pascal estava anos luz distante de seu concorrente, e, pelo que foi analisado pela equipe de desenvolvimento da Borland, muito pouca coisa dele poderia ser aproveitada em termos de IDE já que a linguagem e o compilador atendiam perfeitamente à nova proposta de upgrade. Além do mais, eles tinham que agir rápido porque se o VB for Windows emplacasse e caisse no gosto dos desenvolvedores, o Turbo Pascal que ainda ia levando, iria pro saco de vez e seu sucessor não iria sequer decolar!
O nome escolhido, Delphi, era, originalmente, o nome do Projeto deste upgrade, e tinha um significado oculto, ligado ao fato de solução estar sendo desenvolvida para integração com servidores Oracle. Quando se quer falar com o "Oráculo" (Oracle em português) para onde se vai? Delphi (referência à localização do famoso oráculo da Grécia Antiga)! o nome oficial previsto deveria ser APPBuilder, mas todos concordavam que este nome não era nada inspirador. A Sorte foi que a Novell lançou, pouco tempo antes, o Visual AppBuilder, o que forçou a Borland repensar o nome da nova ferramenta.
Outra razão pela troca de seu nome, foi devido a fatores mercadológicos pois o nome "Turbo" já não era muito compatível com as modernas regras de marketing usadas pelas empresas atuais e além disto, não queriam que o nome Pascal criasse algum tipo de resistência por parte de gerentes de sistemas corporativos que, na maioria das vezes, são pessoas que não tem conhecimentos técnicos abrangentes sobre projeto e desenvolvimento de sistemas, nem tampouco conhecem as diversas ferramentas existentes e tendem sempre a adotarem ferramentas "Micro$oft" por achar que são as "melhores" que existem no mercado. Além do mais, o pascal não era uma linguagem comercial e sim uma linguagem de meio acadêmico sendo muito usada por universidades e escolas técnicas, para os alunos aprenderem técnicas e conceitos de lógica de programação. Mas ela era uma linguagem de programação extremamente poderosa, abrangente e quase que ilimitada, o que permitia o programador fazer qualquer tipo de aplicativo comercial ou científico.
Em busca deste novo nome, propôs uma mesclagem do nome da ferramenta anterior: Borland Turbo Pascal AppBuilder que não agradou também, a solução então foi manter o nome do projeto (Situação semelhante à do Kylix) e, em meados de 1995, foi lançado no mercado a nova aposta da Borland para peitar o Visual Basic for Windows e ver no que que daria: DELPHI!
A sorte estava lançada....
Atualmente, na sua versão 7, o Delphi dispõe de recursos para integração com diversos bancos de dados relacionais (Paradox, XBase, ACCESS), DBMS (Oracle, Sybase, Interbase, Informix, SQL Server, MYSQL) de forma ágil e extremamente fácil, recursos para desenvolvimento de aplicativos para internet, suporte a tecnologias CORBA, ActiveX, OLE, XML e agora as mais recentes: SOAP e .NET. Seu raio de ação vai desde um simples aplicativo comercial até softwares científicos ou que façam uso de pesadas rotinas em assembler que podem ser implementadas em seu proprio código fonte. O Produto deu tão certo que lhe valeu uma versão para o ambiente Linux, que ainda que apesar de ainda estar engatinhando, demonstra evolução e aos poucos ganha o seu espaço no mercado.
PS: Não confunda "Turbo Pascal" com "Object Pascal". O Object Pascal é A LINGUAGEM DE PROGRAMAÇÃO em Pascal ORIENTADA A OBJETOS, ao passo que o turbo Pascal É UMA FERRAMENTA DE DESENVOLVIMENTO que usa o Object Pascal da mesma forma que o Delphi é. Portanto se lhe perguntarem o que o Turbo Pascal tem haver com o Delphi, você vai dizer que ambos são duas ferramentas de desenvolvimento baseadas no pascal.
Mas o DELPHI é uma linguagem ou não?
Se alguem lhe perguntar em que linguagem você programa, não diga "DELPHI" voce só deve dizer DELPHI, quando lhe perguntarem em qual ambiente de desenvolvimento voce trabalha ou com qual ferramenta voce desenvolve. Quando você está usando o DELPHI, a linguagem gerada por ele é o Object Pascal. Tanto isso é verdade que é possivel compilar o programa e seu codigo fonte sem a presença do DELPHI. Faça o teste :
dbcc32 [nome-do-dpr] lib [nome-das-libs]
Se voce for um ótimo programador Pascal (Tanto o Object como o comum), talvez nem precise do DELPHI para escrever seus programas. O pessoal do FreePascal (outro compilador Pascal) já faz isso a bastante tempo. Mas convenhamos, o DELPHI quebra um galhão, com packages, componentes, API, Dll's e outros bagulhos embarcados no seu IDE que é "OPEN", isto é, permite a inclusão de novos recursos e funções, tais como o pacote GExperts para incrementar o IDE. A linha de comando para se compilar um programa escrito em Pascal na mão certamente não seria das tarefas mais agradáveis e nem produtivas.

 Screenshot do IDE do DelphiDELPHI X outros RAD's
É muito comum nas listas de discussão de Delphi, os programadores iniciantes ou em Delphi ou em programação mesmo, perguntarem "Qual é o melhor" ou "Quais são as diferenças". entre o DELPHI (Borland) x VB (Micro$oft).
Quando comparamos os IDE's não vemos muitas diferenças entre ambos. São excelentes. As diferenças ficam por conta de como cada um processa os objetos. Mas quando comparamos as linguagens, digo, Object Pascal x Visual Basic, então as diferenças são muitas. A comparação do Object Pascal x Visual Basic não é justa, pois ambos são diferentes num principio básico: O Object Pascal é uma linguagem totalmente OOP. O VB ainda é orientado a eventos. Alguns programadores VB podem argumentar com certa razão que iniciantes em DELPHI não usam OOP, mas a verdade é que eles usam, mesmo sem saberem disso! O VB.NET diz ser uma linguagem de programação Orientada a Objetos, mas devido às inúmeras diferenças entre seus antecessores, o que obriga o desenvolvedor a reescrever seus projetos praticamente do zero novamente, está provocando uma grande resistência pelos Amantes do VB e ainda especula-se que ele praticamente deixou de ser "VB" na forma em que conhecemos.
Por exemplo, quando um form em branco é criado, o DELPHI acrescenta as linhas "Form1 : TForm1", o que já é uma caracteristica de herança em OOP no ObjectPascal. Outra coisa que torna a comparação impossivel é que o Visual Basic baseia suas soluções em componentes e API, quando você possui um problema, se não tiver um componente adequado ou uma função API que resolva-o, o desenvolvimento fica emperrado. No Object Pascal e também outras linguagens OOP, elas permitem ao programador intermediario desenvolver suas próprias soluções sem depender de terceiros. Com o Object Pascal, pode-se criar as mais diversas aplicações : emuladores, device-drivers, comunicação com outros dispositivos, etc...
Apesar de tudo isto, podemos citar algumas diferenças entre os dois que pesem favoraveis ao Delphi:
- Compilador nativo de código-fonte enquanto que o Visual Basic usa um compilador de P-Code. Isto significa que quando executamos um programa feito em VB, o código vai ser interpretado na sua execução, tornando-o muito mais lento que um executável escrito em instruções natiavs x86.
- O Visual Basic não é uma linguagem 100% Orientada por Objectos (OOP). Não pode criar classes de objetos com o VB. Está limitado a usar as classes que fazem parte do próprio programa. O Pascal não tem essa limitação. O VB.Net está prometendo este recurso.
- Com o Visual Basic é muito difícil trabalhar com ponteiros. Quando é necessário usar funções API que necessitem de ponteiros, o VB não está preparado para executar essa tarefa.
- O VB não suporta algumas das características mais avançadas do Win32, como por exempo o Multi-Thread.
- O Visual Basic necessita de acopolar ao executável, as DLLs Runtime que são o interpretador VB, afim de ser distribuído. O Delphi, por outro lado (e caso não seja necessário uma conectividade entre bases de dados ) cria um só arquivo executável e pronto.
- A cada nova versão do Delphi, a portabilidade dos projetos escritos em versões anteriores são 100% tranquilas e sem problemas. A única ressalva ficou por conta do Delphi 6 que sofreu profundas alterações na VCL para tornar portável a migração de projetos do Windows para o Linux. A portabilidade dos VB's anteriores ao novo .NET já está causando o maior revolta na comunidade programadora em VB devido a tantas incompatibilidades que existem obrigando o programador a praticamente reescrever o projeto todo do zero. Além do que NÃO EXISTE VB PARA LINUX.
Outras razões para voce escolher o Delphi:
- É a melhor Ferramenta RAD para se começar a Desenvolver um software. O Pascal é muito fácil de aprender, quando comparado com outras linguagens estruturadas. De fato, muitas escolas e Faculdades, usam-no com linguagem de iniciação à programação.
- Permite-lhe escrever , virtualmente, qualquer tipo de aplicação para Windows. O Pascal não conhece limites, no que diz respeito á programação para Windows.
- Existe muita assistência On-line. Se duida, visite a nossa página de LINKS. Existem, também, muitos componentes gratuitos ou de custo reduzido, disponíveis na Internet e uma infinidade de listas de discussão.
- O Pascal é uma linguagem ótima para aprendizagem em OOP. O Delphi torna mais fácil ainda esta compreensão, com a sua sintaxe simples para implementação de classes (o C++ em comparação é muito complicado).
- O Delphi possui características que realmente promovem a reusabilidade do código-fonte (o Object repository onde podem ser gravados os forms mais utilizados, para futura reutilização). A partir da versão 6.0 ele traz um gerador de diagramas que permite substituir uma ferramenta case para alguns casos.
Outros Pontos positivos do Delphi:
- Oriundo do Object Pascal que é uma Ferramenta de desenvolvimento extremamente poderosa, abrangente e totalmente orientada a objetos.
- Compilador rápido que gera instruções binárias nativas x86 (Código de máquina puro), dispensando a necessidade de se usar RunTime's e tendo a grande vantagem de ser impossível de ser descompilado.
- Acesso a bases de dados Client/Server ou não. Entre elas: Oracle, Informix, Interbase, Access, Paradox, DBase e muitas outras inclusive via ODBC e ou ADO.
- Possibilidade de se desenvolver objetos do 0 (zero) ou usar como base algum já disponível (herança).
- Esta característica economiza muito tempo na hora do desenvolvimento de objetos, e minimiza a ocorrência de erros.
- Criação de objetos no padrão do Visual Basic OCX, COM, DCOM, Active X e Corba.
- Desenvolvimento de aplicações para Internet.
- Depurador capaz de analizar códigos de terceiros.
- Ambiente de desenvolvimento com compilador extremamente rápido, com tecnologia que possibilita que após a primeira compilação só seja compilado o código modificado.
Alguns significados citados neste artigo:
IDE:
IDE é a sigla de "Integrated Development Environment", literalmente "Ambiente Integrado de Desenvolvimento". O desenvolvimento de software usa várias ferramentas. Compiladores, editores de texto, ferramentas de apoio a remoção de erros, e assim por diante. O editor de texto permite que você digite e altere programase documentos que explicam seu funcionamento. O compilador é responsável por traduzir os programas em linguágem de máquina, O software de apoio a remoção de erro (debugger) permite que acompanhemos passo a passo se necessário a execução do programa, inspecionando a memória, a sequência de chamada de funções etc O mercado ainda oferece inúmeras outras ferramentas de apoio ao desenvolvimento, como Sistemas de Gerenciadores de Bancos de Dados, Instaladores, Ferramentas de automação de testes etc.
Um IDE é um ambiente que INTEGRA várias ferramentas de desenvolvimento dentro de um único sistema. Esta integração permite que nos movamos rapidamente entre elas, aumentando a produtividade.
Um IDE típico, que possua editor, compilador e debug nos permite passar do debug para o editor de textos assim que um erro é encontrado para que seja corrigido. Depois disto o compilador pode ser invocado para gerar a nova versão do programa para que o debug possa continuar. São exemplos de IDE's conhecidas para C++, o Visual C++ e o C++ Builder. Para Java dois exemplos conhecidos são o J++ e o JBuilder. E temos também o VB que é um IDE indisutivelmente muito interativo. Alguns são bastante simples e facílimos de usar como é o do Proprio Delphi/C++ Builder, o do VB ou o do Satellite Forms para programação para Palm. Alguns já são mais pesados e complicados de usar como é do Visual C++.
GUI:
Outra sigla. Significa "Graphic User Interface", ou "Interface Gráfica com o Usuário". Segundo o dicionário Aurélio, "Interface com o usuário" é, "conjunto de elementos de hardware e software em um sistema computacional destinados a possibilitar a interação com o usuário".
Interface gráfica é o "tipo de interface com o usuário (q. v.), em que a interação está baseada no amplo emprego de imagens, e não restrita apenas a textos ou caracteres, e que faz uso de um conjunto de ferramentas que inclui janelas, ícones, botões, e um meio de apontamento e seleção, como o mouse."
API:
Mais uma sigla. "Application Program Interface", que eu prefiro traduzir como "Interface para Progamas". Enquanto a interface com o usuário permite que uma pessoa faça uso das funcionalidades de um sistema, uma API permite que um programador escreva programas que fazem uso das funções destes sistemas. Assim, enquanto nós usamos o Windows através de teclado, mouse e vídeo gráfico, um programa usa o Windows através de uma API.
É frequente dar à expressão API um sentido mais restrito e especifico do que este, considerando API's apenas as interfaces formadas por funções, reservando outros nomes para interfaces que façam uso de texnologias mais complexas, como "Frameworks" e Componentes.
Neste sentido, não se chama a MFC, por exemplo, de API.
O FUTURO DO DELPHI:
Se o delphi vai ou não acabar, é questão de tempo, "nada dura pra sempre", ex: Jesus, o império romano, o império americano (que logo logo vai acabar também). Acreditamos que este dia ainda está muito longe de chegar por alguns motivos óbvios:
1 - O Delphi é uma ferramenta de desenvolvimento baseada no Object Pascal que é uma linguagem que atravéssa décadas sem que caia na obsolescência.
2 - O Delphi é uma ferramenta de desenvolvimento, que a cada versão, procura incorporar pra sí todas as tecnologias recentemente lançadas. Quer dizer, é uma ferramenta que está acompanhando a evolução da TI.
3 - A abundância de apostilas, tutoriais, listas de discussão, suporte e consultoria, é um diferencial em relação a outras ferramentas que carecem disto.
4 - Até o presente momento, o Delphi é a única ferramenta que conseguiu alcançar o ponto de equilíbrio entre a produtividade e a interatividade em relação a complexidade. Ou seja, é uma ferramenta fácil de aprender e manusear mesmo que seja para desenvolvimento de complexos softwares ou sistemas Multicamadas, sendo que o desenvolvedor consegue, em prazos perfeitamente aceitaveis pela demanda do mercado, a desenvolver tais produtos com o mínimo de erros possíveis. Há muitas ferramentas que se dizem promissoras e "Tendências do futuro", mas que carecem disto. Taí o Java que não me deixa mentir.
CONCLUSÃO: O Delphi é uma ferramenta que pode gerar tanto aplicações acadêmicas como aplicações industriais, aplicações comerciais ou até mesmo aplicações científicas. Usa recursos de ultima geração e tem caracteristicas fundamentais no mundo produtivo como é o de hoje: A flexíbilidade, reusabilidade, alta performance, compilador rápido que gera instruções nativas x86 e integração total com a API do sistema operacional. Enfim a imagem que se tem do Delphi é semelhante a de um Polvo com seus tentáculos onde cada tentáculo está atuando em um segmento diferente do outro. O Delphi tá em todas! Da mesma forma que voce acha Delphi ali na video locadora da esquina, você acha Delphi no Pentagono, na NASA ou até mesmo no paquistão (Eu conversava de vez em quando com um cara de lá que conheci em uma lista americana de Delphi a dois anos atrás). Já viu quantos sites russos de Delphi existem? Os fabricantes da famosa RX, por exemplo, São de onde?
E por favor, Nunca mais falem que o Delphi "é uma linguagem de programação" porque não é! O Delphi é uma Ferramenta RAD de desenvolvimento baseada no Object Pascal. A linguagem de programação que você vai usar na verdade é o OBJECT PASCAL.

quinta-feira, 16 de março de 2017

EXERCICIOS PROFESSOR SAMPAIO (PROF. PORÃO)


EXEÍRCIOS DE FUNDAMENTOS DE SISTEMA OPERACIONAL

1ª. Como é conhecido o componente central de um sistema operacional?
Resposta: O cerne, ou Kernel, responsável em realizar a ponte entre aplicativos e o processamento real de dados.

2ª. Crie um quadro que tenha como componente os termos abaixo:
a) PROGRAMAS
b) USUÁRIOS
c) SISTEMA OPERACIONAL
d) HARDWARE

3ª. Baseado no conhecimento adquirido em sala de aula, como está dividido o Hardware?
Resposta: O hardware esta dividido em Processador memoria e placa-mãe e hd

4ª. Pesquise e defina compiladores e interpretadores.
Respostas:
  • Compiladores; É um programa ou grupo deles escrito por uma linguagem que gera outro código que é interpretado pelo computador. Esse código é chamado de código objeto, elepod eser reproduzido em um sistema operacional, pois pode ser um arquivo executável.
  • Interpretadores:Responsável em rodar o código fonte escrito como se fosse o código objeto, ele traduz o programa linha a linha, sendo utilizado na medida em que vai sendo traduzido.

5ª. Defina com suas próprias palavras o que vem a ser drivers?
Resposta: São programas responsáveis pela comunicação entre os dispositivos de hardware devidamente instalados no computador e o sistema operacional, facilitando a comunicação para o funcionamento do didpositivo.
6º. O kernel pode ser considerado um sistema operacional? Por que?
Resposta: Se olharmos pelo conceito de Kernel e sua funcionalidade poderiamos sim considerá-lo um tipo de sistema pois ele é responsável em realizar a ponte entre os dispositivos de hardware fazendo o gerenciamento dos recursos do sistema para que os programas possam acessá-los fazendo-os funcionar. Mas devido a não interatividade com o usuário final; não poderemos considerá-lo pois uma das características de um sistema alem de gerenciar os dispositivos e a interatividade com o usuário.
7ª. O que é linguagem de máquinas?
Resposta:É um tipo de linguagem que trata de uma representação para as instruções, em nível mais básico, que um computador pode executar. Um programa escrito em linguagem de máquina é composto por uma série de instruções de máquina.


8ª. Na sua opinião por que a interface gráfica foi um marco na evolução dos S.O’s?
Resposta: Por que ela possibilitou que usuários comuns utilizassem um computador com conhecimentos básicos além de abrir novos mercados para utilização de ferramentas e aplicativos que mais tarde facilitariam a utilização da comunicação entre diversos computadores através da internet
9ª. Defina quais tipos e funções tem a memória cash?
Resposta: Memória cache é um dispositivo de acesso rápido, interno a um sistema, que serve de intermediário entre um operador de um processo e o dispositivo de armazenamento ao qual esse operador acede. A vantagem principal na utilização de uma cache consiste em evitar o acesso ao dispositivo de armazenamento - que pode ser demorado - e que vale a pena armazenar as informações procuradas em meio mais rápido ou seja Um cache é um bloco de memória para o armazenamento temporário de dados que possuem uma grande probabilidade de serem utilizados novamente. A CPU e o disco rígido freqüentemente usam caches, assim como os navegadores Web.
10ª. Defina o que é latência de memória.
Resposta: Latência de memória ou latência do CAS (CL) é o principal parâmetro sendo o mais famoso da memória. Ele indica a quantidade de pulsos de clock que a memória leva para retornar um dado solicitado.

KERNEL DO SISTEMA OPERACIONAL (Artigo 2)

Neste artigo vamos abordar as estruturas do Kernel no Linux, e aprender como funciona todo seu processo de gerenciamento.
Ele é responsável pelas funções de baixo nível, como gerenciamento de memória, gerenciamento de processos, subsistemas de arquivos, rede, suporte aos dispositivos e periféricos conectados ao computador. Os núcleos dos sistemas operacionais podem ser implementados de duas formas básicas: Kernel monolítico e o microkernel.

O Kernel monolítico é estruturado em um único arquivo binário, um único processo que executa inteiramente em modo protegido. Ele possui desempenho superior na passagem de mensagens, mas apresenta inúmeras desvantagens como a dificuldade de alterações no núcleo e o desperdício de recursos, pois os drivers de dispositivos permanecem constantemente em memória, mesmo quando os dispositivos não estão sendo utilizados.

Estrutura do Kernel Monolítico:





 No microkernel apenas uma pequena parte do núcleo executa em modo protegido para acessar diretamente o hardware, como também é responsável pela comunicação entre processos e gerência de memória.

O restante do sistema roda em modo usuário, uma vez que executa tarefas que não necessitam acessar diretamente o hardware, e seus serviços clássicos são assegurados por processos servidores.

Microkernel:


Os recursos do sistema são acessados através de um protocolo cliente/servidor, e para incluir um novo serviço basta acrescentar um novo servidor. O microkernel possui um desempenho inferior ao modelo monolítico, mas podem-se alterar suas partes sem a necessidade de reiniciar a máquina permitindo a expansão para um sistema distribuído de forma mais fácil.

Pode-se entender o microkernel paralelo como um conjunto de microkernels locais cooperativos, um em cada nó da máquina paralela. O ponto crucial é a comunicação entre processos sobre um mesmo processador ou em processadores diferentes, de acordo com um protocolo cliente/servidor. O módulo responsável pela comunicação possui as funções básicas para receber mensagens originárias de outros proces­sadores, receber resultados de operações executadas remotamente e enviar mensagens destinadas a outros processadores.

Sua organização é baseada no modelo cliente/servidor, onde os serviços do sistema são implementados por servidores especializados. Os Clientes, que são programas de aplicação, solicitam os serviços ao sistema operacional que os encaminham aos processos servidores. Estes recebem a solicitação e a executam, enviando o resultado de volta ao microkernel e então à aplicação.

Maiores detalhes sobre o funcionamento dos processos do Kernel, podemos encontrar no site oficial.

Escrito  por Denilson Prates Softwares
Fonte: https://www.oficinadanet.com.br/post/10330-kernel-dos-sistemas-operacionais

O QUE É UM KERNEL?

O termo kernel vem do inglês, e significa “núcleo”. Apesar de pouco comentado no ambiente da informática, o kernel possui papel muito importante para o funcionamento de um computador. O kernel é considerado o principal item dos sistemas operacionais, sendo que ele é a ligação entre o processamento de dados e os programas. Por isso, muitos o consideram o cérebro do computador. O kernel ganhou notoriedade com o desenvolvimento do Linux, porém, vale ressaltar que ele também está presente no Windows e no Mac OS.

O kernel é o grande responsável por fazer a ligação entre o hardware e o software do computador. Sendo assim, o objetivo principal é gerenciar a máquina e fazer com que os aplicativos possam ser executados através dos recursos existentes no computador. Além disso, o kernel tem como responsabilidade garantir que a memória RAM seja utilizada do melhor modo possível para que assim não ofereça qualquer risco para o computador.


Funcionamento

Ao ligar um computador, o kernel é imediatamente acionado e começa a detectar o hardware que a máquina possui e ainda o que precisa para prosseguir em sua função. O núcleo então, após o sistema operacional ser carregado, possui função também de gerenciar outras questões, como os arquivos, memórias, entre outros, tudo isso para garantir a organização funcional do sistema.
Além disso, o kernel pode decidir quais dos programas que estão sendo executados no momento que devem ser alocados para o processador, ou mesmo processadores.
Em resumo, o kernel é o grande responsável por gerenciar os recursos do sistema e assim, permitir que os programas possam fazer uso deles. O funcionamento não se dá de forma simples, é sim um processo complexo, dependendo do tipo de Kernel que sua máquina possui. Ele pode ser dividido em monolítico, híbrido ou micronúcleo.
Monolítico: Neste caso, os controladores de dispositivos e também as extensões de núcleo são executadas no espaço de núcleo, tendo acesso total ao hardware.
Micronúcleo: Alguns dos processos são executados no próprio núcleo, porém, o restante pode ser executado no espaço vago. Permite alternar dinamicamente entre sistemas operativos e manter mais de um deles ativos simultaneamente.
Híbrido: É considerado um micronúcleo e conta com um código no espaço do núcleo para que as operações executadas  possam ser mais velozes.
Nanonúcleo: Delega virtualmente todos os serviços para os drivers de dispositivo, desde os mais simples, como um temporizador. Com isso torna o requerimento de memória do núcleo ainda menor do que o dos micronúcleos.
Exonúcleo: Este teipo de núcleo aloca recursos físicos de hardware, podendo, por exemplo, fazer que um programa sendo executado em um exonúcleo possa se ligar com uma biblioteca do sistema que também usa exonúcleo para fazer simulações do sistema.



 Escrito por Rafaela Pozzebom Tecnologia
Fonte:  https://www.oficinadanet.com.br/post/13858-o-que-e-kernel

Graphic

Tech

Technology

Social

Tech