Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

Prévia do material em texto

1 
 
 
 
 
 
 
 
 
 
 
FUNDAMENTOS DA 
INFRAESTRUTURA DA 
TECNOLOGIA DA 
INFORMAÇÃO 
AULA 3 
 
 
 
 
 
 
 
 
 
Prof. Rafael Vilas Boas Wiecheteck 
 
 
2 
CONVERSA INICIAL 
O sistema operacional é um software indispensável nos sistemas 
computacionais atuais, quer seja em um smartphone, notebook, desktop ou 
qualquer outro equipamento que realize algum tipo de processamento. Ele é 
importante porque é o responsável por integrar o hardware do equipamento com 
os softwares de usuários. 
Podemos fazer uma breve distinção das funcionalidades de um sistema 
operacional em função do nível de utilização do usuário. Para o usuário final, que 
irá utilizar o equipamento ou software, podemos descrever algumas 
características mais gerais. Por outro lado, para um usuário que irá desenvolver 
uma solução, como o engenheiro de software, há características técnicas de 
grande importância que devem ser consideradas. 
Na visão de usuário, o sistema operacional é considerado como uma 
interface amigável que permite acessar, de forma intuitiva e fácil, aplicativos, 
arquivos e configurações do sistema. O objetivo principal do usuário é realizar 
tarefas cotidianas, como navegar na web, criar documentos, assistir a vídeos e 
jogar. A Figura 1 apresenta um exemplo de sistema operacional com interface 
gráfica. 
Figura 1 – Sistema operacional com interface amigável ao usuário final 
 
Crédito: omihay/Shutterstock. 
Na visão de um engenheiro de software, o sistema operacional é visto 
como uma plataforma complexa que fornece os recursos básicos necessários 
 
 
3 
para a construção e execução de aplicativos. O enfoque é na escalabilidade, 
segurança, desempenho e compatibilidade do sistema, além da gestão de 
recursos do sistema, como memória, processadores e armazenamento. A Figura 
2 apresenta um exemplo de sistema operacional com interface por linha de 
comando. 
Figura 2 – Sistema operacional com interface por linha de comando 
 
Crédito: Paolo De Gasperis/Shutterstock. 
Assim, enquanto o usuário final enxerga o sistema operacional como uma 
plataforma fácil de usar para realizar tarefas diárias, o engenheiro de software a 
enxerga como uma camada complexa de software que precisa ser otimizada e 
mantida para fornecer uma plataforma estável e segura para a construção de 
aplicativos. 
TEMA 1 – CONCEITUAÇÃO DE SISTEMAS OPERACIONAIS 
A maioria dos equipamentos que nos rodeia é, essencialmente, um 
sistema computacional. Dos tradicionais computadores e smartphones, 
passando pelos eletrodomésticos modernos e carros, por exemplo. Todos esses 
equipamentos possuem alguns itens em comum: pelo menos um processador, 
memória e dispositivos de entrada/saída. 
 
 
4 
As primeiras gerações de computadores possuíam um hardware mais 
simples, porém, o programador ou desenvolvedor de software precisava 
conhecer a fundo o equipamento para que pudesse escrever um programa 
eficiente. Nessa época, era necessário, por exemplo, conhecer o funcionamento 
da memória física, pois, caso contrário, o software poderia causar o travamento 
do equipamento ou a perda de informações. 
Com o avanço da tecnologia, o hardware desses produtos tem se tornado 
cada vez mais complexo, de modo que se torna inviável a um desenvolvedor de 
software conhecer todos os detalhes de cada equipamento para desenvolver 
uma aplicação. Esse é um dos motivos pelo qual o sistema operacional é tão 
importante. 
1.1 Funções do sistema operacional 
Um sistema operacional é um software complexo que controla e gerencia 
a operação de um computador. Ele fornece uma camada de abstração entre o 
hardware e os aplicativos, tornando possível a esses aplicativos acessarem e 
controlarem os recursos de hardware de maneira eficiente e segura. Figura 3 
apresenta onde um sistema operacional se encontra em um sistema 
computacional. 
Além disso, o sistema operacional gerencia tarefas básicas, como alocar 
memória, gerenciar processos, controlar a entrada e saída de dados, gerenciar 
arquivos e diretórios, além de prover segurança contra ameaças externas. Ele 
também fornece uma interface de usuário, como uma janela de interface gráfica 
ou linha de comando, que permite aos usuários interagir com o computador e os 
aplicativos instalados. 
Figura 3 – Sistema operacional em um sistema computacional 
 
 
 
5 
Como visto, o sistema operacional desempenha uma série de funções 
importantes para o funcionamento de um computador. Essas funções podem ser 
separadas em alguns grupos: 
• Gerenciamento de recursos: gerenciamento e alocação de recursos, 
como CPU, memória, armazenamento e periféricos, entre os aplicativos 
em execução. 
• Gerenciamento de processos: gerenciamento da execução de 
processos, alocando recursos de hardware de maneira justa e evitando 
conflitos. 
• Gerenciamento de memória: gerenciamento da memória RAM, 
alocando espaço para aplicativos em execução e garantindo que a 
memória seja utilizada de maneira eficiente. 
• Gerenciamento de arquivos: fornecimento de ferramentas para criar, 
armazenar, buscar e gerenciar arquivos e diretórios em disco. 
• Comunicação com periféricos: gerenciamento da comunicação entre o 
computador e os periféricos, como impressoras, câmeras, discos rígidos 
externos, entre outros. 
• Segurança: fornecimento de medidas de segurança para proteger o 
computador contra ameaças externas, como vírus, spyware e outros tipos 
de malware. 
• Interface de usuário: fornecimento de uma interface para que os 
usuários possam interagir com o computador, seja por meio de uma 
interface gráfica de usuário ou linha de comando. 
1.2 Evolução dos sistemas operacionais 
A evolução dos sistemas operacionais reflete o desenvolvimento da 
tecnologia e as mudanças na forma como os usuários interagem com os 
computadores. Dependendo do autor consultado, os períodos e datas podem 
variar um pouco. Essas datas não são fixas porque, durante um tempo, as 
tecnologias foram surgindo e convivendo com as tecnologias anteriores. As 
datas aqui apresentadas dão uma noção da evolução dos sistemas 
operacionais: 
• Sistemas operacionais para mainframe (1950s–1960s): os primeiros 
sistemas operacionais foram projetados para computadores de grande 
 
 
6 
porte (mainframes). Esses grandes computadores comerciais eram 
compartilhados por muitos usuários e basicamente eram conjuntos de 
programas que gerenciavam o uso dos recursos do computador e 
permitiam que os usuários compartilhassem recursos, como periféricos. 
Nesse período, os sistemas operacionais eram desenvolvidos 
especificamente para cada equipamento. Os profissionais que 
desenvolviam os programas eram engenheiros, matemáticos e 
pesquisadores com alto conhecimento do hardware utilizado. 
• Sistemas operacionais para computadores pessoais (1970s–1980s): 
com o surgimento de computadores pessoais, como o Apple II e o IBM 
PC, surgiram sistemas operacionais para usuários individuais. 
Inicialmente, a interface de usuário desses sistemas operacionais era 
somente por linhas de comando. Com o passar dos anos, foi incorporada 
a interface gráfica de usuário, facilitando o modo de usar e permitindo que 
os usuários executassem aplicativos de escritório e de entretenimento, 
sem a necessidade de conhecer as linhas de comando e parâmetros a 
serem passados para os programas. 
• Sistemas operacionais para servidores (1980s–1990s): com o 
aumento da popularidade da internet e da utilização das redes de 
computadores, surgiram sistemas operacionais específicos para 
servidores, que forneciam recursos adicionais para gerenciar a largura de 
banda, compartilhar recursos, como impressoras, entre vários 
computadores, garantindo a segurança de acesso e de dados e 
permitindo a escalabilidade do sistema. 
• Sistemas operacionais para dispositivos móveis (2000s–atualidade): 
com o surgimento de smartphones e tablets, surgiram sistemas 
operacionais para dispositivosmóveis, que fornecem interfaces de 
usuário fáceis de usar e recursos de mobilidade, como gerenciamento de 
bateria e conectividade sem fio. 
• Sistemas operacionais para computação em nuvem (2010s–
atualidade): com o advento da computação em nuvem, surgiram 
sistemas operacionais específicos para essa tecnologia, que fornecem 
recursos adicionais para gerenciar a infraestrutura de nuvem, 
escalabilidade e segurança. Esses sistemas operacionais permitem que 
 
 
7 
usuários acessem remotamente recursos de computação por intermédio 
da internet, sem precisar de hardware local. 
TEMA 2 – CLASSIFICAÇÃO DOS SISTEMAS OPERACIONAIS 
Os sistemas operacionais podem ser classificados em diferentes 
categorias. Essa classificação irá depender do objetivo, da arquitetura do 
hardware, do número de usuários ou da forma de utilização, por exemplo. Nesta 
abordagem, faremos uma classificação em relação aos itens a seguir: 
• Quanto ao tempo de resposta e entrada de dados. 
• Quanto à execução de tarefas. 
• Quanto à estrutura do núcleo. 
2.1 Classificação em relação ao tempo de resposta e entrada de dados 
As categorias tempo de resposta e entrada de dados são conceitos 
importantes em sistemas operacionais. O tempo de resposta se refere ao 
intervalo de tempo entre a entrada de um comando ou um conjunto de dados e 
o retorno da resposta correspondente. A entrada de dados, por sua vez, se refere 
à forma como os dados são inseridos no sistema, podendo ser de forma manual 
por meio de teclado, mouse, touchpad ou de forma automática por intermédio de 
outro sistema ou equipamento. Os sistemas operacionais podem ser 
classificados da seguinte forma: 
• Sistemas operacionais em lote (batch): nesta categoria, os dados são 
processados em lotes e não fornecem interação com o usuário, como no 
caso de sistemas bancários. 
• Sistemas operacionais interativos: permitem que os usuários interajam 
com o sistema e esperam uma resposta imediata a cada entrada de 
dados, como no caso de sistemas operacionais para computadores 
pessoais. 
• Sistemas operacionais de tempo real: respondem a eventos em tempo 
real, como no caso de sistemas de radar eletrônico de tráfego ou de 
sistemas de automação industrial. 
• Sistemas operacionais de sistemas híbridos: nesta categoria, 
enquadram-se os sistemas operacionais que atuam de forma combinada 
entre duas ou mais categorias mencionadas anteriormente. 
 
 
8 
2.2 Classificação quanto à execução de tarefas 
A classificação dos sistemas operacionais quanto à execução de tarefas 
é importante porque permite aos desenvolvedores escolher o sistema 
operacional que atenda às suas necessidades específicas de processamento, 
capacidade de gerenciamento de recursos e velocidade. Essa classificação pode 
ser feita da seguinte forma: 
• Sistemas operacionais monotarefas: permitem a execução de uma 
tarefa de cada vez. 
• Sistemas operacionais multitarefas: permitem a execução de múltiplas 
tarefas ao mesmo tempo, por exemplo, alternando entre diferentes 
programas ou processos. 
• Sistemas operacionais multiusuários: permitem que vários usuários 
compartilhem recursos, como armazenamento e processamento, ao 
mesmo tempo. 
• Sistemas operacionais multithreading: permitem que uma tarefa seja 
dividida em vários segmentos, que podem ser executados paralelamente, 
aumentando a velocidade de processamento. 
• Sistemas operacionais de tempo real: respondem a eventos em tempo 
real, ou seja, respondem aos eventos no momento que ocorrem. 
2.3 Classificação quanto à estrutura do núcleo 
A classificação dos sistemas operacionais quanto à estrutura do núcleo 
tem influência sobre a flexibilidade, escalabilidade, estabilidade e segurança do 
sistema. Em relação à estrutura do núcleo, pode fazer a classificação a seguir: 
• Sistemas operacionais monolíticos: possuem um núcleo único e 
integrado, em que todos os componentes são incorporados a ele. 
• Sistemas operacionais micronúcleos: possuem um núcleo pequeno e 
modular, permitindo a adição ou remoção de componentes, sem interferir 
no funcionamento do sistema. 
• Sistemas operacionais externos: possuem um núcleo separado, que 
fornece serviços aos programas e aplicativos. 
 
 
9 
Como exemplo, sistemas operacionais micronúcleos são ideais para 
sistemas de tempo real, enquanto sistemas operacionais monolíticos são ideais 
para sistemas de grande escala. 
TEMA 3 – CONCORRÊNCIA 
Em sistemas operacionais, a concorrência é um conceito que se refere à 
capacidade de vários processos compartilharem os recursos de um 
equipamento, de forma a evitar conflitos ou erros de execução. Dessa forma, a 
concorrência permite que vários processos sejam executados ao mesmo tempo, 
aumentando a eficiência e eficácia do sistema operacional. Por exemplo: um 
computador pessoal executa diversos processos, tais como: o navegador da 
web, um editor de texto, uma planilha eletrônica e um aplicativo de mensagens. 
Todos esses softwares podem ser executados concorrentemente, permitindo ao 
usuário alternar rapidamente entre eles e realizar tarefas simultâneas. Para o 
usuário, a sensação é que todos esses softwares estão sendo executados ao 
mesmo tempo. 
O gerenciamento da concorrência é feito por intermédio de técnicas, como 
a troca de contexto, que permite alternar rapidamente entre diferentes processos 
e atribuir recursos, como CPU, memória e dispositivos de entrada/saída, de 
forma justa e equilibrada. Além disso, os sistemas operacionais também 
implementam mecanismos de sincronização, que proporcionam a coordenação 
entre processos concorrentes e garantem a consistência de dados 
compartilhados. 
3.1 Principais técnicas de concorrência 
Há diversas técnicas de concorrência que podem ser empregadas e, 
normalmente, várias delas são utilizadas por um mesmo sistema operacional. A 
seguir, veremos as principais dessas técnicas: 
• Interrupção: é uma forma de comunicação entre o hardware e o software. 
Ela permite que o hardware notifique o software sobre eventos 
importantes, como a conclusão de uma tarefa de entrada/saída, uma falha 
de hardware ou um timer que expirou. O software, então, pode reagir 
adequadamente a esses eventos, garantindo a continuidade do 
funcionamento do sistema. Interrupções são gerenciadas pelo sistema 
 
 
10 
operacional, que as redireciona para o software apropriado para lidar com 
o evento, com o objetivo de evitar o bloqueio ou a interrupção da execução 
de tarefas importantes. A Figura 4 exemplifica um processo de 
interrupção. 
Figura 4 – Esquema de funcionamento de um processo de interrupção 
 
Fonte: Rafael Vilas Boas Wiecheteck, 2023. 
• Exceção: é um tipo especial de evento de interrupção que indica uma 
condição anormal ou inesperada no sistema operacional ou software. É 
gerada em resposta a erros ou falhas no software ou hardware, tais como 
divisão por zero, acesso à memória inválida ou falha em alocar recursos. 
A ocorrência de uma exceção interrompe a execução normal do programa 
e é gerenciada pelo sistema operacional, que pode responder a ela de 
diferentes maneiras, incluindo a finalização da aplicação, a correção do 
erro ou a continuação da execução do programa após tratar a exceção. 
As exceções fornecem uma forma flexível e poderosa de lidar com erros 
e condições anormais no software. 
• Controladores: são componentes do sistema operacional que 
administram os recursos do sistema, como processadores, memória, 
 
 
11 
dispositivos de entrada/saída e armazenamento. Eles são responsáveis 
por gerenciar as solicitações de recursos feitas pelos programas e alocá-
los de forma eficiente e equilibrada para todos os processos em execução. 
Além disso, os controladores também implementam e gerenciam 
algoritmos de escalonamento de processos, que determinam a ordem de 
execução dos processos e garantem a distribuição adequada dos 
recursos do sistema. Por isso, são uma parte críticado sistema 
operacional, assegurando o desempenho e a estabilidade. 
• Buffering: é uma técnica utilizada em sistemas operacionais para tratar a 
transferência de dados entre componentes do sistema com diferentes 
taxas de transferência. Nessa técnica, os dados são armazenados 
temporariamente em uma área de memória conhecida como buffer antes 
de serem transferidos para outro componente. O buffering é amplamente 
utilizado em sistemas de entrada/saída, como discos rígidos, dispositivos 
de armazenamento removíveis e dispositivos de rede, para garantir a 
velocidade e a eficiência da transferência de dados. 
• Spooling: é uma técnica que utiliza uma área em disco como se fosse um 
grande buffer. É aplicada em sistemas operacionais para gerenciar 
impressão e outras tarefas de saída de dados. 
• Reentrância: característica de um programa que permite que ele seja 
chamado novamente antes de ter concluído sua execução anterior, ou 
seja, pode ser executado várias vezes paralelamente. A reentrância é útil 
para os sistemas operacionais gerenciarem interrupções ou eventos 
assíncronos, em que é necessário que a sub-rotina responsável por 
executar a interrupção possa processar outras interrupções enquanto a 
anterior ainda está sendo executada. 
A concorrência é uma característica fundamental de sistemas 
operacionais modernos, pois atua diretamente no desempenho e eficiência de 
sistemas complexos, como servidores, bancos de dados, aplicativos em nuvem 
e sistemas de tempo real. 
TEMA 4 – PROCESSOS 
Podemos dizer que um processo é a forma como o sistema operacional 
representa uma tarefa ou aplicação em execução. Se estivermos, por exemplo, 
 
 
12 
com uma planilha eletrônica, um editor de texto e um navegador de internet 
abertos ao mesmo tempo, para o sistema operacional, significa que estaremos 
com três processos abertos. Cada um desses processos é uma entidade 
dinâmica que contém informações sobre o estado atual da aplicação, incluindo 
dados, código, recursos alocados, registros de pilha, arquivos abertos, entre 
outros. Portanto, o sistema operacional utiliza essa representação para gerenciar 
a execução dos processos, alocar recursos e garantir a segurança e isolamento 
entre eles. 
A compreensão da definição de processo é fundamental para o 
entendimento do funcionamento dos sistemas operacionais e para o 
desenvolvimento de aplicações eficientes e seguras. 
O sistema operacional gerencia os processos atribuindo recursos como 
CPU, memória e dispositivos de entrada/saída, além de garantir a segurança e 
isolamento entre eles. Os processos são criados, executados, suspensos, 
retomados e finalizados pelo sistema operacional, e podem ser coordenados 
para alcançar objetivos comuns, como a realização de tarefas em paralelo ou a 
compartilhamento de recursos. 
Os processos são considerados como o nível mais elevado de abstração 
na programação de sistemas operacionais, pois permitem que os programadores 
escrevam aplicações pensando apenas na lógica da tarefa a ser realizada, sem 
se preocupar com questões de baixo nível, como gerenciamento de memória e 
processamento de interrupções. A Figura 5 apresenta o gerenciador de tarefas 
do Microsoft Windows, em que é possível visualizar os processos (programas) 
de usuário que estão ativos no momento. 
 
 
 
 
 
 
 
 
13 
Figura 5 – Visualização de processos ativos no gerenciador de tarefas do 
Microsoft Windows 10 
 
Fonte: Rafael Vilas Boas Wiecheteck, 2023. 
4.1 Estrutura de um processo 
Quando um sistema operacional cria um processo, várias informações 
são necessárias para ser identificado e as informações gerenciadas. 
Basicamente, quando um processo é criado, há três componentes 
principais que podem ser identificados: informações de software, informações de 
hardware e informações de recursos necessários. A Figura 6 apresenta, de 
forma visual, a estrutura de um processo. 
Figura 6 – Principais componentes que compõem um processo 
 
Fonte: Rafael Vilas Boas Wiecheteck, 2023. 
 
 
14 
As informações de software incluem, por exemplo, o nome do processo, 
o ID do processo (PID), que é um identificador único atribuído pelo sistema 
operacional, quem é o proprietário daquele programa, qual a prioridade de 
execução, a data e hora de sua criação e o tempo de processador. Esses são 
alguns exemplos das principais informações, mas há muito mais. 
As informações de hardware contemplam as informações do dispositivo 
que será utilizado para executar o processo, tais como registrador de programa, 
ponteiro de instrução e dados armazenados na memória. É a descrição de onde 
o processo está no momento e o que está fazendo. 
Por fim, as informações de recursos englobam quaisquer informações 
sobre os recursos que precisam ser utilizados para realizar a tarefa, como, por 
exemplo, arquivos, dispositivos de entrada e saída, memória, entre outros. 
4.2 Estados de um processo 
Conforme vimos, um sistema operacional precisa gerenciar os diversos 
processos abertos no sistema, pois esses processos não podem ser executados 
todos ao mesmo tempo. Para o usuário, por mais que pareça que todos os 
processos estão rodando de forma paralela, na prática, não é o que acontece. 
Os estados de um processo são as diferentes fases por onde um processo 
passa durante sua execução. As fases são as seguintes: 
• Novo: o processo é criado, mas ainda não está pronto para ser executado. 
• Pronto: o processo está aguardando o uso da CPU. 
• Execução: o processo está em execução, usando a CPU. 
• Espera: o processo está esperando por algum recurso externo, como 
entrada de dados ou acesso ao disco. 
• Terminado: o processo terminou sua execução. 
A Figura 7 apresenta, visualmente, os três estados principais em que os 
processos podem se encontrar: pronto, execução e espera. 
 
 
 
 
 
15 
Figura 7 – Representação dos três principais estados em que os processos 
podem se encontrar 
 
Fonte: Rafael Vilas Boas Wiecheteck, 2023. 
A mudança de estado é controlada pelo sistema operacional que gerencia 
a alocação dos recursos e a ordem de execução dos processos. O objetivo é 
maximizar a eficiência e evitar conflitos entre processos. 
TEMA 5 – THREADS 
Thread é uma unidade de execução independente dentro de um processo. 
Cada processo pode ter várias threads, cada uma realizando uma tarefa 
específica, sendo que elas compartilham o mesmo espaço de endereço e 
recursos do processo, mas possuem suas próprias estruturas de registro, tais 
como pilha de execução e registradores. 
A utilização de threads permite que o sistema operacional faça a alocação 
de múltiplos processos para a CPU de maneira mais eficiente, melhorando o 
desempenho geral do sistema. Além disso, ajuda a resolver problemas de 
concorrência, permitindo que múltiplas tarefas sejam executadas em paralelo 
dentro de um processo. 
Basicamente, podemos diferenciar um processo de uma thread da 
seguinte forma: 
• Processo: unidade básica de execução em um sistema operacional. 
Cada processo tem sua própria área de memória, recursos do sistema 
 
 
16 
(por exemplo, arquivos abertos) e estado de execução (por exemplo, 
prioridade). Cada processo é independente uns dos outros, o que significa 
que um não pode afetar diretamente o outro. 
• Thread: unidade de execução independente dentro de um processo. 
Cada processo pode ter várias threads, cada uma realizando uma tarefa 
específica. Essas threads compartilham o mesmo espaço de endereço e 
recursos do processo, mas possuem suas próprias estruturas de registro, 
tais como pilha de execução e registradores. 
Em resumo, os processos são independentes uns dos outros, enquanto 
as threads são dependentes de um processo e compartilham seus recursos, 
conforme pode ser visto na Figura 8. 
Figura 8 – À esquerda, um processo com somente um fluxo de execução e, à 
direita, um processo contendo três threads executadas simultaneamenteFonte: Rafael Vilas Boas Wiecheteck, 2023. 
As threads são criadas a partir do software ou aplicação que está sendo 
desenvolvida. A maioria das linguagens de programação possui funções próprias 
para a criação e o gerenciamento de threads. 
FINALIZANDO 
O sistema operacional é parte fundamental do software que controla e 
gerencia as operações de um computador. Ele permite a interação entre o 
 
 
17 
hardware e o software, fornecendo serviços aos programas de aplicação e ao 
usuário. É responsável, também, por gerenciar recursos do sistema, como 
memória, processamento, entrada e saída de dados, bem como a coordenação 
de tarefas. 
Essa camada de software oferece também outras funcionalidades, como 
a interface para que o usuário possa interagir com o computador, executar 
tarefas e a responsabilidade pela segurança do sistema, controlando o acesso 
de programas e usuários aos recursos e dados. 
A evolução dos sistemas operacionais foi marcada por mudanças 
significativas, incluindo a popularização da interface gráfica, o surgimento da 
computação em nuvem e a incorporação de tecnologias avançadas, como 
virtualização e processamento paralelo. 
 
18 
 
REFERÊNCIAS 
DEITEL, H. M. Sistemas operacionais. 3. ed. São Paulo: Pearson Prentice Hall, 
2005. 
SILBERSCHATZ, A. Fundamentos de sistemas operacionais. 9. ed. Rio de 
Janeiro: LTC, 2015. 
TANENBAUM, A. S. Sistemas operacionais modernos. 4. ed. São Paulo: 
Pearson Education do Brasil, 2016. 
	Conversa inicial
	FINALIZANDO
	REFERÊNCIAS

Mais conteúdos dessa disciplina