# data[].attributes.body
Dispositivo de saída são dispositivos que exibem dados e informações processadas pelo computador, também chamados de unidades de saída (no inglês input/output - entrada/saída). Por outras palavras, permitem a comunicação no sentido do computador para o utilizador. Exemplos: projetor de vídeo, impressora e monitor.
Retirado:https://www.google.com/search?q=perif%C3%A9ricos+de+sa%C3%ADda&source=lmns&bih=600&biw=1366&hl=pt-PT&sa=X&ved=2ahUKEwjM8_TSopf9AhXVmicCHVQ8ADUQ_AUoAHoECAEQAA

# data[].attributes.body
A motherboard (also called mainboard, main circuit board,[1] mb, mboard, backplane board, base board, system board, logic board (only in Apple computers) or mobo) is the main printed circuit board (PCB) in general-purpose computers and other expandable systems. It holds and allows communication between many of the crucial electronic components of a system, such as the central processing unit (CPU) and memory, and provides connectors for other peripherals. Unlike a backplane, a motherboard usually contains significant sub-systems, such as the central processor, the chipset's input/output and memory controllers, interface connectors, and other components integrated for general use.

Retirado de: https://en.wikipedia.org/wiki/Motherboard

# data[].attributes.attachment_link.readable_text
A motherboard (also called mainboard, main circuit board, MB, mboard, backplane board, base board, system board, mobo; or in Apple computers logic board) is the main printed circuit board (PCB) in general-purpose computers and other expandable systems. It holds and allows communication between many of the crucial electronic components of a system, such as the central processing unit (CPU) and memory, and provides connectors for other peripherals. Unlike a backplane, a motherboard usually contains significant sub-systems, such as the central processor, the chipset's input/output and memory controllers, interface connectors, and other components integrated for general use.

Motherboard means specifically a PCB with expansion capabilities. As the name suggests, this board is often referred to as the "mother" of all components attached to it, which often include peripherals, interface cards, and daughterboards: sound cards, video cards, network cards, host bus adapters, TV tuner cards, IEEE 1394 cards, and a variety of other custom components.

Dell Precision T3600 System Motherboard, used in professional CAD Workstations. Manufactured in 2012

Similarly, the term mainboard describes a device with a single board and no additional expansions or capability, such as controlling boards in laser printers, television sets, washing machines, mobile phones, and other embedded systems with limited expansion abilities.

Motherboard for a personal desktop computer; showing the typical components and interfaces which are found on a motherboard. This model follows the Baby AT (form factor), used in many desktop PCs.

Mainboard of a NeXTcube computer (1990) with microprocessor Motorola 68040 operated at 25 MHz and a digital signal processor Motorola 56001 at 25 MHz, which was directly accessible via a connector on the back of the casing

Prior to the invention of the microprocessor, the CPU of a digital computer consisted of multiple circuit boards in a card-cage case with components connected by a backplane containing a set of interconnected sockets into which the circuit boards are plugged; In very old designs, copper wires were the discrete connections between card connector pins, but printed circuit boards soon became the standard practice. The central processing unit (CPU), memory, and peripherals were housed on individually printed circuit boards, which were plugged into the backplane.

In older microprocessor-based systems, the CPU and some support circuitry would fit on a single CPU board, with memory and peripherals on additional boards, all plugged into the backplane. The ubiquitous S-100 bus of the 1970s is an example of this type of backplane system.

During the late 1980s and early 1990s, it became economical to move an increasing number of peripheral functions onto the motherboard. In the late 1980s, personal computer motherboards began to include single ICs (also called Super I/O chips) capable of supporting a set of low-speed peripherals: PS/2 keyboard and mouse, floppy disk drive, serial ports, and parallel ports. By the late 1990s, many personal computer motherboards included consumer-grade embedded audio, video, storage, and networking functions without the need for any expansion cards at all; higher-end systems for 3D gaming and computer graphics typically retained only the graphics card as a separate component. Business PCs, workstations, and servers were more likely to need expansion cards, either for more robust functions, or for higher speeds; those systems often had fewer embedded components.

Laptop and notebook computers that were developed in the 1990s integrated the most common peripherals. This even included motherboards with no upgradeable components, a trend that would continue as smaller systems were introduced after the turn of the century (like the tablet computer and the netbook). Memory, processors, network controllers, power source, and storage would be integrated into some systems.

The Octek Jaguar V motherboard from 1993.[1] This board has few onboard peripherals, as evidenced by the 6 slots provided for ISA cards and the lack of other built-in external interface connectors. Note the large AT keyboard connector at the back right is its only peripheral interface.

The motherboard of a Samsung Galaxy SII; almost all functions of the device are integrated into a very small board.

A motherboard provides the electrical connections by which the other components of the system communicate. Unlike a backplane, it also contains the central processing unit and hosts other subsystems and devices.

A typical desktop computer has its microprocessor, main memory, and other essential components connected to the motherboard. Other components such as external storage, controllers for video display and sound, and peripheral devices may be attached to the motherboard as plug-in cards or via cables; in modern microcomputers, it is increasingly common to integrate some of these peripherals into the motherboard itself.

An important component of a motherboard is the microprocessor's supporting chipset, which provides the supporting interfaces between the CPU and the various buses and external components. This chipset determines, to an extent, the features and capabilities of the motherboard.

Modern motherboards include:

CPU sockets (or CPU slots) in which one or more microprocessors may be installed. In the case of CPUs in ball grid array packages, such as the VIA Nano and the Goldmont Plus, the CPU is directly soldered to the motherboard.

Memory slots into which the system's main memory is to be installed, typically in the form of DIMM modules containing DRAM chips. Can be DDR3, DDR4, DDR5, or onboard LPDDRx.

The chipset which forms an interface between the CPU, main memory, and peripheral buses

Non-volatile memory chips (usually flash memory in modern motherboards) containing the system's firmware or BIOS

The clock generator which produces the system clock signal to synchronize the various components

Slots for expansion cards (the interface to the system via the buses supported by the chipset)

Power connectors, which receive electrical power from the computer power supply and distribute it to the CPU, chipset, main memory, and expansion cards. As of 2007, some graphics cards (e.g. GeForce 8 and Radeon R600) require more power than the motherboard can provide, and thus dedicated connectors have been introduced to attach them directly to the power supply.

Connectors for hard disk drives, optical disc drives, or solid-state drives, typically SATA and NVMe now[when? ]

Additionally, nearly all motherboards include logic and connectors to support commonly used input devices, such as USB for mouse devices and keyboards. Early personal computers such as the Apple II or IBM PC included only this minimal peripheral support on the motherboard. Occasionally video interface hardware was also integrated into the motherboard; for example, on the Apple II and rarely on IBM-compatible computers such as the IBM PCjr. Additional peripherals such as disk controllers and serial ports were provided as expansion cards.

Motherboards are produced in a variety of sizes and shapes called form factors, some of which are specific to individual computer manufacturers. However, the motherboards used in IBM-compatible systems are designed to fit various case sizes. As of 2005, most desktop computer motherboards use the ATX standard form factor - even those found in Macintosh and Sun computers, which have not been built from commodity components. A case's motherboard and power supply unit (PSU) form factor must all match, though some smaller form factor motherboards of the same family will fit larger cases. For example, an ATX case will usually accommodate a microATX motherboard. Laptop computers generally use highly integrated, miniaturized, and customized motherboards. This is one of the reasons that laptop computers are difficult to upgrade and expensive to repair. Often the failure of one laptop component requires the replacement of the entire motherboard, which is usually more expensive than a desktop motherboard.

Block diagram of an early 2000s motherboard, which supports many on-board peripheral functions as well as several expansion slots

With the steadily declining costs and size of integrated circuits, it is now possible to include support for many peripherals on the motherboard. By combining many functions on one PCB, the physical size and total cost of the system may be reduced; highly integrated motherboards are thus especially popular in small form factor and budget computers.

A typical motherboard will have a different number of connections depending on its standard and form factor.

Some motherboards have two or more PCI-E x16 slots, to allow more than 2 monitors without special hardware, or use a special graphics technology called SLI (for Nvidia) and Crossfire (for AMD). These allow 2 to 4 graphics cards to be linked together, to allow better performance in intensive graphical computing tasks, such as gaming, video editing, etc.

A motherboard of a Vaio E series laptop (right)

A microATX motherboard with some faulty capacitors

Motherboards are generally air cooled with heat sinks often mounted on larger chips in modern motherboards. Insufficient or improper cooling can cause damage to the internal components of the computer, or cause it to crash. Passive cooling, or a single fan mounted on the power supply, was sufficient for many desktop computer CPU's until the late 1990s; since then, most have required CPU fans mounted on heat sinks, due to rising clock speeds and power consumption. Most motherboards have connectors for additional computer fans and integrated temperature sensors to detect motherboard and CPU temperatures and controllable fan connectors which the BIOS or operating system can use to regulate fan speed. Alternatively computers can use a water cooling system instead of many fans.

A 2003 study found that some spurious computer crashes and general reliability issues, ranging from screen image distortions to I/O read/write errors, can be attributed not to software or peripheral hardware but to aging capacitors on PC motherboards. Ultimately this was shown to be the result of a faulty electrolyte formulation, an issue termed capacitor plague.

Modern motherboards use electrolytic capacitors to filter the DC power distributed around the board. These capacitors age at a temperature-dependent rate, as their water based electrolytes slowly evaporate. This can lead to loss of capacitance and subsequent motherboard malfunctions due to voltage instabilities. While most capacitors are rated for 2000 hours of operation at 105 °C (221 °F), their expected design life roughly doubles for every 10 °C (18 °F) below this. At 65 °C (149 °F) a lifetime of 3 to 4 years can be expected. However, many manufacturers deliver substandard capacitors, which significantly reduce life expectancy. Inadequate case cooling and elevated temperatures around the CPU socket exacerbate this problem. With top blowers, the motherboard components can be kept under 95 °C (203 °F), effectively doubling the motherboard lifetime.

Mid-range and high-end motherboards, on the other hand, use solid capacitors exclusively. For every 10 °C less, their average lifespan is multiplied approximately by three, resulting in a 6-times higher lifetime expectancy at 65 °C (149 °F). These capacitors may be rated for 5000, 10000 or 12000 hours of operation at 105 °C (221 °F), extending the projected lifetime in comparison with standard solid capacitors.

In desktop PCs and notebook computers, the motherboard cooling and monitoring solutions are usually based on a super I/O chip or an embedded controller.

Motherboards contain a ROM (and later EPROM, EEPROM, NOR flash) that stores to initialize hardware devices and boot an operating system from a peripheral device.

Microcomputers such as the Apple II and IBM PC used ROM chips mounted in sockets on the motherboard. At power-up, the central processor unit would load its program counter with the address of the Boot ROM and start executing instructions from the Boot ROM. These instructions initialized and tested the system hardware, displayed system information on the screen, performed RAM checks, and then attempts to boot an operating system from a peripheral device. If no peripheral device containing an operating system was available, then the computer would perform tasks from other ROM stores or display an error message, depending on the model and design of the computer. For example, both the Apple II and the original IBM PC had Cassette BASIC (ROM BASIC) and would start that if no operating system could be loaded from the floppy disk or hard disk.

The boot firmware in modern IBM PC compatible motherboard designs contains either a BIOS, as did the boot ROM on the original IBM PC, or UEFI. UEFI is a successor to BIOS that became popular after Microsoft began requiring it for a system to be certified to run Windows 8.

When the computer is powered on, the boot firmware tests and configures memory, circuitry, and peripherals. This Power-On Self Test (POST) may include testing some of the following things:

# data[].attributes.attachment_link.description
A motherboard (also called mainboard, main circuit board, MB, mboard, backplane board, base board, system board, mobo; or in Apple computers logic board) is the main printed circuit board (PCB) in general-purpose computers and other expandable systems. It holds and allows communication between many of the crucial electronic components of a system, such as the central processing unit (CPU) and memory, and provides connectors for other peripherals.

# data[].attributes.body
Dispositivo de entrada são os dispositivos que fornecem dados para operações num programa de computador ou que fornecem informação ao computador.

RETIRADO:https://almeida3.webnode.pt/trabalhos-de-tic/dispositivos-de-entrada-e-saida/

# data[].attributes.attachment_link.readable_text
O que são dispositivos de entrada:

Dispositivo de entrada são os dispositivos que fornecem dados para operações num programa de computador ou que fornecem informação ao computador.

Permite a comunicação do usuário com o computador.

Exemplos: Teclado, mouse, caneta ótica, scanner, ...

O que são dispositivos de saida:

são os dispositivos que exibem dados e informações processadas pelo computador.

Permitem a comunicação no sentido do computador para o utilizador.

Exemplos: projetor de vídeo, impressora e monitor...

O que são dispositivos mistos:

Dispositivo mistos são os dispositivos que tanto têm as funções dos dispositivos de entrada como as dos de saída.

Permitem a comunicação no sentido do computador para o utilizador e no sentido do utilizador para o computador.

Exemplos: ecrã tactil, multifunçoes, pen drive...

# data[].attributes.attachment_link.title
Dispositivos de Entrada, Saída e Mistos :: Almeida

# data[].attributes.attachment_link.description
O que são dispositivos de entrada: Dispositivo de entrada são os dispositivos que fornecem dados para operações num programa de computador ou que fornecem informação ao computador. Permite a comunicação do usuário com o computador. Exemplos: Teclado, mouse, caneta ótica, scanner, ...

# data[].attributes.body
Dispositivo de entrada são dispositivos que fornecem informação para as operações em um programa de computador, também chamados de unidades ou periféricos de entrada (no inglês input/output - entrada/saída).

Retirado de:https://pt.wikipedia.org/wiki/Dispositivo_de_entrada

# data[].attributes.attachment_link.authors[].name
Contribuidores dos projetos da Wikimedia

# data[].attributes.attachment_link.title
Dispositivo de entrada – Wikipédia, a enciclopédia livre

# data[].attributes.body
Memória secundária refere-se a dispositivos de armazenamento, Tais como Discos rígidos e unidades de estado sólido. Também pode se referir a mídia de armazenamento removível, como USB Pen drives, CDs e DVDs.

Ao contrário da memória primária, a memória secundária não é acessada diretamente pelo CPU. Em vez de, dados acessado da memória secundária é carregado primeiro na RAM e então é enviado para o processador. A RAM desempenha um papel intermediário importante, pois fornece velocidades de acesso a dados muito mais rápidas que a memória secundária. Ao carregar o software programas e arquivos na memória primária, os computadores podem processar dados muito mais rapidamente.
retirado:https://techlib.wiki/definition/secondary_memory.html

# data[].attributes.body
Memória primária é a memória do computador que um processador ou computador acessa primeiro ou diretamente. Ele permite que um processador acesse aplicativos e serviços de execução em execução armazenados temporariamente em um local de memória específico.

Retirado de: https://pt.theastrologypage.com/primary-memory

# data[].attributes.attachment_link.title
O que é memória primária? - o que é techopedia - Hardware 2023

# data[].attributes.attachment_link.description
Memória primária é a memória do computador que um processador ou computador acessa primeiro ou diretamente. Ele permite que um processador acesse aplicativos e serviços de execução em execução armazenados temporariamente em um local de memória específico.

# data[].attributes.body
As aplicações podem ser empacotadas com o computador e seu software de sistema ou publicadas separadamente, e podem ser codificadas como projetos proprietários, de código aberto ou universitários.
Os aplicativos criados para plataformas móveis são chamados de aplicativos móveis.
Retirado:https://pt.wikipedia.org/wiki/Software_aplicativo

# data[].attributes.body
O bit (simplificação para dígito binário, em inglês, binary digit) é a menor unidade de informação que pode ser armazenada ou transmitida, usada na Computação e na Teoria da Informação. Um bit pode assumir somente 2 valores: 0 ou 1, corte ou passagem de energia, respectivamente.

Retirado de: https://pt.wikipedia.org/wiki/Bit

# data[].attributes.body
Nos primórdios da computação, a maioria dos softwares aplicativos era personalizada por usuários de computador para atender a seus requisitos e hardware específicos. Em contraste, o software do sistema era geralmente fornecido pelo fabricante do hardware do computador e deveria ser usado pela maioria, ou todos os usuários desse sistema.

A linha em que a distinção deve ser tirada nem sempre é clara.
Retirado: https://pt.wikipedia.org/wiki/Software_de_sistema

# data[].attributes.body
Sistema operativo ou operacional é um programa ou um conjunto de programas cuja função é gerenciar os recursos do sistema (definir qual programa recebe atenção do processador, gerenciar memória, criar um sistema de arquivos, etc.), fornecendo uma interface entre o computador e o usuário  ou utilizador .

Retirado de: https://pt.wikipedia.org/wiki/Sistema_operativo

# data[].attributes.attachment_link.readable_text
é um programa ou um conjunto de programas cuja função é gerenciar os recursos do sistema (definir qual programa recebe atenção do processador, gerenciar memória, criar um sistema de arquivos, etc.), fornecendo uma interface entre o computador e o . Embora possa ser executado imediatamente após a máquina ser ligada, a maioria dos computadores pessoais de hoje o executa através de outro programa armazenado em uma memória não-volátil ROM chamado BIOS num processo chamado "bootstrapping", conceito em inglês usado para designar processos autossustentáveis, ou seja, capazes de prosseguirem sem ajuda externa. Após executar testes e iniciar os componentes da máquina (monitores, discos, etc), o BIOS procura pelo sistema operacional em alguma unidade de armazenamento, geralmente o Disco Rígido, e a partir daí, o sistema operacional "toma" o controle da máquina. O sistema operacional reveza sua execução com a de outros programas, como se estivesse vigiando, controlando e orquestrando todo o processo computacional.

Segundo Tanenbaum, pela perspectiva do usuário ou programador, existem dois modos distintos de conceituar um sistema operacional:

numa visão de cima para baixo (top-down): é uma abstração do , fazendo o papel de intermediário entre os programas () e os componentes físicos do computador (hardware); ou

numa visão de baixo para cima (bottom-up): é um gerenciador de recursos, i.e., que controla as aplicações (processos) a executar, como, quando e com quais recursos (memória, disco, periféricos).

Um sistema operacional é projetado para ocultar as particularidades de hardware (ditas "de baixo nível") e, com sua atuação, criar uma máquina abstrata que fornece às aplicações serviços compreensíveis ao usuário (ditas "de alto nível").

Sistema operacional em linha de comando.

Na primeira geração (aproximadamente 1945-1955), os computadores eram tão grandes que ocupavam salas imensas, ou mesmo andares inteiros. Foram basicamente construídos com válvulas e painéis, e os sistemas operacionais "não existiam". Os programadores, que também eram os operadores, controlavam o computador por meio de chaves, fios e luzes de aviso.

Nomes como Howard Aiken, John von Neumann, John Adam Presper Eckert Jr, William Mauchley e Konrad Zuse formaram, com suas contribuições, a base humana para o sucesso na construção dos computadores primitivos.

Na geração seguinte (aproximadamente 1955-1965), foram criados os sistemas em lote ( batch systems), que permitiram um melhor uso dos recursos computacionais. A base do sistema operacional era um programa monitor, usado para enfileirar tarefas ( jobs). O usuário foi afastado do computador; cada programa era escrito em cartões perfurados, que por sua vez eram carregados, juntamente com o respectivo compilador (normalmente Fortran ou Cobol), por um operador, usando uma linguagem de controle chamada JCL ( job control language).

No início da computação os primeiros sistemas operacionais eram únicos, pois cada vendido necessitava de um sistema operacional específico. Esse problema era resultado de arquiteturas diferentes e da linguagem que cada máquina utilizava. Após essa fase, iniciou-se a pesquisa de sistemas operacionais que automatizassem a troca de tarefas ( jobs), pois os sistemas eram monousuários e tinham cartões perfurados como entrada (eliminando, assim, o trabalho de pessoas que eram contratadas apenas para trocar os cartões perfurados).

Diz-se que Alan Turing era um mestre nos primeiros Manchester Mark I, e que já estava derivando a concepção primitiva de um sistema operacional a partir dos princípios da máquina de Turing universal.

Um dos primeiros sistemas operacionais de propósito geral foi o CTSS, desenvolvido no MIT. Após o CTSS, o MIT, os laboratórios Bell da AT&T e a General Electric desenvolveram o Multics, cujo objetivo era suportar centenas de usuários. Apesar do fracasso comercial, o Multics serviu como base para o estudo e desenvolvimento de sistemas operacionais. Um dos desenvolvedores do Multics, que trabalhava para a Bell, Ken Thompson, começou a reescrever o Multics num conceito menos ambicioso, criando o Unics (em 1969), que mais tarde passou a chamar-se Unix.

Os sistemas operacionais eram geralmente programados em assembly, até mesmo o Unix em seu início. Então, Dennis Ritchie (também da Bell) criou a linguagem C a partir da linguagem B, que havia sido criada por Thompson. Finalmente, Thompson e Ritchie reescreveram o Unix em C. O Unix criou um ecossistema de versões, onde destacam-se: System V e derivados (HP-UX, AIX); família BSD ( FreeBSD, NetBSD, OpenBSD, etc.), Linux e até o Mac OS X (que deriva do Mach e FreeBSD). O BSD foi lançado em 1977, sendo ele um sistema operacional fortemente baseado no Unix, focado principalmente para a execução em máquinas específicas de alto desempenho, como o famoso computador VAX, o qual foi uma referência de hardware na época.

Durante a década de 70, o Unix foi distribuído gratuitamente (incluindo seu código fonte) para universidades e órgãos governamentais norte-americanos, o que conferiu muita popularidade a este sistema. Sua interface era totalmente em modo texto, sem interface gráfica. Quando começaram a aparecer os computadores pessoais, houve a necessidade de um sistema operacional de utilização mais fácil. Em 1980, Bill Gates e seu colega de faculdade, Paul Allen, fundadores da Microsoft, compram o sistema QDOS ("Quick and Dirty Operating System") de Tim Paterson por US$ 50 mil e batizaram-no de MS-DOS (Microsoft Disk Operating System). O DOS original, de desenvolvimento da IBM, foi o sistema operativo que a IBM apresentou aquando do lançamento do primeiro PC, vendeu muitas cópias, como o sistema operativo nos computadores pessoais desenvolvidos pela IBM. IBM convidou a Microsoft para uma parceria para o desenvolvimento da versão 2 do IBM OS/2. Após o fim da breve parceria, a IBM prosseguiu sozinha com o desenvolvimento do OS/2, a que deu o nome de OS/2 Warp, fazendo concorrência direta ao MS Windows 95.

No começo da década de 1990, o finlandês Linus Torvalds, na altura, estudante de computação, escreveu um comentário numa lista de discussão da Usenet dizendo que estava desenvolvendo um núcleo de sistema operacional e perguntou se alguém gostaria de o auxiliar na tarefa. Este foi o primeiro passo em direção ao desenvolvimento do sistema operativo Linux.

Existem vários sistemas operativos; entre eles, os mais utilizados no dia a dia, normalmente utilizados em computadores domésticos, são o Windows, Linux e macOS.

O OS/360 foi colocado na estrutura principal de todos os computadores IBM no início de 1964, incluindo os computadores que ajudaram a NASA a colocar o homem na lua

Um computador com o sistema operativo instalado poderá não dar acesso a todo o seu conteúdo dependendo do utilizador; isso, pois com um sistema operativo, podemos estabelecer permissões a vários utilizadores que trabalham com este.

Para isso existem dois tipos de contas que podem ser criadas num sistema operativo, as contas de Administrador e as contas limitadas.

A conta Administrador é uma conta que oferece todo o acesso à máquina, desde a gestão de pastas, ficheiros e software de trabalho ou entretenimento ao controle de todo o seu hardware instalado.

A conta Limitada é uma conta que não tem permissões para aceder a algumas pastas ou instalar software que seja instalado na raiz do sistema ou então que tenha ligação com algum hardware que altere o seu funcionamento normal ou personalizado pelo Administrador. Para que este tipo de conta possa ter acesso a outros conteúdos do disco ou de software, o administrador poderá personalizar a conta oferecendo permissões a algumas funções do sistema como também poderá retirar acessos a certas áreas do sistema.

O sistema operativo funciona com a iniciação de processos que este irá precisar para funcionar corretamente. Esses processos poderão ser ficheiros que necessitam de ser frequentemente atualizados, ou ficheiros que processam dados úteis para o sistema.

Poderemos ter acesso a vários processos do sistema operativo a partir do gestor de tarefas, onde se encontram todos os processos que estão em funcionamento desde o arranque do sistema operativo até a sua utilização atual. Pode-se também visualizar a utilização da memória por cada processo, no caso de o sistema operativo começar a mostrar erros ou falhas de acesso a programas tornando-se lento, pode-se verificar no gestor de tarefas qual dos processos estará bloqueado ou com elevado número de processamento que está a afetar o funcionamento normal da memória.

A estruturação em camadas é um modelo de sistema operacional que o divide em várias camadas sobrepostas. Cada camada proporciona um conjunto de funções que pode ser usado por outras camadas.

Uma das maiores vantagens desse modelo de camadas é isolar o sistema operacional, facilitando sua alteração e depuração, além de criar uma hierarquia de níveis de modos, protegendo as camadas mais internas.

O empilhamento de várias camadas de software faz com que cada pedido de uma aplicação demore mais tempo para chegar até o dispositivo periférico ou recurso a ser acessado, prejudicando o desempenho do sistema.

Um sistema operacional possui as seguintes funções:

1. gerenciamento de processos;

2. gerenciamento de memória;

3. gerenciamento de recursos;

4. entrada e saída de dados;

5. sistema de arquivos.

O sistema operacional multitarefa é preparado para dar ao usuário a ilusão que o número de processos em execução simultânea no computador é maior que o número de processadores instalados. Cada processo recebe uma fatia do tempo e a alternância entre vários processos é tão rápida que o usuário pensa que sua execução é simultânea.

São utilizados algoritmos de escalonamento para determinar qual processo será executado em determinado momento e por quanto tempo.

Os processos podem comunicar-se, isto é conhecido como IPC (Inter-Process Communication). Os mecanismos geralmente utilizados são:

O sistema operacional, normalmente, deve possibilitar o multiprocessamento ( SMP ou NUMA). Neste caso, processos diferentes e podem ser executados em diferentes processadores. Para essa tarefa, ele deve ser reentrante e interrompível, o que significa que pode ser interrompido no meio da execução de uma tarefa.

O sistema operacional tem acesso completo à memória do sistema e deve permitir que os processos dos usuários tenham acesso seguro à memória quando o requisitam.

O primeiro servidor para WWW rodou em um NeXTSTEP baseado no BSD.

Vários sistemas operacionais usam memória virtual, que possui 3 funções básicas:

1. Assegurar que cada processo tenha seu próprio espaço de endereçamento, começando em zero, para evitar ou resolver o problema de relocação (Tanenbaum, 1999);

2. Prover proteção da memória para impedir que um processo utilize um endereço de memória que não lhe pertença;

3. Possibilitar que uma aplicação utilize mais memória do que a fisicamente existente.

Dentro de gerenciamento de memória, pode não ser possível manter todos os processos em memória, muitas vezes por não existir memória suficiente para alocar aquele processo. Para solucionar esse problema existe um mecanismo chamado swapping, onde a gerência de memória reserva uma área do disco para o seu uso em determinadas situações, e um processo é completamente copiado da memória para o disco; este processo é retirado da fila do processador e mais tarde será novamente copiado para a memória; Então, o processo ficará ativo na fila novamente. O resultado desse revezamento no disco é que o sistema operacional consegue executar mais processos do que caberia em um mesmo instante na memória. Swapping impõe aos programas um grande custo em termos de tempo de execução, pois é necessário copiar todo o processo para o disco e mais tarde copiar novamente todo o processo para a memória. Em sistemas onde o usuário interage com o programa durante sua execução, o mecanismo de swapping é utilizado em último caso, quando não se é possível manter todos os processos na memória, visto que a queda no desempenho do sistema é imediatamente sentida pelo usuário.

Uma das tarefas com extrema importância atribuída ao sistema operacional é o gerenciamento de recursos, que tem a função de definir políticas para gerenciar o uso dos recursos de hardware pelos aplicativos, resolvendo disputas e conflitos. Vários programas de entrada de dados competem pela vez na CPU (Unidade Central de Processamento) e demandam memória, espaço em disco e largura. O sistema operacional tem a função de cuidar de cada aplicativo e para que os mesmos tenham recursos necessários para o melhor funcionamento e gerencia a capacidade limitada do sistema para que possa atender todas as necessidades de aplicativos e usuários.

Sistemas operacionais controlam e gerenciam a entrada e saída (E/S) de dispositivos por três razões. Primeiro, porque a maioria do hardware do dispositivo utiliza uma interface de baixo nível, a interface do software é complexa. Em segundo lugar, porque um dispositivo é um recurso compartilhado, um sistema operacional fornece acesso de acordo com as políticas que tornam a partilha justa e segura. Em terceiro lugar, um sistema operacional define uma interface de alto nível que esconde detalhes e permite que um programador possa usar um conjunto coerente e uniforme das operações ao interagir com os dispositivos.

O subsistema de E/S pode ser divididos em três peças conceituais:

1. Uma interface abstrata que consiste funções de E/S de alto nível que os processos possam usar para executar I / O;

2. Um conjunto de dispositivos físicos;

3. Software de driver de dispositivo que conecta os dois.

A memória principal do computador é volátil, e seu tamanho é limitado pelo custo do hardware. Assim, os usuários necessitam de algum método para armazenar e recuperar informações de modo permanente.

Um arquivo é um conjunto de bytes, normalmente armazenado em um dispositivo periférico não volátil (p.ex., disco), que pode ser lido e gravado por um ou mais processos.

Os sistemas operacionais fornecem abstração de hardware para que seus recursos possam ser usados de maneira correta e padronizada, mas para ser possível operar um computador, é necessário fornecer também uma interface para que o usuário possa desfrutar dos recursos do sistema. Atualmente (2009) as principais interfaces de uso são as seguintes:

A interface de terminal, também chamada de interface de linha de comando ou "CLI" (Command Line Interface) funciona exclusivamente com o teclado. Os comandos são digitados a partir de um prompt e são interpretados por um interpretador de comandos, conhecidos também por shell s, bastante comuns em sistemas padrão POSIX. Um exemplo de interpretador de comandos seria o .

Usada geralmente por usuários avançados e em atividades específicas, como gerenciamento remoto, utiliza poucos recursos de hardware em comparação a interface gráfica.

Aplicativo com interface textual, rodando no sistema operacional FreeDOS

Assim como a interface de terminal, a interface textual também é baseada em texto, porém também tem à disposição um ambiente de trabalho composto por menus, janelas e botões. Esse tipo de interface tinha um uso difundido em aplicações baseadas no MS-DOS, que, inclusive, nas versões mais recentes contava com um gerenciador de programas e arquivos baseados nesse tipo de interface (o DOS Shell).

Essa interface é muito rara, praticamente restrita a sistemas implementados na década de 1980 e início da década de 1990. Esse ambiente ainda prescinde do uso mouse, embora seja possível usá-lo através do uso da biblioteca no desenvolvimento dos softwares.

Nesse tipo de , também chamada GUI (Graphic User Interface) além de menus, janelas e botões também existem figuras, tanto vetoriais quanto fotografias. O usuário interage com esse tipo de interface usando o mouse, podendo também usar o teclado e teclas de atalho, ou então usando toques e gestos em touchscreens. A interface gráfica permite atuar com algumas aplicações que seriam impossíveis através da linha de comando puramente, como edição de imagem e vídeo.

Acrescentar facilidade de uso e agilidade é o objetivo da interface gráfica, tendo a desvantagem de consumir muito mais memória que interfaces de linha de comando. Ao contrário das interfaces textuais e de terminal, as interfaces gráficas dependem de um servidor gráfico para funcionar e se comunicar com o sistema, e no caso dos sistemas para desktops e laptops, inclui um gerenciador de janelas em muitos casos, para que seja possível usar mais de um aplicativo na mesma tela. Em sistemas padrão POSIX é comum existir mais de um ambiente gráfico para o mesmo sistema, podendo ser escolhido a critério do usuário.

Interfaces de voz, ou VUI (Voice User Interface), são aquelas em que o usuário interage com o sistema por meio de comandos sonoros. Sendo de desenvolvimento relativamente recente, tem sua aplicação em dispositivos adaptados para cegos e recentemente têm aparecido também para uso geral em smartphones, tablets e desktops.

Também chamados como sistema mono-tarefa, o sistema operacional mono-programado possui apenas um processador, realiza alocação de memória para somente um processo e um usuário por vez. Apresenta também uma CPU ociosa durante E/S e sua implementação é feita de forma simples.

O sistema em lote é também um sistema monoprocessado e utiliza a linguagem de Controle de Tarefas (JLC). Caracteriza-se por ter programas armazenados em disco ou fita, que uma vez iniciados, exigem pouca ou nenhuma interação do usuário, processando de forma sequencial e contínua até o fim do job, quando então é devolvido o resultado final do processamento.

Exemplos de JLC:

// $JOB
// $FORTRAN

Programa escrito em FORTRAN

// $LOAD
// $RUN

Dados de entrada do programa

// $END

Os sistemas multiprocessadores - dois ou mais processadores trabalhando juntos - podem ser divididos em duas partes:

Sistemas fortemente acoplados;

Sistemas fracamente acoplados.

Dentro de sistemas fortemente acoplados - memória única compartilhada por dois ou mais processadores, tendo um mesmo sistema operacional gerenciando todos os processadores -, encontramos mais duas divisões:

Sistemas simétricos - onde os processadores têm a mesma função;

Sistemas assimétricos - onde um processador (mestre) pode executar serviços do sistema operacional.

Dentro de sistemas fracamente acoplados - mais de dois sistemas operacionais que são ligados por canal de comunicação, tendo hardware e sistemas operacionais independentes - temos:

Sistemas operacionais de rede - cada sistema, também chamado host ou nó, possui seus próprios recursos de hardware, como processadores, memória e dispositivos de entrada e saída. Os nós são totalmente independentes dos terminais, sendo interconectados por uma rede de comunicação de dados, formando uma rede de computadores. Os sistemas operacionais de rede são utilizados tanto em redes locais (Local Area Network - LAN), como em redes distribuídas (Wide Area Network - WAN). A ligação entre os diversos nós é feita por uma interface de rede que permite o acesso aos demais componentes da rede. Não existe um limite máximo para o número de nós que podem fazer parte de uma rede de computadores. Cada nó é totalmente independente dos demais, possuindo seu próprio sistema operacional e espaço de endereçamento. Os sistemas operacionais podem ser heterogêneos. Na Internet, cada host pode estar processando um sistema operacional diferente, mas todos estão se comunicando através do mesmo protocolo de rede, no caso, os protocolos da família TCP/IP (Transmission Control Protocol/Internet Protocol).

Sistemas operacionais distribuídos - computadores independentes que parecem um único computador aos olhos do usuário; Trata-se de um conjunto de processos que são executados de forma concorrente, cada um dos quais acessando um subconjunto de recursos do sistema. E essa comunicação é feita em forma de envio de mensagens.

Os sistemas multi-programado para tempo real além de serem sistemas multiprogramados, possuem um tempo de resposta rígido e por isso são muito utilizados no controle de processos. Têm menos time-slice e mais prioridade, ademais, seus processos são ativados por sensores.

A aplicação deste tipo de sistema está em máquinas de usinas, refinarias, tráfego aéreo, etc.

Um sistema computacional moderno consiste em um ou mais processadores, memória principal, discos, impressoras, teclado, , monitor, interfaces de rede e outros dispositivos de entrada e saída. Os computadores têm um dispositivo de software denominado sistema operacional, cujo trabalho é fornecer aos programas do usuário um modelo de computador melhor, mais simples e mais limpo e lidar com o gerenciamento de todos os recursos mencionados.

Um dos conceitos mais fundamentais dos sistemas operacionais modernos é a distinção entre o programa e a atividade de executá-lo. O programa é apenas um conjunto estático de diretrizes e sua execução é uma atividade dinâmica.

Outra das diferenças que podemos observar entre um sistema operacional e aplicações convencionais é a forma com que suas rotinas são processadas em função do tempo. Um sistema operacional não é executado de forma estruturada. Suas rotinas são executadas concorrentemente em função de eventos assíncronos. Em outras palavras, eventos que podem ocorrer a qualquer momento.

Um exemplo da linha de comando

Núcleo monolítico ou monobloco: o núcleo consiste em um único processo executando numa memória protegida (espaço de núcleo) executando as principais funções. Ex.: MAC OS X, OS/2, Windows, Linux, FreeBSD.

Micronúcleo ou modelo cliente-servidor: o núcleo consiste de funções mínimas (comunicação e gerenciamento de processos), e outras funções, como sistemas de arquivos e gerenciamento de memória, são executadas no espaço do usuário como serviços; as aplicações (programas) são os clientes. Ex.: GNU Hurd, Mach.

Sistema em camadas: funções do núcleo irão executar em camadas distintas, de acordo com seu nível de privilégio. Ex.: Multics.

Monitor de máquinas virtuais: fornece uma abstração do hardware para vários sistemas operacionais. Ex.: VM/370, VMware, Xen.

Monotarefa: pode-se executar apenas um processo de cada vez Ex.: MS-DOS.

Multitarefa: além do próprio SO, vários processos de utilizador (tarefas) estão carregados em memória, sendo que um pode estar ocupando o processador e outros ficam enfileirados, aguardando a sua vez. O compartilhamento de tempo no processador é feito de modo que o usuário tenha a impressão que vários processos estão sendo executados simultaneamente. Cada processo recebe um tempo para ser executado. Ao final desse tempo, outro processo é executado. Essa alternância de processos chama-se concorrência.

Multitarefa cooperativa: Executa dois ou mais programas em simultâneo mas o programa que está em primeiro plano tem controlo sobre o processador. Neste caso se este programa falhar bloqueia o computador e tem que ser reiniciado. Exemplo de SO: Windows 3.x e versões anteriores ao Mac OS 8.

Multitarefa preemptiva: É o processador que controla a execução dos programas, desta forma permite ao sistema operativo recuperar o controlo caso um programa bloqueie. O utilizador perde os trabalhos do programa que falhou mas os restantes programas continuam a trabalhar. Exemplo de SO: Unix; Linux; Windows 95 e superiores; MAC OS 8 e superiores; etc..

Elemento de lista com marcas: Ex: OS/2, Windows, Linux, FreeBSD e o Mac OS X. Cabe destacar que processos só podem estar executando simultaneamente caso o sistema seja multiprocessado, já que, em que cada instante de tempo, apenas um processo está em execução em um processador ou núcleo de processamento (core).

Multiprocessamento: o SO distribui as tarefas entre dois ou mais processadores. Se os processadores estivem na mesma máquina física, o sistema é chamado de Sistema Multiprocessado Fortemente Acoplado. Caso esteja em máquinas diferentes, trata-se de um Sistema Multiprocessado Fracamente Acoplado.

† - descontinuado

Referências

BACH, Maurice J. The design of the Unix operating system. Upper Saddle River: Prentice Hall. 1990.

BOVET Daniel P.; CESATI, Marco. Understanding de Linux kernel. 3.ed. Sebastopol: O'Reilly. 2005.

MCKUSICK, Marshall K.; NEVILLE-NEIL, George V. The design and implementation of the FreeBSD operating system. Upper Saddle River: Addison-Wesley. 2004.

RUSSINOVITCH, Mark E.; SOLOMON, David A. Microsoft Windows internals. 4.ed. Redmond: Microsoft Press. 2005.

SILBERSCHATZ, Avi; GALVIN, Peter B.; GAGNE, Greg. Operating system concepts. 7.ed. Hoboken: Wiley. 2005.

STALLINGS, William. Operating systems: internals and design principles. 5.ed. Upper Saddle River: Pearson Prentice Hall. 2004.

TANENBAUM, Andrew. Sistemas operacionais modernos. Rio de Janeiro: LTC. 1999.

# data[].attributes.attachment_link.title
Sistema operativo - Wikipédia, a enciclopédia livre

# data[].attributes.attachment_link.description
é um programa ou um conjunto de programas cuja função é gerenciar os recursos do sistema (definir qual programa recebe atenção do processador, gerenciar memória, criar um sistema de arquivos, etc.), fornecendo uma interface entre o computador e o .

# data[].attributes.body
O termo hardware é bastante utilizado, principalmente na área de engenharia de computação, e se aplica à unidade central de processamento, à memória e aos dispositivos de entrada e saída, bem como a todos os componentes físicos de computadores. O termo "hardware" é usado para fazer referência a detalhes específicos de um dado equipamento eletrônico, incluindo-se seu projeto lógico pormenorizado bem como a tecnologia de seus componentes.

Retirados: https://pt.wikipedia.org/wiki/Hardware

# data[].attributes.body
A memória somente de leitura ou ROM (acrônimo em inglês de read-only memory) é um tipo de memória que permite apenas a leitura, ou seja, as suas informações são gravadas pelo fabricante uma única vez e após isso não podem ser alteradas ou apagadas, somente acessadas. São memórias cujo conteúdo é gravado permanentemente.[1]

Uma memória somente de leitura propriamente dita vem com seu conteúdo gravado durante a fabricação. Atualmente, o termo Memória ROM é usado informalmente para indicar uma gama de tipos de memória que são usadas apenas para a leitura na operação principal de dispositivos eletrônicos digitais, mas possivelmente podem ser escritas por meio de mecanismos especiais. .

Retirado de: https://pt.wikipedia.org/wiki/Mem%C3%B3ria_somente_de_leiturade:https://pt.wikipedia.org/wiki/Mem%C3%B3ria_somente_de_leiturahttps://pt.wikipedia.org/wiki/Mem%C3%B3ria_somente_de_leitura

# data[].attributes.body
A memória de acesso randômico ou de acesso aleatório (do inglês Random Access Memory, frequentemente abreviado para RAM), também chamado de memória volátil de leitura e escrita, é uma memória temporária computacional de acesso rápido; ou seja, é um local de armazenamento temporário de informações digitais usada pelo processador para armazenar informações temporariamente e que possui um acesso feito de forma aleatória mais rápido que ao HD, DVD, pen-drive (permite a rápida leitura e escrita de informações), utilizada como memória primária em sistemas electrónicos digitais.

Retirado de: https://pt.wikipedia.org/wiki/Mem%C3%B3ria_de_acesso_aleat%C3%B3rio

# data[].attributes.body
A unidade central de processamento ou CPU (Central Processing Unit), também conhecida como processador, é a parte de um sistema computacional, que realiza as instruções de um programa de computador, que executar a aritmética básica, orientado por um padrão binário 0 e 1 que possibilita a entrada, o processamento e saída de dados. O papel da CPU pode ser comparado ao papel de um cérebro no funcionamento de um computador. Isto é, realiza operações lógicas, cálculos e processamento de dados. O termo foi cunhado no início de 1960 e seu uso permanece até os dias atuais pois, ainda que sua forma, desenho e implementação tenham mudado drasticamente, seu funcionamento fundamental permanece o mesmo.

# data[].attributes.body
Um byte , é um dos tipos de dados integrais em computação. É usado com frequência para especificar o tamanho ou quantidade da memória ou da capacidade de armazenamento de um certo dispositivo, independentemente do tipo de dados. Cada uma dessas unidades de informação que implicam uma escolha é chamada de dígito binário, ou, no original inglês, binary digit, ou simplesmente bit, a menor unidade geradora de informações e escolhas em um sistema.

Retirado de: https://pt.wikipedia.org/wiki/Byte

# data[].attributes.body
O computador é um conjunto de componentes electrónicos capaz de executar variados tipos de algoritmos e tratamento de informações (processamento de dados).Este dispositivo pode possuir inúmeros atributos, dentre eles: armazenamento de dados, processamento de dados, cálculo em grande escala, desenho industrial, tratamento de imagens gráficas, realidade virtual, entretenimento e cultura.

Retirado de: https://pt.wikipedia.org/wiki/Computador

# data[].attributes.body
Software é um termo técnico que foi traduzido para a língua portuguesa como suporte lógico e trata-se de uma sequência de instruções a serem seguidas e/ou executadas, na manipulação, redireccionamento ou modificação de um dado (informação) ou acontecimento.