Noções básicas de computadores - Guia rápido
Sendo uma criança moderna, você deve ter usado, visto ou lido sobre computadores. Isso ocorre porque eles são parte integrante de nossa existência cotidiana. Seja em escolas, bancos, lojas, estações ferroviárias, hospitais ou em casa, os computadores estão presentes em todos os lugares, tornando nosso trabalho mais fácil e rápido para nós. Como eles são partes integrantes de nossas vidas, devemos saber o que são e como funcionam. Vamos começar definindo o termo computador formalmente.
O significado literal de computador é um dispositivo que pode calcular. No entanto, os computadores modernos podem fazer muito mais do que calcular.Computer é um dispositivo eletrônico que recebe entrada, armazena ou processa a entrada de acordo com as instruções do usuário e fornece saída no formato desejado.
Modelo de entrada-processo-saída
A entrada do computador é chamada data e a saída obtida após o processamento, com base nas instruções do usuário é chamada information. Fatos e números brutos que podem ser processados usando operações aritméticas e lógicas para obter informações são chamadosdata.
Os processos que podem ser aplicados aos dados são de dois tipos -
Arithmetic operations - Os exemplos incluem cálculos como adição, subtração, diferenciais, raiz quadrada, etc.
- Logical operations - Os exemplos incluem operações de comparação como maior que, menor que, igual a, oposto, etc.
A figura correspondente para um computador real parece algo assim -
As partes básicas de um computador são as seguintes -
Input Unit - Dispositivos como teclado e mouse, usados para inserir dados e instruções no computador, são chamados de unidade de entrada.
Output Unit - Dispositivos como impressora e unidade de exibição visual que são usados para fornecer informações ao usuário no formato desejado são chamados de unidade de saída.
Control Unit- Como o nome sugere, esta unidade controla todas as funções do computador. Todos os dispositivos ou partes do computador interagem por meio da unidade de controle.
Arithmetic Logic Unit - Este é o cérebro do computador onde todas as operações aritméticas e lógicas acontecem.
Memory- Todos os dados de entrada, instruções e dados provisórios para os processos são armazenados na memória. A memória é de dois tipos -primary memory e secondary memory. A memória primária reside na CPU, enquanto a memória secundária é externa a ela.
Unidade de controle, unidade lógica aritmética e memória são chamadas juntas de central processing unit ou CPU. Dispositivos de computador como teclado, mouse, impressora, etc., que podemos ver e tocar são oshardwarecomponentes de um computador. O conjunto de instruções ou programas que fazem o computador funcionar usando essas peças de hardware são chamadossoftware. Não podemos ver ou tocar o software. Hardware e software são necessários para o funcionamento de um computador.
Características do Computador
Para entender por que os computadores são uma parte tão importante de nossas vidas, vejamos algumas de suas características -
Speed - Normalmente, um computador pode executar 3-4 milhões de instruções por segundo.
Accuracy- Os computadores apresentam um alto grau de precisão. Os erros que podem ocorrer geralmente são devido a dados imprecisos, instruções erradas ou bug em chips - todos erros humanos.
Reliability - Os computadores podem realizar o mesmo tipo de trabalho repetidamente sem gerar erros por cansaço ou tédio, que são muito comuns entre os humanos.
Versatility- Os computadores podem realizar uma ampla gama de trabalhos, desde a entrada de dados e reserva de passagens até cálculos matemáticos complexos e observações astronômicas contínuas. Se você puder inserir os dados necessários com as instruções corretas, o computador fará o processamento.
Storage Capacity- Os computadores podem armazenar uma grande quantidade de dados por uma fração do custo do armazenamento tradicional de arquivos. Além disso, os dados estão protegidos contra o desgaste normal associado ao papel.
Vantagens de usar o computador
Agora que conhecemos as características dos computadores, podemos ver as vantagens que eles oferecem−
Os computadores podem fazer a mesma tarefa repetidamente com a mesma precisão.
Os computadores não ficam cansados ou entediados.
Os computadores podem assumir tarefas rotineiras enquanto liberam recursos humanos para funções mais inteligentes.
Desvantagens de usar o computador
Apesar de tantas vantagens, os computadores têm algumas desvantagens -
Os computadores não têm inteligência; eles seguem as instruções cegamente, sem considerar o resultado.
O fornecimento regular de eletricidade é necessário para fazer os computadores funcionarem, o que pode ser difícil em qualquer lugar, especialmente nas nações em desenvolvimento.
Inicializando
Iniciar um computador ou um dispositivo integrado ao computador é denominado booting. A inicialização ocorre em duas etapas -
- Ligando a fonte de alimentação
- Carregando o sistema operacional na memória principal do computador
- Manter todos os aplicativos em um estado de prontidão no caso de necessidade do usuário
O primeiro programa ou conjunto de instruções executado quando o computador é ligado é chamado BIOS ou Basic Input Output System. BIOS é umfirmware, ou seja, um pedaço de software permanentemente programado no hardware.
Se um sistema já está em execução, mas precisa ser reiniciado, ele é chamado rebooting. A reinicialização pode ser necessária se um software ou hardware foi instalado ou o sistema está excepcionalmente lento.
Existem dois tipos de inicialização -
Cold Booting- Quando o sistema é iniciado ligando a fonte de alimentação, é denominado inicialização a frio. A próxima etapa da inicialização a frio é carregar o BIOS.
Warm Booting- Quando o sistema já está em execução e precisa ser reiniciado ou reinicializado, é chamado de inicialização a quente. A inicialização a quente é mais rápida do que a inicialização a frio porque o BIOS não é recarregado.
Historicamente, os computadores eram classificados de acordo com os tipos de processador porque o desenvolvimento no processador e as velocidades de processamento eram os benchmarks de desenvolvimento. Os primeiros computadores usavam tubos de vácuo para processamento, eram enormes e quebravam com frequência. No entanto, como os tubos de vácuo foram substituídos por transistores e chips, seu tamanho diminuiu e as velocidades de processamento aumentaram.
Todos os computadores e dispositivos de computação modernos usam microprocessadores cujas velocidades e capacidades de armazenamento aumentam a cada dia. O benchmark de desenvolvimento para computadores agora é seu tamanho. Os computadores agora são classificados com base em seu uso ou tamanho -
- Desktop
- Laptop
- Tablet
- Server
- Mainframe
- Supercomputer
Vejamos todos esses tipos de computadores em detalhes.
Área de Trabalho
Desktop computadores são personal computers (PCs)projetado para uso por um indivíduo em um local fixo. A IBM foi o primeiro computador a introduzir e popularizar o uso de desktops. Uma unidade desktop normalmente possui uma CPU (Unidade de Processamento Central), monitor, teclado e mouse. A introdução de desktops popularizou o uso de computadores entre as pessoas comuns, pois era compacto e acessível.
Aproveitando a popularidade do desktop, muitos dispositivos de software e hardware foram desenvolvidos especialmente para o usuário doméstico ou de escritório. A consideração de design mais importante aqui foi a facilidade de uso.
Computador portátil
Apesar de sua enorme popularidade, os desktops deram lugar a um computador pessoal mais compacto e portátil chamado laptop na década de 2000. Laptops também são chamadosnotebook computers ou simplesmente notebooks. Laptops funcionam com baterias e se conectam a redes usando chips Wi-Fi (Wireless Fidelity). Eles também têm chips para eficiência energética, para que possam conservar energia sempre que possível e ter uma vida útil mais longa.
Os laptops modernos têm capacidade de processamento e armazenamento suficiente para serem usados em todos os trabalhos de escritório, design de sites, desenvolvimento de software e até edição de áudio / vídeo.
Tábua
Depois que os laptops foram miniaturizados para desenvolver máquinas que têm o poder de processamento de um desktop, mas são pequenas o suficiente para serem seguradas na palma da mão. Os tablets têm tela sensível ao toque de 5 a 10 polegadas, em que um dedo é usado para tocar os ícones e invocar aplicativos.
O teclado também é exibido virtualmente sempre que necessário e usado com toques. Os aplicativos executados em tablets são chamadosapps. Eles usam sistemas operacionais da Microsoft (Windows 8 e versões posteriores) ou Google (Android). Os computadores da Apple desenvolveram seu próprio tablet chamadoiPad que usa um sistema operacional proprietário chamado iOS.
Servidor
Servidores são computadores com altas velocidades de processamento que fornecem um ou mais serviços para outros sistemas no network. Eles podem ou não ter telas anexadas a eles. Um grupo de computadores ou dispositivos digitais conectados para compartilhar recursos é chamado denetwork.
Os servidores têm alto poder de processamento e podem lidar com várias solicitações simultaneamente. Os servidores mais comumente encontrados em redes incluem -
- Servidor de arquivo ou armazenamento
- Servidor de jogo
- Servidor de aplicação
- Servidor de banco de dados
- Servidor de e-mail
- Servidor de impressão
Mainframe
Mainframessão computadores usados por organizações como bancos, companhias aéreas e ferrovias para lidar com milhões e trilhões de transações online por segundo. Características importantes dos mainframes são -
- Grande em tamanho
- Centenas de vezes mais rápido do que os servidores, normalmente cem megabytes por segundo
- Muito caro
- Use o sistema operacional proprietário fornecido pelos fabricantes
- Recursos integrados de segurança de hardware, software e firmware
Supercomputador
Supercomputerssão os computadores mais rápidos do planeta. Eles são usados para realizar cálculos complexos, rápidos e demorados para aplicações científicas e de engenharia. A velocidade ou o desempenho do supercomputador são medidos em teraflops, ou seja, 1012 operações de ponto flutuante por segundo.
Supercomputador chinês Sunway TaihuLight é o supercomputador mais rápido do mundo, com uma classificação de 93 petaflops por segundo, ou seja, 93 quatrilhões de operações de ponto flutuante por segundo.
Os usos mais comuns de supercomputadores incluem -
- Mapeamento molecular e pesquisa
- Previsão do tempo
- Pesquisa ambiental
- Exploração de petróleo e gás
Como você sabe, os dispositivos de hardware precisam de instruções do usuário para funcionar. Um conjunto de instruções que alcançam um único resultado é denominado programa ou procedimento. Muitos programas funcionando juntos para fazer uma tarefa tornam umsoftware.
Por exemplo, um software de processamento de texto permite ao usuário criar, editar e salvar documentos. Um navegador da web permite que o usuário visualize e compartilhe páginas da web e arquivos multimídia. Existem duas categorias de software -
- Software de sistema
- Software de Aplicação
- Software Utilitário
Vamos discuti-los em detalhes.
Software de sistema
O software necessário para executar as partes de hardware do computador e outro software de aplicativo são chamados system software. O software do sistema atua comointerfaceentre hardware e aplicativos de usuário. Uma interface é necessária porque dispositivos de hardware ou máquinas e humanos falam em idiomas diferentes.
As máquinas entendem apenas a linguagem binária, ou seja, 0 (ausência de sinal elétrico) e 1 (presença de sinal elétrico), enquanto os humanos falam em inglês, francês, alemão, tâmil, hindi e muitas outras línguas. O inglês é a língua predominante na interação com computadores. O software é necessário para converter todas as instruções humanas em instruções compreensíveis por máquina. E é exatamente isso que o software de sistema faz.
Com base em sua função, o software do sistema é de quatro tipos -
- Sistema operacional
- Processador de Linguagem
- Drivers de dispositivo
Sistema operacional
O software de sistema que é responsável pelo funcionamento de todas as peças de hardware e sua interoperabilidade para realizar as tarefas com sucesso é chamado operating system (OS). O sistema operacional é o primeiro software a ser carregado na memória do computador quando o computador é ligado e isso é chamadobooting. O sistema operacional gerencia as funções básicas de um computador, como armazenamento de dados na memória, recuperação de arquivos de dispositivos de armazenamento, agendamento de tarefas com base na prioridade, etc.
Processador de Linguagem
Conforme discutido anteriormente, uma função importante do software do sistema é converter todas as instruções do usuário em linguagem compreensível pela máquina. Quando falamos de interações homem-máquina, as linguagens são de três tipos -
Machine-level language- Esta linguagem nada mais é do que uma sequência de 0s e 1s que as máquinas podem entender. É totalmente dependente da máquina.
Assembly-level language - Esta linguagem introduz uma camada de abstração ao definir mnemonics. Mnemonicssão palavras ou símbolos semelhantes ao inglês usados para denotar uma longa sequência de 0s e 1s. Por exemplo, a palavra “READ” pode ser definida para significar que o computador tem que recuperar dados da memória. O completoinstructiontambém informará o endereço da memória. Linguagem de nível de montagem émachine dependent.
High level language- Este idioma usa declarações semelhantes ao inglês e é completamente independente de máquinas. Os programas escritos em linguagens de alto nível são fáceis de criar, ler e entender.
Programa escrito em linguagens de programação de alto nível como Java, C ++, etc. é chamado source code. O conjunto de instruções em formato legível por máquina é chamadoobject code ou machine code. System software que converte o código-fonte em código-objeto é chamado language processor. Existem três tipos de intérpretes de linguagem-
Assembler - Converte o programa de nível de montagem em programa de nível de máquina.
Interpreter - Converte programas de alto nível em programas de nível de máquina linha por linha.
Compiler - Converte programas de alto nível em programas de nível de máquina de uma vez, em vez de linha por linha.
Drivers de dispositivo
O software do sistema que controla e monitora o funcionamento de um dispositivo específico no computador é chamado device driver. Cada dispositivo como impressora, scanner, microfone, alto-falante, etc. que precisa ser conectado externamente ao sistema tem um driver específico associado a ele. Ao conectar um novo dispositivo, você precisa instalar o driver para que o sistema operacional saiba como ele deve ser gerenciado.
Software de Aplicação
Um software que executa uma única tarefa e nada mais é chamado application software. Os softwares aplicativos são muito especializados em sua função e abordagem para resolver um problema. Portanto, um software de planilha só pode fazer operações com números e nada mais. Um software de gerenciamento de hospital irá gerenciar as atividades do hospital e nada mais. Aqui estão alguns softwares de aplicativos comumente usados -
- Processamento de texto
- Spreadsheet
- Presentation
- Gerenciamento de banco de dados
- Ferramentas multimídia
Software Utilitário
O software aplicativo que auxilia o software do sistema em fazer seu trabalho é chamado utility software. Assim, o software utilitário é, na verdade, um cruzamento entre o software do sistema e o software aplicativo. Exemplos de software utilitário incluem -
- Software antivírus
- Ferramentas de gerenciamento de disco
- Ferramentas de gerenciamento de arquivos
- Ferramentas de compressão
- Ferramentas de backup
Como você sabe, o software do sistema atua como uma interface para o sistema de hardware subjacente. Aqui, discutiremos alguns softwares de sistema importantes em detalhes.
Sistema operacional
Operating system (OS)é a tábua de salvação do computador. Você conecta todos os dispositivos básicos como CPU, monitor, teclado e mouse; conecte a fonte de alimentação e ligue-o pensando que você tem tudo no lugar. Mas o computador não inicia ou ganha vida a menos que tenha um sistema operacional instalado porque o SO -
- Mantém todas as peças de hardware em um estado de prontidão para seguir as instruções do usuário
- Coordenadas entre diferentes dispositivos
- Agenda várias tarefas de acordo com a prioridade
- Aloca recursos para cada tarefa
- Permite que o computador acesse a rede
- Permite que os usuários acessem e usem o software aplicativo
Além da inicialização, essas são algumas das funções de um sistema operacional -
- Gerenciar recursos de computador, como hardware, software, recursos compartilhados, etc.
- Alocando recursos
- Previna erros durante o uso do software
- Controle o uso impróprio do computador
Um dos primeiros sistemas operacionais foi MS-DOS,desenvolvido pela Microsoft para IBM PC. Era umCommand Line Interface (CLI)SO que revolucionou o mercado de PCs. O DOS era difícil de usar por causa de sua interface. Os usuários precisavam se lembrar das instruções para realizar suas tarefas. Para tornar os computadores mais acessíveis e fáceis de usar, a Microsoft desenvolveuGraphical User Interface (GUI) sistema operacional baseado chamado Windows, que transformou a maneira como as pessoas usavam computadores.
Montador
Assembler é um software de sistema que converte programas de nível de montagem em código de nível de máquina.
Estas são as vantagens fornecidas pela programação em nível de montagem -
- Aumenta a eficiência do programador, pois é mais fácil lembrar os mnemônicos
- A produtividade aumenta conforme o número de erros diminui e, portanto, o tempo de depuração
- O programador tem acesso a recursos de hardware e, portanto, tem flexibilidade para escrever programas personalizados para o computador específico
Intérprete
A principal vantagem da linguagem de nível de montagem era sua capacidade de otimizar o uso da memória e do hardware. No entanto, com os avanços tecnológicos, os computadores passaram a ter mais memória e melhores componentes de hardware. Portanto, a facilidade de escrever programas tornou-se mais importante do que otimizar a memória e outros recursos de hardware.
Além disso, sentiu-se a necessidade de retirar a programação de um punhado de cientistas treinados e programadores de computador, para que os computadores pudessem ser usados em mais áreas. Isso levou ao desenvolvimento de linguagens de alto nível que eram fáceis de entender devido à semelhança dos comandos com a língua inglesa.
O software do sistema usado para traduzir o código-fonte da linguagem de alto nível em código-objeto da linguagem de nível de máquina linha por linha é chamado de interpreter. Um interpretador pega cada linha de código, converte-o em código de máquina e armazena-o no arquivo-objeto.
o advantagede usar um intérprete é que eles são muito fáceis de escrever e não requerem um grande espaço de memória. No entanto, há uma grande desvantagem em usar intérpretes, ou seja, programas interpretados demoram muito para serem executados. Para superar issodisadvantage, especialmente para programas grandes, compilers Foram desenvolvidos.
Compilador
O software de sistema que armazena o programa completo, faz a varredura, traduz o programa completo em código-objeto e, em seguida, cria um código executável, é chamado de compilador. Em face disso, os compiladores se comparam desfavoravelmente com os intérpretes porque eles -
- são mais complexos que intérpretes
- precisa de mais espaço de memória
- demore mais tempo compilando o código-fonte
No entanto, os programas compilados são executados muito rapidamente em computadores. A imagem a seguir mostra o processo passo a passo de como um código-fonte é transformado em um código executável -
Estas são as etapas para compilar o código-fonte em código executável -
Pre-processing - Neste estágio, as instruções do pré-processador, normalmente usadas por linguagens como C e C ++, são interpretadas, ou seja, convertidas para a linguagem de nível de montagem.
Lexical analysis - Aqui todas as instruções são convertidas para lexical units como constantes, variáveis, símbolos aritméticos, etc.
Parsing - Aqui todas as instruções são verificadas para ver se estão em conformidade com grammar rulesdo idioma. Se houver erros, o compilador solicitará que você os corrija antes de continuar.
Compiling - Nesta fase, o código-fonte é convertido em object code.
Linking- Se houver links para arquivos externos ou bibliotecas, os endereços de seus executáveis serão adicionados ao programa. Além disso, se o código precisar ser reorganizado para execução real, eles serão reorganizados. O resultado final é oexecutable code que está pronto para ser executado.
Como você sabe, o sistema operacional é responsável pelo funcionamento do sistema do computador. Para isso, realiza essas três grandes categorias de atividades -
Essential functions - Garante a utilização ótima e eficaz dos recursos
Monitoring functions - Monitora e coleta informações relacionadas ao desempenho do sistema
Service functions - Oferece serviços aos usuários
Vejamos algumas das funções mais importantes associadas a essas atividades.
Gerenciamento de processador
O gerenciamento da CPU de um computador para garantir sua utilização ideal é denominado processor management. O gerenciamento do processador envolve basicamente a alocação de tempo do processador para as tarefas que precisam ser concluídas. Isso é chamadojob scheduling. Os trabalhos devem ser programados de forma que -
- Há utilização máxima da CPU
- O tempo de resposta, ou seja, o tempo necessário para concluir cada trabalho, é mínimo
- O tempo de espera é mínimo
- Cada trabalho obtém o tempo de resposta mais rápido possível
- O rendimento máximo é alcançado, onde o rendimento é o tempo médio gasto para completar cada tarefa
Existem dois métodos de agendamento de tarefas feitos por sistemas operacionais -
- Agendamento preventivo
- Programação não preemptiva
Agendamento preventivo
Nesse tipo de agendamento, o próximo trabalho a ser feito pelo processador pode ser agendado antes que o trabalho atual seja concluído. Se surgir um trabalho de prioridade mais alta, o processador pode ser forçado a liberar o trabalho atual e assumir o próximo trabalho. Existem duas técnicas de agendamento que usam agendamento preventivo -
Round robin scheduling - Uma pequena unidade de tempo chamada time sliceé definido e cada programa obtém apenas um intervalo de tempo de cada vez. Se não for concluído durante esse tempo, ele deve entrar na fila de trabalhos no final e esperar até que todos os programas tenham obtido um intervalo de tempo. A vantagem aqui é que todos os programas têm oportunidades iguais. A desvantagem é que, se um programa conclui a execução antes que a fração de tempo termine, a CPU fica ociosa pelo resto da duração.
Response ratio scheduling - A taxa de resposta é definida como
$$\frac{Elapsed \: Time}{Execution \: time \: received}$$
Um trabalho com menor tempo de resposta tem maior prioridade. Portanto, um programa maior pode ter que esperar, mesmo que tenha sido solicitado antes do programa mais curto. Isso melhora o rendimento da CPU.
Programação não preemptiva
Nesse tipo de agendamento, as decisões de agendamento de trabalho são tomadas somente após a conclusão do trabalho atual. Um trabalho nunca é interrompido para dar precedência a trabalhos de prioridade mais alta. As técnicas de programação que usam programação não preemptiva são -
First come first serve scheduling - Essa é a técnica mais simples em que o primeiro programa a gerar uma solicitação é concluído primeiro.
Shortest job next scheduling - Aqui, o trabalho que precisa de menos tempo para execução é agendado a seguir.
Deadline scheduling - O trabalho com o prazo mais próximo é agendado para execução em seguida.
Gestão de Memória
O processo de regular a memória do computador e usar técnicas de otimização para melhorar o desempenho geral do sistema é chamado memory management. O espaço de memória é muito importante no ambiente de computação moderno, portanto, o gerenciamento de memória é uma função importante dos sistemas operacionais.
Como você sabe, os computadores têm dois tipos de memória - primary e secondary. A memória primária éfast but expensive e a memória secundária é cheap but slower. O sistema operacional precisa encontrar um equilíbrio entre os dois para garantir que o desempenho do sistema não seja prejudicado devido a muito menos memória primária ou os custos do sistema não aumentem devido ao excesso de memória primária.
Os dados de entrada e saída, instruções do usuário e dados provisórios para a execução do programa precisam ser armazenados, acessados e recuperados de forma eficiente para alto desempenho do sistema. Depois que uma solicitação de programa é aceita, o sistema operacional aloca áreas de armazenamento primário e secundário conforme a necessidade. Depois que a execução é concluída, o espaço de memória alocado para ela é liberado. O sistema operacional usa muitas técnicas de gerenciamento de armazenamento para manter um controle de todos os espaços de armazenamento alocados ou gratuitos.
Alocação de armazenamento contíguo
Esta é a técnica de alocação de espaço de armazenamento mais simples, em que locais de memória contíguos são atribuídos a cada programa. O SO deve estimar a quantidade de memória necessária para o processo completo antes da alocação.
Alocação de armazenamento não contígua
Como o nome sugere, o programa e os dados associados não precisam ser armazenados em locais contíguos. O programa é dividido em componentes menores e cada componente é armazenado em um local separado. Uma tabela mantém um registro de onde cada componente do programa está armazenado. Quando o processador precisa acessar qualquer componente, o sistema operacional fornece acesso usando esta tabela de alocação.
Em um cenário da vida real, o espaço da memória primária pode não ser suficiente para armazenar todo o programa. Nesse caso, o sistema operacional tem a ajuda deVirtual Storagetécnica, onde o programa é fisicamente armazenado na memória secundária, mas parece estar armazenado na memória primária. Isso introduz um lapso de tempo minúsculo no acesso aos componentes do programa. Existem duas abordagens para armazenamentos virtuais -
Program paging - Um programa é dividido em tamanho fixo pagee armazenados na memória secundária. As páginas são dadaslogical address or virtual addressde 0 a n. UMApage table mapeia os endereços lógicos para os endereços físicos, que são usados para recuperar as páginas quando necessário.
Program segmentation - Um programa é dividido em unidades lógicas chamadas segments, endereço lógico atribuído de 0 an e armazenado na memória secundária. UMAsegment table é usado para carregar segmentos da memória secundária para a memória primária.
Os sistemas operacionais normalmente usam uma combinação de segmentação de página e programa para otimizar o uso de memória. Um grande segmento de programa pode ser dividido em páginas ou mais de um pequeno segmento pode ser armazenado como uma única página.
Gerenciamento de arquivos
Os dados e as informações são armazenados em computadores na forma de arquivos. Gerenciar o sistema de arquivos para permitir que os usuários mantenham seus dados de maneira segura e correta é uma função importante dos sistemas operacionais. O gerenciamento de sistemas de arquivos por sistema operacional é denominadofile management. O gerenciamento de arquivos é necessário para fornecer ferramentas para essas atividades relacionadas a arquivos -
- Criação de novos arquivos para armazenamento de dados
- Updating
- Sharing
- Proteção de dados por meio de senhas e criptografia
- Recuperação em caso de falha do sistema
Gerenciamento de dispositivo
O processo de implementação, operação e manutenção de um dispositivo por sistema operacional é denominado device management. O sistema operacional usa um software utilitário chamadodevice driver como interface para o dispositivo.
Quando muitos processos acessam os dispositivos ou solicitam acesso aos dispositivos, o SO gerencia os dispositivos de uma forma que os compartilha de forma eficiente entre todos os processos. Processa dispositivos de acesso através desystem call interface, uma interface de programação fornecida pelo sistema operacional.
À medida que os computadores e as tecnologias de computação evoluíram ao longo dos anos, também evoluiu seu uso em muitos campos. Para atender aos requisitos crescentes, cada vez mais softwares customizados inundaram o mercado. Como todo software precisa de um sistema operacional para funcionar, os sistemas operacionais também evoluíram ao longo dos anos para atender à crescente demanda por suas técnicas e recursos. Aqui, discutimos alguns tipos comuns de sistema operacional com base em suas técnicas de trabalho e também alguns sistemas operacionais usados popularmente.
GUI OS
GUI é a sigla para Graphical User Interface. Um sistema operacional que apresenta uma interface composta por gráficos e ícones é chamado deGUI OS. O GUI OS é muito fácil de navegar e usar, pois os usuários não precisam se lembrar dos comandos a serem dados para realizar cada tarefa. Exemplos de GUI OS incluem Windows, macOS, Ubuntu, etc.
SO Time Sharing
Os sistemas operacionais que agendam tarefas para uso eficiente do processador são chamados time sharing OS. Time sharing, oumultitasking, é usado por sistemas operacionais quando vários usuários localizados em terminais diferentes precisam de tempo de processador para concluir suas tarefas. Muitas técnicas de agendamento, como o agendamento round robin e o agendamento da próxima tarefa mais curta, são usadas pelo sistema operacional de compartilhamento de tempo.
Sistema operacional em tempo real
Um sistema operacional que garante o processamento de eventos ou dados ao vivo e entrega os resultados dentro de um período de tempo estipulado é chamado de real time OS. Pode ser tarefa única ou multitarefa.
SO distribuído
Um sistema operacional que gerencia muitos computadores, mas apresenta uma interface de um único computador para o usuário é chamado distributed OS. Esse tipo de sistema operacional é necessário quando os requisitos computacionais não podem ser atendidos por um único computador e mais sistemas precisam ser usados. A interação do usuário é restrita a um único sistema; é o sistema operacional que distribui o trabalho para vários sistemas e, em seguida, apresenta a saída consolidada como se um computador tivesse trabalhado no problema em questão.
Sistemas operacionais populares
Inicialmente, os computadores não tinham sistemas operacionais. Cada programa precisava de especificações completas de hardware para funcionar corretamente, já que o gerenciamento do processador, da memória e do dispositivo tinha que ser feito pelos próprios programas. No entanto, com o desenvolvimento de hardware sofisticado e programas de aplicativos mais complexos, os sistemas operacionais tornaram-se essenciais. Conforme os computadores pessoais se tornaram populares entre os indivíduos e pequenas empresas, a demanda por sistemas operacionais padrão cresceu. Vejamos alguns dos sistemas operacionais atualmente populares -
Windows - O Windows é um sistema operacional GUI desenvolvido pela Microsoft em 1985. A versão mais recente do Windows é o Windows 10. O Windows é usado por quase 88% dos PCs e laptops em todo o mundo.
Linux- Linux é um sistema operacional de código aberto usado principalmente por mainframes e supercomputadores. Ser open source significa que seu código está disponível gratuitamente e qualquer pessoa pode desenvolver um novo sistema operacional baseado nele.
BOSS- Bharat Operating System Solutions é uma distribuição indiana de Linux baseada no Debian, um sistema operacional. Ele está localizado para permitir o uso dos idiomas indianos locais. BOSS consiste em -
- Kernel Linux
- Pacote de aplicativos do Office BharteeyaOO
- Navegador da web
- Serviço de email Thunderbird
- Aplicativo de bate-papo Pidgim
- Aplicativos de compartilhamento de arquivos
- Aplicativos multimídia
SO móvel
Um sistema operacional para smartphones, tablets e outros dispositivos móveis é chamado mobile OS. Alguns dos sistemas operacionais mais populares para dispositivos móveis incluem -
Android- Este sistema operacional baseado em Linux do Google é o sistema operacional móvel mais popular atualmente. Quase 85% dos dispositivos móveis o usam.
Windows Phone 7 - É o mais recente sistema operacional móvel desenvolvido pela Microsoft.
Apple iOS - Este sistema operacional móvel é um sistema operacional desenvolvido pela Apple exclusivamente para seus próprios dispositivos móveis, como iPhone, iPad, etc.
Blackberry OS - Este é o sistema operacional usado por todos os dispositivos móveis Blackberry, como smartphones e manuais.
Os softwares aplicativos que auxiliam o sistema operacional na realização de certas tarefas especializadas são chamados de softwares utilitários. Vejamos alguns dos softwares utilitários mais populares.
Antivírus
Um vírus pode ser definido como um programa malicioso que se anexa a um programa host e faz várias cópias de si mesmo, tornando mais lento, corrompendo ou destruindo o sistema. Um software que auxilia o sistema operacional a fornecer um ambiente livre de vírus aos usuários é denominadoantivirus. Um antivírus verifica o sistema em busca de qualquer vírus e, se detectado, elimina-o excluindo ou isolando-o. Ele pode detectar muitos tipos de vírus, comoboot virus, Trojan, worm, spywareetc.
Quando qualquer dispositivo de armazenamento externo, como uma unidade USB, é conectado ao sistema, o software antivírus o examina e dá um alerta se um vírus for detectado. Você pode configurar seu sistema para varreduras periódicas ou varredura sempre que sentir necessidade. Uma combinação de ambas as técnicas é aconselhável para manter seu sistema livre de vírus.
Ferramentas de gerenciamento de arquivos
Como você sabe, o gerenciamento de arquivos é uma função importante dos sistemas operacionais, pois todos os dados e instruções são armazenados no computador na forma de arquivos. Os softwares utilitários que fornecem tarefas regulares de gerenciamento de arquivos, como navegar, pesquisar, atualizar, visualizar, etc., são chamados de ferramentas de gerenciamento de arquivos.Windows Explorer no sistema operacional Windows, Google desktop, Directory Opus, Double Commander, etc. são exemplos de tais ferramentas.
Ferramentas de compressão
O espaço de armazenamento é sempre valioso em sistemas de computador. Portanto, os sistemas operacionais estão sempre procurando maneiras de minimizar a quantidade de espaço de armazenamento ocupado pelos arquivos.Compression tools são utilitários que auxiliam os sistemas operacionais a encurtar arquivos para que ocupem menos espaço. Após a compactação, os arquivos são armazenados em um formato diferente e não podem ser lidos ou editados diretamente. Ele precisa ser descompactado antes de ser acessado para uso posterior. Algumas das ferramentas de compressão populares sãoWinRAR, PeaZip, The Unarchiveretc.
Limpeza de disco
As ferramentas de limpeza de disco ajudam os usuários a liberar espaço em disco. O software verifica os discos rígidos para encontrar arquivos que não são mais usados e libera espaço ao excluí-los.
Desfragmentador de Disco
O desfragmentador de disco é um disk management utility que aumenta a velocidade de acesso ao arquivo, reorganizando fragmented files em contiguous locations. Arquivos grandes são divididos em fragmentos e podem ser armazenados emnon-contiguouslocais se contíguos não estiverem disponíveis. Quando esses arquivos são acessados pelo usuário, a velocidade de acesso é lenta devido à fragmentação. O utilitário desfragmentador de disco examina o disco rígido e tenta montar fragmentos de arquivos para que possam ser armazenados em locais contíguos.
Cópia de segurança
O utilitário de backup permite o backup de arquivos, pastas, bancos de dados ou discos completos. Os backups são feitos para que os dados possam ser restaurados em caso de perda de dados. Backup é um serviço fornecido por todos os sistemas operacionais. Em sistemas independentes, o backup pode ser feito na mesma unidade ou em uma unidade diferente. No caso de sistemas em rede, o backup pode ser feito em servidores de backup.
Um software cujo source code é distribuído gratuitamente com uma licença para estudar, mudar e posteriormente distribuído a qualquer pessoa para qualquer finalidade é chamado open source software. O software de código-fonte aberto geralmente é um esforço de equipe em que programadores dedicados aprimoram o código-fonte e compartilham as mudanças com a comunidade. O software de código aberto oferece essas vantagens aos usuários devido às suas comunidades prósperas -
- Security
- Affordability
- Transparent
- Interoperável em várias plataformas
- Flexível devido a personalizações
- A localização é possível
freeware
Um software que está disponível gratuitamente para uso e distribuição, mas não pode ser modificado porque seu código-fonte não está disponível é chamado freeware. Exemplos de freeware são Google Chrome, Adobe Acrobat PDF Reader, Skype, etc.
Shareware
Um software que é inicialmente gratuito e pode ser distribuído para outras pessoas também, mas precisa ser pago após um período de tempo estipulado é chamado shareware. Seu código-fonte também não está disponível e, portanto, não pode ser modificado.
Software Proprietário
O software que pode ser usado apenas com a obtenção da licença de seu desenvolvedor após o pagamento é denominado proprietary software. Um indivíduo ou uma empresa pode possuir esse software proprietário. Seu código-fonte costuma ser um segredo bem guardado e pode ter grandes restrições como -
- Sem distribuição adicional
- Número de usuários que podem usá-lo
- Tipo de computador em que pode ser instalado, por exemplo multitarefa ou usuário único, etc.
Por exemplo, Microsoft Windows é um software operacional proprietário que vem em várias edições para diferentes tipos de clientes, como usuário único, multiusuário, profissional, etc.
Os softwares aplicativos que auxiliam os usuários em trabalhos regulares de escritório, como criação, atualização e manutenção de documentos, manipulação de grandes quantidades de dados, criação de apresentações, agendamento, etc. são chamados de ferramentas de escritório. Usar ferramentas de escritório economiza tempo e esforço e muitas tarefas repetitivas podem ser feitas facilmente. Alguns dos softwares que fazem isso são -
- Processadores de texto
- Spreadsheets
- Sistemas de banco de dados
- Software de apresentação
- Ferramentas de e-mail
Vejamos alguns deles em detalhes.
Processador de palavras
Um software para criar, armazenar e manipular documentos de texto é chamado de processador de texto. Alguns processadores de texto comuns são MS-Word, WordPad, WordPerfect, Google docs, etc.
Um processador de texto permite que você -
- Criar, salvar e editar documentos
- Formate as propriedades do texto como fonte, alinhamento, cor da fonte, cor de fundo, etc.
- Verificar ortografia e gramática
- Adicione imagens
- Adicione cabeçalho e rodapé, defina as margens da página e insira marcas d'água
Planilha
Spreadsheet é um software que auxilia os usuários no processamento e análise de dados tabulares. É uma ferramenta de contabilidade informatizada. Os dados são sempre inseridos em umcell (intersecção de um row e um column) e fórmulas e funções para processar um grupo de células estão facilmente disponíveis. Alguns dos softwares de planilhas populares incluem MS-Excel, Gnumeric, Google Sheets, etc. Aqui está uma lista de atividades que podem ser feitas em um software de planilha -
- Cálculos simples como adição, média, contagem, etc.
- Preparar tabelas e gráficos em um grupo de dados relacionados
- Entrada de dados
- Formatação de dados
- Formatação de célula
- Cálculos baseados em comparações lógicas
Ferramenta de Apresentação
Presentation tool permite ao usuário demonstrar informações divididas em pequenos pedaços e organizadas em páginas chamadas slides. Uma série de slides que apresentam uma ideia coerente ao público é chamada depresentation. Os slides podem conter texto, imagens, tabelas, áudio, vídeo ou outras informações multimídia organizadas neles. MS-PowerPoint, OpenOffice Impress, Lotus Freelance, etc. são algumas ferramentas de apresentação populares.
Sistema de gerenciamento de banco de dados
Software que gerencia storage, updating e retrieval de dados através da criação de bancos de dados é chamado database management system. Algumas ferramentas populares de gerenciamento de banco de dados são MS-Access, MySQL, Oracle, FoxPro, etc.
Dependendo de seu uso, o software pode ser generic ou specific. Generic softwareé um software que pode realizar várias tarefas em diferentes cenários sem ser modificado. Por exemplo, um software processador de texto pode ser usado por qualquer pessoa para criar diferentes tipos de documentos, como relatório, white paper, material de treinamento, etc.Specific software é um software para uma aplicação particular, como sistema de reserva ferroviária, previsão do tempo, etc. Vejamos alguns exemplos de ferramentas específicas de domínio.
Sistema de Gestão Escolar
O sistema de gestão escolar lida com as diversas atividades de uma escola, como exames, frequência, admissão, taxas de alunos, horário, treinamento de professores, etc.
Gestão de inventário
O gerenciamento de várias atividades, como compra, venda, pedido, entrega, manutenção de estoque, etc. associadas a produtos brutos ou processados em qualquer negócio, é chamado de gerenciamento de estoque. O software de gerenciamento de estoque garante que os estoques nunca fiquem abaixo dos limites especificados e as compras / entregas sejam feitas a tempo.
Software de folha de pagamento
O software de folha de pagamento lida com cálculos completos de salários de funcionários, cuidando de licenças, bônus, empréstimos, etc. O software de folha de pagamento geralmente é um componente do software de gerenciamento de RH (recursos humanos) em organizações de médio a grande porte.
Contabilidade Financeira
O software de gerenciamento financeiro mantém um registro eletrônico de todas as transações financeiras da organização. Tem muitos cabeçalhos funcionais como contas a receber, contas a pagar, empréstimos, folha de pagamento, etc.
Gestão de restaurantes
O software de gerenciamento de restaurante ajuda os gerentes de restaurante a controlar os níveis de estoque, pedidos diários, gerenciamento de clientes, programação de funcionários, reservas de mesa, etc.
Sistema de Reserva Ferroviária
O sistema de reserva de ferrovias é um software que lida com vários módulos, como rotas de trem, gerenciamento de trem, reserva de assento, reserva de comida, manutenção de trem, status de trem, pacotes de viagem, etc.
Sistema de previsão do tempo
O sistema de previsão do tempo é um software em tempo real que prevê o tempo de um lugar coletando uma grande quantidade de dados ao vivo sobre a temperatura atmosférica, umidade, nível do vento, etc. É usado para prever grandes desastres como terremotos, furacões, tsunamis, etc.
A técnica para representar e trabalhar com números é chamada number system. Decimal number systemé o sistema numérico mais comum. Outros sistemas de números populares incluem binary number system, octal number system, hexadecimal number system, etc.
Sistema de Número Decimal
O sistema de números decimais é um base 10sistema numérico com 10 dígitos de 0 a 9. Isso significa que qualquer quantidade numérica pode ser representada usando esses 10 dígitos. O sistema de números decimais também é umpositional value system. Isso significa que o valor dos dígitos dependerá de sua posição. Vamos dar um exemplo para entender isso.
Digamos que temos três números - 734, 971 e 207. O valor de 7 em todos os três números é diferente−
- Em 734, o valor de 7 é 7 centenas ou 700 ou 7 × 100 ou 7 × 10 2
- Em 971, o valor de 7 é 7 dezenas ou 70 ou 7 × 10 ou 7 × 10 1
- Em 207, o valor 0f 7 é 7 unidades ou 7 ou 7 × 1 ou 7 × 10 0
O peso de cada posição pode ser representado da seguinte forma -
Em sistemas digitais, as instruções são dadas por meio de sinais elétricos; a variação é feita variando a tensão do sinal. Ter 10 tensões diferentes para implementar o sistema de numeração decimal em equipamentos digitais é difícil. Assim, muitos sistemas numéricos que são mais fáceis de implementar digitalmente foram desenvolvidos. Vamos examiná-los em detalhes.
Sistema de número binário
A maneira mais fácil de variar as instruções por meio de sinais elétricos é o sistema de dois estados - ligado e desligado. On é representado como 1 e off como 0, embora 0 não seja realmente nenhum sinal, mas um sinal em uma tensão mais baixa. O sistema numérico que tem apenas esses dois dígitos - 0 e 1 - é chamadobinary number system.
Cada dígito binário também é chamado de bit. O sistema de números binários também é um sistema de valores posicionais, onde cada dígito tem um valor expresso em potências de 2, conforme exibido aqui.
Em qualquer número binário, o dígito mais à direita é chamado least significant bit (LSB) e o dígito mais à esquerda é chamado most significant bit (MSB).
E o equivalente decimal desse número é a soma do produto de cada dígito com seu valor posicional.
11010 2 = 1 × 2 4 + 1 × 2 3 + 0 × 2 2 + 1 × 2 1 + 0 × 2 0
= 16 + 8 + 0 + 2 + 0
= 26 10
A memória do computador é medida em termos de quantos bits ela pode armazenar. Aqui está um gráfico para a conversão da capacidade de memória.
- 1 byte (B) = 8 bits
- 1 kilobytes (KB) = 1024 bytes
- 1 megabyte (MB) = 1024 KB
- 1 Gigabyte (GB) = 1024 MB
- 1 Terabyte (TB) = 1.024 GB
- 1 exabyte (EB) = 1024 PB
- 1 zetabyte = 1024 EB
- 1 Yottabyte (YB) = 1024 ZB
Octal Number System
Octal number system tem oito dígitos - 0, 1, 2, 3, 4, 5, 6 e 7. O sistema numérico octal também é um sistema de valores posicionais em que cada dígito tem seu valor expresso em potências de 8, conforme mostrado aqui -
O equivalente decimal de qualquer número octal é a soma do produto de cada dígito com seu valor posicional.
726 8 = 7 × 8 2 + 2 × 8 1 + 6 × 8 0
= 448 + 16 + 6
= 470 10
Sistema numérico hexadecimal
Octal number system tem 16 símbolos - 0 a 9 e A a F onde A é igual a 10, B é igual a 11 e assim por diante até F. O sistema numérico hexadecimal também é um sistema de valores posicionais em que cada dígito tem seu valor expresso em potências de 16 , como mostrado aqui -
O equivalente decimal de qualquer número hexadecimal é a soma do produto de cada dígito com seu valor posicional.
27FB 16 = 2 × 16 3 + 7 × 16 2 + 15 × 16 1 + 10 × 16 0
= 8192 + 1792 + 240 +10
= 10234 10
Relação do sistema numérico
A tabela a seguir descreve a relação entre os sistemas numéricos decimais, binários, octal e hexadecimal.
HEXADECIMAL | DECIMAL | OCTAL | BINÁRIO |
---|---|---|---|
0 | 0 | 0 | 0000 |
1 | 1 | 1 | 0001 |
2 | 2 | 2 | 0010 |
3 | 3 | 3 | 0011 |
4 | 4 | 4 | 0100 |
5 | 5 | 5 | 0101 |
6 | 6 | 6 | 0110 |
7 | 7 | 7 | 0111 |
8 | 8 | 10 | 1000 |
9 | 9 | 11 | 1001 |
UMA | 10 | 12 | 1010 |
B | 11 | 13 | 1011 |
C | 12 | 14 | 1100 |
D | 13 | 15 | 1101 |
E | 14 | 16 | 1110 |
F | 15 | 17 | 1111 |
ASCII
Além dos dados numéricos, o computador deve ser capaz de lidar com alfabetos, sinais de pontuação, operadores matemáticos, símbolos especiais, etc. que formam o conjunto completo de caracteres do idioma inglês. O conjunto completo de caracteres ou símbolos são chamados de códigos alfanuméricos. O código alfanumérico completo normalmente inclui -
- 26 letras maiúsculas
- 26 letras minúsculas
- 10 dígitos
- 7 sinais de pontuação
- 20 a 40 caracteres especiais
Agora, um computador entende apenas valores numéricos, qualquer que seja o sistema numérico usado. Portanto, todos os caracteres devem ter um equivalente numérico chamado código alfanumérico. O código alfanumérico mais amplamente utilizado é o American Standard Code for Information Interchange (ASCII). ASCII é um código de 7 bits que possui 128 (27) códigos possíveis.
ISCII
ISCII significa Indian Script Code for Information Interchange. IISCII foi desenvolvido para oferecer suporte a idiomas indianos no computador. Os idiomas suportados pelo IISCI incluem Devanagari, Tamil, Bangla, Gujarati, Gurmukhi, Tamil, Telugu, etc. O IISCI é usado principalmente por departamentos governamentais e, antes que pudesse pegar, um novo padrão de codificação universal chamadoUnicode foi introduzido.
Unicode
Unicode é um sistema de codificação internacional projetado para ser usado com scripts de diferentes idiomas. Cada caractere ou símbolo é atribuído a um valor numérico exclusivo, em grande parte dentro da estrutura do ASCII. Anteriormente, cada script tinha seu próprio sistema de codificação, que podia entrar em conflito entre si.
Em contraste, isso é o que o Unicode oficialmente pretende fazer - o Unicode fornece um número único para cada caractere, não importa a plataforma, não importa o programa, não importa o idioma .
Como você sabe, os sistemas numéricos decimais, binários, octal e hexadecimal são sistemas numéricos de valor posicional. Para converter binário, octal e hexadecimal em número decimal, precisamos apenas adicionar o produto de cada dígito com seu valor posicional. Aqui, aprenderemos outras conversões entre esses sistemas numéricos.
Decimal para Binário
Os números decimais podem ser convertidos em binários pela divisão repetida do número por 2, enquanto o restante é registrado. Vamos dar um exemplo para ver como isso acontece.
Os restantes devem ser lidos de baixo para cima para obter o equivalente binário.
43 10 = 101011 2
Decimal para Octal
Os números decimais podem ser convertidos em octais pela divisão repetida do número por 8 enquanto o restante é registrado. Vamos dar um exemplo para ver como isso acontece.
Lendo o restante de baixo para cima,
473 10 = 731 8
Decimal para Hexadecimal
Os números decimais podem ser convertidos em octais por divisão repetida do número por 16, enquanto o restante é registrado. Vamos dar um exemplo para ver como isso acontece.
Lendo os restos de baixo para cima, obtemos,
423 10 = 1A7 16
Binário para Octal e Vice Versa
Para converter um número binário em número octal, estas etapas são seguidas -
Começando pelo bit menos significativo, faça grupos de três bits.
Se houver um ou dois bits a menos na formação dos grupos, os 0s podem ser adicionados após o bit mais significativo
Converta cada grupo em seu número octal equivalente
Vamos dar um exemplo para entender isso.
1011001010 12 = 2625 8
Para converter um número octal em binário, cada dígito octal é convertido em seu equivalente binário de 3 bits de acordo com esta tabela.
Dígito Octal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Equivalente binário | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
54673 8 = 101100110111011 2
Binário para Hexadecimal
Para converter um número binário em hexadecimal, estas etapas são seguidas -
Começando pelo bit menos significativo, faça grupos de quatro bits.
Se houver um ou dois bits a menos na formação dos grupos, os 0s podem ser adicionados após o bit mais significativo.
Converta cada grupo em seu número octal equivalente.
Vamos dar um exemplo para entender isso.
10110110101 2 = DB5 16
Para converter um número octal em binário, cada dígito octal é convertido em seu equivalente binário de 3 bits.
Microprocessoré o cérebro do computador, que faz todo o trabalho. É um processador de computador que incorpora todas as funções de CPU (Unidade Central de Processamento) em um único IC (Circuito Integrado) ou no máximo alguns ICs. Os microprocessadores foram introduzidos pela primeira vez no início dos anos 1970. 4004 foi o primeiro microprocessador de uso geral usado pela Intel na construção de computadores pessoais. A chegada de microprocessadores de uso geral de baixo custo foi fundamental para o desenvolvimento da sociedade moderna.
Estudaremos as características e componentes de um microprocessador em detalhes.
Características dos microprocessadores
Microprocessadores são dispositivos polivalentes que podem ser projetados para funções genéricas ou especializadas. Os microprocessadores de laptops e smartphones são de uso geral, enquanto aqueles projetados para processamento gráfico ou visão de máquina são especializados. Existem algumas características que são comuns a todos os microprocessadores.
Estas são as características definidoras mais importantes de um microprocessador -
- Velocidade do relógio
- Conjunto de instruções
- Tamanho da palavra
Velocidade do relógio
Cada microprocessador tem um internal clockque regula a velocidade com que executa as instruções e também sincroniza com outros componentes. A velocidade na qual o microprocessador executa as instruções é chamadaclock speed. As velocidades do clock são medidas em MHz ou GHz, onde 1 MHz significa 1 milhão de ciclos por segundo, enquanto 1 GHz é igual a 1 bilhão de ciclos por segundo. Aqui, ciclo se refere a um único ciclo de sinal elétrico.
Atualmente os microprocessadores têm velocidade de clock na faixa de 3 GHz, que é o máximo que a tecnologia atual pode atingir. Velocidades superiores a essa geram calor suficiente para danificar o próprio chip. Para superar isso, os fabricantes estão usando vários processadores trabalhando em paralelo em um chip.
Tamanho da Palavra
O número de bits que podem ser processados por um processador em uma única instrução é chamado de word size. O tamanho da palavra determina a quantidade de RAM que pode ser acessada de uma vez e o número total de pinos no microprocessador. O número total de pinos de entrada e saída, por sua vez, determina a arquitetura do microprocessador.
O primeiro microprocessador comercial Intel 4004 era um processador de 4 bits. Ele tinha 4 pinos de entrada e 4 pinos de saída. O número de pinos de saída é sempre igual ao número de pinos de entrada. Atualmente, a maioria dos microprocessadores usa arquitetura de 32 ou 64 bits.
Conjunto de instruções
Um comando dado a uma máquina digital para realizar uma operação em um dado é chamado de instruction. O conjunto básico de instruções de nível de máquina que um microprocessador é projetado para executar é chamado deinstruction set. Estas instruções realizam esses tipos de operações -
- Transferência de dados
- Operaçoes aritimeticas
- Operações lógicas
- Controle de fluxo
- Entrada / saída e controle da máquina
Componentes do microprocessador
Em comparação com os primeiros microprocessadores, os processadores de hoje são muito pequenos, mas ainda têm essas peças básicas desde o primeiro modelo -
- CPU
- Bus
- Memory
CPU
A CPU é fabricada como um circuito integrado de grande escala (VLSI) e tem essas peças -
Instruction register - Contém a instrução a ser executada.
Decoder - Decodifica (converte para linguagem de nível de máquina) a instrução e envia para a ALU (Unidade Lógica Aritmética).
ALU - Possui circuitos necessários para realizar operações aritméticas, lógicas, de memória, registro e sequenciamento de programas.
Register- Contém resultados intermediários obtidos durante o processamento do programa. Os registros são usados para armazenar tais resultados ao invés da RAM, porque acessar os registros é quase 10 vezes mais rápido do que acessar a RAM.
Ônibus
As linhas de conexão usadas para conectar as partes internas do chip do microprocessador são chamadas de barramento. Existem três tipos de barramentos em um microprocessador -
Data Bus- As linhas que transportam dados de e para a memória são chamadas de barramento de dados. É um barramento bidirecional com largura igual ao comprimento da palavra do microprocessador.
Address Bus - É um responsável unidirecional por carregar o endereço de um local de memória ou porta de E / S da CPU para a memória ou porta de E / S.
Control Bus - Linhas que transportam sinais de controle como clock signals, interrupt signal ou ready signalsão chamados de barramento de controle. Eles são bidirecionais. O sinal que denota que um dispositivo está pronto para processamento é chamadoready signal. O sinal que indica a um dispositivo interromper seu processo é chamado deinterrupt signal.
Memória
O microprocessador tem dois tipos de memória
RAM- A memória de acesso aleatório é uma memória volátil que é apagada quando a alimentação é desligada. Todos os dados e instruções são armazenados na RAM.
ROM- A memória somente leitura é uma memória não volátil cujos dados permanecem intactos mesmo depois que a alimentação é desligada. O microprocessador pode ler a qualquer momento que quiser, mas não pode escrever nele. Ele é pré-programado com a maioria dos dados essenciais, como a sequência de inicialização, pelo fabricante.
O primeiro microprocessador introduzido em 1971 era um microprocessador de 4 bits com 4m5KB de memória e tinha um conjunto de 45 instruções. Nas últimas 5 décadas, a velocidade do microprocessador dobrou a cada dois anos, conforme previsto por Gordon Moore, cofundador da Intel. Os microprocessadores atuais podem acessar 64 GB de memória. Dependendo da largura dos dados que os microprocessadores podem processar, eles são dessas categorias -
- 8-bit
- 16-bit
- 32-bit
- 64-bit
O tamanho do conjunto de instruções é outra consideração importante ao categorizar os microprocessadores. Inicialmente, os microprocessadores tinham conjuntos de instruções muito pequenos porque o hardware complexo era caro e difícil de construir.
Conforme a tecnologia se desenvolveu para superar esses problemas, instruções cada vez mais complexas foram adicionadas para aumentar a funcionalidade do microprocessador. No entanto, logo se percebeu que ter grandes conjuntos de instruções era contraproducente, pois muitas instruções raramente usadas ficavam ociosas no precioso espaço da memória. Assim, a velha escola de pensamento que apoiava conjuntos de instruções menores ganhou popularidade.
Vamos aprender mais sobre os dois tipos de microprocessadores com base em seu conjunto de instruções.
RISC
RISC significa Reduced Instruction Set Computers. Ele tem um pequeno conjunto de instruções altamente otimizadas. As instruções complexas também são implementadas usando instruções mais simples, reduzindo o tamanho do conjunto de instruções. A filosofia de design do RISC incorpora esses pontos importantes -
- O número de instruções deve ser mínimo.
- As instruções devem ter o mesmo comprimento.
- Devem ser usados modos de endereçamento simples
- Reduza as referências de memória para recuperar operandos adicionando registradores
Algumas das técnicas usadas pela arquitetura RISC incluem -
Pipelining- Uma sequência de instruções é buscada mesmo que isso signifique sobreposição de instruções na busca e execução.
Single cycle execution - A maioria das instruções RISC leva um ciclo de CPU para ser executada.
Exemplos de processadores RISC são Intel P6, Pentium4, AMD K6 e K7, etc.
CISC
CISC significa Complex Instruction Set Computers. Ele suporta centenas de instruções. Os computadores com suporte para CISC podem realizar uma ampla variedade de tarefas, tornando-os ideais para computadores pessoais. Estas são algumas características da arquitetura CISC -
- Conjunto maior de instruções
- As instruções são de comprimento variável
- Modos de endereçamento complexos
- As instruções levam mais de um ciclo de clock
- Funciona bem com compiladores mais simples
Exemplos de processadores CISC são Intel 386 e 486, Pentium, Pentium II e III, Motorola 68000, etc.
ÉPICO
EPIC significa Explicitly Parallel Instruction Computing. É uma arquitetura de computador que é um cruzamento entre RISC e CISC, tentando fornecer o melhor de ambos. Seus recursos importantes incluem -
- Instruções paralelas em vez de largura fixa
- Mecanismo para comunicação do plano de execução do compilador ao hardware
- Os programas devem ter semântica sequencial
Alguns processadores EPIC são Intel IA-64, Itanium, etc.
A memória é necessária em computadores para armazenar dados e instruções. A memória é fisicamente organizada como um grande número de células que são capazes de armazenar um bit cada. Logicamente, eles são organizados como grupos de bits chamadoswordsque são atribuídos a um endereço. Dados e instruções são acessados por meio destesmemory address. A velocidade com que esses endereços de memória podem ser acessados determina o custo da memória. Quanto mais rápida a velocidade da memória, maior o preço.
Pode-se dizer que a memória do computador está organizada de forma hierárquica, em que a memória com as velocidades de acesso mais rápidas e os custos mais altos está no topo, enquanto aquelas com velocidades mais baixas e, portanto, os custos mais baixos ficam na parte inferior. Com base neste critério, a memória é de dois tipos -primary e secondary. Aqui, veremos a memória primária em detalhes.
As principais características da memória primária, que a distinguem da memória secundária são -
- É acessado diretamente pelo processador
- É a memória mais rápida disponível
- Cada palavra é armazenada, bem como
- É volátil, ou seja, seu conteúdo é perdido quando a energia é desligada
Como a memória primária é cara, tecnologias são desenvolvidas para otimizar seu uso. Esses são vários tipos de memória primária disponíveis.
RAM
RAM significa Random Access Memory. O processador acessa todos os endereços de memória diretamente, independentemente do comprimento da palavra, tornando o armazenamento e a recuperação rápidos. RAM é a memória mais rápida disponível e, portanto, a mais cara. Esses dois fatores implicam que a RAM está disponível em quantidades muito pequenas de até 1 GB. RAM é volátil, mas posso ser de qualquer um destes dois tipos
DRAM (RAM dinâmica)
Cada célula de memória em uma DRAM é composta de um transistor e um capacitor, que armazenam um bit de dados. No entanto, essa célula começa a perder sua carga e, portanto, os dados são armazenados em menos de um milésimo de segundo. Portanto, ele precisa ser atualizado mil vezes por segundo, o que consome tempo do processador. No entanto, devido ao pequeno tamanho de cada célula, uma DRAM pode ter um grande número de células. A memória primária da maioria dos computadores pessoais é feita de DRAM.
SRAM (SRAM)
Cada célula na SRAM é feita de um flip-flop que armazena um bit. Ele retém a sua parte até que a fonte de alimentação seja ligada e não precise ser atualizado como a DRAM. Ele também tem ciclos de leitura e gravação mais curtos em comparação com DRAM. SRAM é usado em aplicações especializadas.
ROM
ROM significa Read Only Memory. Como o nome sugere, a ROM só pode ser lida pelo processador. Novos dados não podem ser gravados na ROM. Os dados a serem armazenados na ROM são gravados durante a própria fase de fabricação. Eles contêm dados que não precisam ser alterados, como a sequência de inicialização de um computador ou tabelas algorítmicas para aplicações matemáticas. A ROM é mais lenta e, portanto, mais barata que a RAM. Ele retém seus dados mesmo quando a energia é desligada, ou seja, não é volátil. A ROM não pode ser alterada da mesma forma que a RAM, mas existem tecnologias disponíveis para programar esses tipos de ROMs -
PROM (ROM programável)
O PROM pode ser programado usando um dispositivo de hardware especial denominado programador PROM ou gravador PROM.
EPROM (ROM programável apagável)
EPROM pode ser apagado e então programado usando sinais elétricos especiais ou raios UV. EPROMs que podem ser apagados usando raios UV são chamados de UVEPROM e aqueles que podem ser apagados usando sinais elétricos são chamados de EEPROM. No entanto, lidar com sinais elétricos é mais fácil e seguro do que os raios UV.
Memória cache
Um pequeno pedaço de memória volátil de alta velocidade disponível para o processador para processamento rápido é chamado cache memory. O cache pode ser uma parte reservada da memória principal, outro chip na CPU ou um dispositivo independente de armazenamento de alta velocidade. A memória cache é composta por SRAMs de alta velocidade. O processo de manter alguns dados e instruções na memória cache para acesso mais rápido é chamadocaching. O armazenamento em cache é feito quando um conjunto de dados ou instruções é acessado repetidamente.
Sempre que o processador precisa de qualquer dado ou instrução, ele verifica o cache primeiro. Se não estiver disponível, a memória principal e, finalmente, a memória secundária são acessadas. Como o cache tem uma velocidade muito alta, o tempo gasto para acessá-lo todas as vezes é insignificante em comparação ao tempo economizado se os dados realmente estiverem no cache. Encontrar dados ou instruções em cache é chamadocache hit.
Você sabe que a memória do processador, também conhecida como memória primária, é cara e também limitada. A memória primária mais rápida também é volátil. Se precisamos armazenar grande quantidade de dados ou programas permanentemente, precisamos de uma memória mais barata e permanente. Essa memória é chamadasecondary memory. Aqui discutiremos os dispositivos de memória secundária que podem ser usados para armazenar uma grande quantidade de arquivos de dados, áudio, vídeo e multimídia.
Características da memória secundária
Estas são algumas características da memória secundária, que a distinguem da memória primária -
- É não volátil, ou seja, retém dados quando a energia é desligada
- É uma grande capacidade da ordem de terabytes
- É mais barato em comparação com a memória primária
Dependendo se o dispositivo de memória secundária faz parte da CPU ou não, existem dois tipos de memória secundária - fixa e removível.
Vejamos alguns dos dispositivos de memória secundária disponíveis.
Drive de disco rígido
A unidade de disco rígido é composta por uma série de discos circulares chamados platters dispostos um sobre o outro com quase ½ polegadas de distância em torno de um spindle. Os discos são feitos de material não magnético como liga de alumínio e revestidos com 10-20 nm de material magnético.
O diâmetro padrão desses discos é de 14 polegadas e eles giram com velocidades que variam de 4200 rpm (rotações por minuto) para computadores pessoais a 15.000 rpm para servidores. Os dados são armazenados magnetizando ou desmagnetizando o revestimento magnético. Um braço de leitor magnético é usado para ler e gravar dados nos discos. Um HDD moderno típico tem capacidade em terabytes (TB).
Unidade de CD
CD significa Compact Disk. Os CDs são discos circulares que usam raios ópticos, geralmente lasers, para ler e gravar dados. Eles são muito baratos, pois você pode obter 700 MB de espaço de armazenamento por menos de um dólar. Os CDs são inseridos em unidades de CD embutidas no gabinete da CPU. Eles são portáteis, pois você pode ejetar a unidade, remover o CD e carregá-lo com você. Existem três tipos de CDs -
CD-ROM (Compact Disk – Read Only Memory)- Os dados nestes CDs são gravados pelo fabricante. Software proprietário, áudio ou vídeo são lançados em CD-ROMs.
CD-R (Compact Disk – Recordable)- Os dados podem ser gravados pelo usuário uma vez no CD-R. Ele não pode ser excluído ou modificado posteriormente.
CD-RW (Compact Disk – Rewritable) - Os dados podem ser gravados e excluídos nesses discos ópticos repetidamente.
Unidade de DVD
DVD significa Digital Video Display. Os DVDs são dispositivos ópticos que podem armazenar 15 vezes os dados dos CDs. Eles geralmente são usados para armazenar arquivos multimídia ricos que precisam de alta capacidade de armazenamento. Os DVDs também vêm em três variedades - somente leitura, gravável e regravável.
Pen drive
Pen drive é um dispositivo de memória portátil que usa memória de estado sólido em vez de campos magnéticos ou lasers para gravar dados. Ele usa uma tecnologia semelhante à RAM, exceto que não é volátil. Também é chamada de unidade USB, unidade principal ou memória flash.
Disco Blu Ray
Blu Ray Disk (BD) é uma mídia de armazenamento óptico usada para armazenar vídeo de alta definição (HD) e outros arquivos multimídia. O BD usa laser de comprimento de onda menor em comparação com o CD / DVD. Isso permite que o braço de gravação se concentre mais no disco e, portanto, inclua mais dados. Os BDs podem armazenar até 128 GB de dados.
Um ponto de conexão que atua como interface entre o computador e dispositivos externos como mouse, impressora, modem, etc. é chamado port. As portas são de dois tipos -
Internal port - Conecta a placa-mãe a dispositivos internos como unidade de disco rígido, unidade de CD, modem interno, etc.
External port - Conecta a placa-mãe a dispositivos externos como modem, mouse, impressora, pen drives, etc.
Vejamos algumas das portas mais comumente usadas.
Porta serial
As portas seriais transmitem dados sequencialmente, um bit por vez. Portanto, eles precisam de apenas um fio para transmitir 8 bits. No entanto, também os torna mais lentos. As portas seriais geralmente são conectores macho de 9 ou 25 pinos. Eles também são conhecidos como portas COM (comunicação) ou portas RS323C.
Porta Paralela
As portas paralelas podem enviar ou receber 8 bits ou 1 byte por vez. As portas paralelas vêm em forma de pinos fêmea de 25 pinos e são usadas para conectar impressora, scanner, unidade de disco rígido externa, etc.
Porta USB
USB significa Universal Serial Bus. É o padrão da indústria para conexão de dados digitais de curta distância. A porta USB é uma porta padronizada para conectar uma variedade de dispositivos como impressora, câmera, teclado, alto-falante, etc.
Porta PS-2
PS / 2 significa Personal System/2. É um padrão de porta fêmea de 6 pinos que se conecta ao cabo mini-DIN macho. PS / 2 foi introduzido pela IBM para conectar mouse e teclado a computadores pessoais. Esta porta agora está obsoleta, embora alguns sistemas compatíveis com IBM possam ter esta porta.
Porta de infravermelhos
Infrared porté uma porta que permite a troca de dados sem fio em um raio de 10m. Dois dispositivos com portas infravermelhas são colocados frente a frente para que os feixes de luz infravermelha possam ser usados para compartilhar dados.
Porta Bluetooth
Bluetoothé uma especificação de telecomunicações que facilita a conexão sem fio entre telefones, computadores e outros dispositivos digitais em uma conexão sem fio de curto alcance. A porta Bluetooth permite a sincronização entre dispositivos habilitados para Bluetooth. Existem dois tipos de portas Bluetooth -
Incoming - É usado para receber conexão de dispositivos Bluetooth.
Outgoing - É usado para solicitar conexão a outros dispositivos Bluetooth.
Porta FireWire
FireWire é o padrão de interface da Apple Computer para permitir comunicação em alta velocidade usando barramento serial. Também é chamado de IEEE 1394 e usado principalmente para dispositivos de áudio e vídeo, como filmadoras digitais.