Prévia do material em texto
Conceitos Básicos De So Sistemas operacionais multitarefa permitem que vários programas sejam executados simultaneamente. Esta capacidade melhora a eficiência e a usabilidade do computador, permitindo uma melhor gestão do tempo de processamento. Qual característica define um sistema operacional multitarefa? Executar múltiplos programas usando um único processador. Na arquitetura de sistemas operacionais, o kernel é a camada mais fundamental, oferecendo uma base sobre a qual os programas podem ser executados de maneira segura e eficiente. O que é o kernel em um sistema operacional? A camada fundamental que atua diretamente sobre o hardware. (FADENOR/2022 - Adaptada) Um sistema computacional moderno consiste de um ou mais processadores, memória principal, discos, impressoras, teclado, monitor, interfaces de rede e outros dispositivos de entrada e saída; além de programas de aplicação e programas do sistema. O sistema operacional é um tipo de programa (software) cuja função é: Gerenciar os componentes de hardware e fornecer aos programas do usuário uma interface com o hardware mais simples, através de um conjunto de instruções mais conveniente. O sistema operacional Linux é extremamente importante por várias razões, incluindo sua confiabilidade, segurança, flexibilidade, escalabilidade e custo-benefício. Uma das principais vantagens do Linux é sua confiabilidade. Ele é projetado para ser executado continuamente por longos períodos de tempo sem falhas, o que é especialmente importante em servidores de missão crítica e em outros ambientes empresariais. Além disso, o Linux tem um histórico comprovado de segurança, com uma grande comunidade de desenvolvedores trabalhando constantemente para identificar e corrigir vulnerabilidades. No contexto de distribuições Linux, qual o significado do termo LST? Long-Term Support Um sistema operacional (SO) serve como intermediário entre usuários e hardware do computador. Sem um SO eficiente, o uso do computador seria significativamente mais complicado. Qual dos seguintes é um papel principal de um sistema operacional? Gerenciar recursos de hardware e oferecer serviços para programas Na elaboração de um curso introdutório sobre sistemas operacionais, um educador planeja incluir uma seção dedicada ao entendimento de como os sistemas operacionais gerenciam processos e threads. Este tópico é vital para compreender como os sistemas operacionais otimizam o uso do processador, permitindo a execução concorrente de múltiplas tarefas. Considerando o texto, analise as afirmativas abaixo: I. O gerenciamento de processos envolve a distribuição eficiente do tempo de CPU entre os processos ativos. II. Threads dentro de um mesmo processo compartilham o mesmo espaço de memória, facilitando a comunicação entre eles. III. A execução concorrente de threads não impacta o desempenho do sistema operacional. I e II estão corretas. (IDIB/2021 - Adaptada) O Kernel, ou "núcleo" de um sistema operacional, é responsável pela ligação entre os aplicativos e o processamento realizado a nível de dados. O Kernel tem como responsabilidade realizar o gerenciamento dos recursos do SO. Além desse gerenciamento de recursos, outras funções são exercidas pelo Kernel. Assinale a alternativa que indica corretamente mais uma função do Kernel de um sistema operacional. sincronização e comunicação entre processos e threads. (IDIB/2021 - Adaptada) O Kernel, ou "núcleo" de um sistema operacional, é responsável pela ligação entre os aplicativos e o processamento realizado a nível de dados. O Kernel tem como responsabilidade realizar o gerenciamento dos recursos do SO. Além desse gerenciamento de recursos, outras funções são exercidas pelo Kernel. Assinale a alternativa que indica corretamente mais uma função do Kernel de um sistema operacional. Sincronização e comunicação entre processos e threads. (AMAUC/2018 - Adaptada) Linux é um sistema operacional de código aberto, baseado no Unix, que foi criado por Linus Torvalds em 1991. Com relação às distribuições disponíveis do Linux, o Kernel destas: Pode ser de versões diferentes de acordo com a distribuição. O Linux é um sistema operacional de código aberto amplamente utilizado por engenheiros de redes, e que preza pela eficiência e robustez. Ao longo dos anos a comunidade desenvolveu e disponibilizou diferentes versões para utilização como, por exemplo, o Ubuntu, uma distribuição popular baseada no Debian. Essas versões são conhecidas como: Distribuições. (SELECON/2021 - Adaptada) Sistema operacional é definido com um conjunto de programas que faz a comunicação entre os componentes do hardware, gerenciando e distribuindo os recursos e os demais softwares, criando uma plataforma comum a todos os programas utilizados. No que diz respeito à terminologia e aos fundamentos utilizados, o núcleo de um sistema operacional é conhecido por: Kernel Em um seminário sobre arquiteturas de sistemas operacionais, um palestrante discute a diferença entre o modelo de kernel monolítico e microkernel. Ele explica como essas estruturas influenciam a comunicação entre o sistema operacional e o hardware, bem como a estabilidade e a segurança do sistema. Considerando o texto, analise as afirmativas abaixo: I. O modelo de kernel monolítico caracteriza-se por ter todos os serviços do sistema operacional executando em espaço de kernel. II. Microkernels favorecem a modularidade, executando serviços básicos do sistema operacional em espaços de usuário. III. Kernels monolíticos são inerentemente mais seguros devido à sua estrutura simplificada. Assinale a opção que apresenta somente as afirmativas corretas. I e II estão corretas. Unoesc/2022 - Adaptada) Os sistemas operacionais avançaram muito desde o seu modesto surgimento na década de 1970. Assinale a alternativa que apresenta apenas sistemas operacionais. Linux, Windows, UNIX, Android e macOS. Processos e Gerencia De Processador A criação de processos é um passo essencial na execução de programas. Sistemas operacionais como o Linux fornecem chamadas de sistema específicas para essa finalidade, facilitando a gestão de múltiplas tarefas. Qual chamada de sistema no Linux é utilizada para criar um novo processo? fork() Um analista de sistemas está investigando um problema de desempenho em um servidor que executa múltiplas instâncias de aplicativos web. Ele suspeita que o escalonamento de processos não está sendo eficiente, levando a altos tempos de espera e resposta. Considerando o texto, analise as afirmativas abaixo: I. O escalonamento de processos é irrelevante para o desempenho do sistema. II. Algoritmos de escalonamento visam distribuir o tempo de processador de forma justa entre todos os processos. III. Processos em estado de espera não consomem recursos do processador. Assinale a opção que apresenta somente as alternativas corretas. II e III, apenas. Um subprocesso é uma instância separada de execução criada por um processo existente. Ele herda muitas propriedades do processo pai, mas opera de forma independente. A habilidade de criar e gerenciar subprocessos é fundamental para muitos sistemas e aplicações modernas, permitindo paralelismo e modularidade. É quando um processo (processo pai) cria um outro processo. Semáforos são primitivas de sincronização utilizadas em programação concorrente para controlar o acesso a recursos compartilhados por múltiplas threads ou processos. Variáveis inteiras que contam sinais enviados a elas. O Bloco de Controle de Processo (BCP) é uma estrutura vital em sistemas operacionais que permite a multitarefa, garantindo que todos os processos sejamgerenciados de maneira justa e eficiente. Qual é o propósito do Bloco de Controle de Processo (BCP) no Linux? Contém todas as informações do processo. Considere o programa abaixo escrito em linguagem C. No instante da execução da linha 5, ter-se-á uma hierarquia composta de quantos processos e threads, respectivamente? 1 main(){ 2 int i; 3 for(i=0;i<3;i++) 4 fork(); 5 while(1); 6 } RESPOSTA: 8 e 8 Em um sistema operacional moderno, a gestão eficaz do processador é crucial para o desempenho. Uma estratégia chave é o uso de algoritmos de escalonamento para decidir qual processo executará em seguida, maximizando a utilização da CPU. Qual algoritmo de escalonamento prioriza os processos com o menor tempo restante primeiro? Menor Tempo Primeiro (Shortest Remaining Time First – SRTF). Existem diversos algoritmos de escalonamento, e a escolha de um em particular depende dos requisitos e do tipo de sistema. No escalonamento por múltiplas filas, o que determina a ordem de execução dos processos? A prioridade associada a cada fila. Conceitualmente, cada processo tem sua própria CPU (Central Processing Unit) virtual. É claro que, na realidade, a CPU troca a execução, a todo momento, de um processo para outro, mas, para entender esse sistema, é muito mais fácil pensar em um conjunto de processos sendo executados (pseudo) paralelamente do que tentar controlar o modo como a CPU faz esses chaveamentos. TANENBAUM, A. S. Sistemas operacionais modernos. 3. ed. São Paulo: Pearson, 2010 (adaptado). De acordo com o exposto, o conceito descrito denomina-se : Multiprogramação A compreensão dos conceitos de gerenciamento de memória e alocação de processos em um sistema operacional é fundamental para a formação de um profissional de TI. Dentro desse contexto, analise as afirmativas a seguir e marque a alternativa correta sobre Threads. São linhas de execução concorrentes dentro de um processo. No desenvolvimento de software concorrente, a sincronização de processos é fundamental para evitar condições de corrida. Utilizar mecanismos adequados garante que os recursos sejam acessados de maneira segura e ordenada. Qual mecanismo é utilizado para evitar o acesso simultâneo a um recurso compartilhado? Semáforos. Memória (FAPESC/2022 - Adaptada) Os processadores são componentes de hardware de um computador que executam instruções de programas e realizam cálculos. Quase todos os processadores suportam um mecanismo de memória virtual. Assinale a alternativa correta com relação a esse mecanismo. A memória virtual é uma facilidade que permite que os programas enderecem a memória a partir de um ponto de vista lógico, sem considerar a quantidade de memória principal disponível fisicamente. (Instituto Consulplan/2022 - Adaptada) Sistemas operacionais são tipos de software que têm a função primordial de ser a base para o funcionamento de computadores e, consequentemente, a manipulação por parte dos usuários. A memória RAM é um item de hardware que possui tamanho limitado, enquanto os processos executados, muitas vezes, ultrapassam o limite de tamanho proporcionado por esse componente. Para que o computador consiga lidar com esse cenário, é necessário que os processos permaneçam em disco, sendo carregados dinamicamente para a memória, possibilitando que sejam executados somente quando necessário. Um dos métodos utilizados para realizar o processo de gerenciamento de memória é: Swapping. Concurso: UFPE - 2010 | Prova: COVEST-COPSET - 2010 - UFPE - Analista de Tecnologia da Informação Um dos tipos de gerenciamento de memória utilizados por sistemas operacionais é a memória virtual. Este tipo de memória pode ser gerenciada por segmentação. Assinale a alternativa que descreve o funcionamento do gerenciamento de memória virtual por segmentação: Divide o espaço do endereçamento virtual em blocos de tamanhos diferentes chamados segmentos. Concurso: INMETRO - 2010 - Edital 01-2010 | Prova: CESPE - 2010 - INMETRO - Pesquisador - Ciência da Computação Em um sistema operacional que implementa a gerência de memória, por meio de um sistema de paginação por demanda, observou-se que, durante a execução de um processo, a utilização da CPU é 20%, do disco de paginação 75% e dos demais dispositivos de E/S 5%. Assinale a opção que otimiza a utilização da CPU. Aumento do tamanho da página. (FAPESC/2017 - Adaptada) Gerenciamento é o processo de planejar, organizar, dirigir e controlar recursos. Assinale a alternativa correta com relação ao gerenciamento da memória em Sistemas Operacionais Além de desacoplar os endereços lógicos dos endereços físicos e realizar a tradução entre ambos, a noção de memória virtual também permite implementar a proteção de memória do núcleo e dos processos entre si, fundamentais para a segurança e estabilidade do sistema. (SELECON/2022 - Adaptada) Nos computadores atuais, é utilizado um mecanismo para melhorar o desempenho dos equipamentos, conhecido como memória virtual e implementado por meio de um arquivo de troca "swap file" armazenado no disco rígido. Esse mecanismo emprega basicamente dois recursos, descritos a seguir: I. Técnica de gerência de memória, na qual um programa é espalhado por áreas não contíguas de memória, em que o espaço de endereçamento lógico de um processo é dividido em unidades lógicas de tamanho fixo. II. Técnica de gerência de memória, na qual programas são divididos em unidades de tamanhos variados, cada um com seu próprio espaço de endereçamento. Os recursos descritos em I e II são conhecidos, respectivamente, como: paginação e segmentação Concurso: TRF - 2ª REGIÃO - 2011 - Técnico e Analista | Prova: FCC - 2012 - TRF - 2 REGIÃO - Analista Judiciário ¿ Informática Quando segmentos de memória alocados a processos e segmentos de memória livres são mantidos em uma lista ordenada por endereço, é possível utilizar diversos algoritmos para alocar memória a um processo recém-criado. Presumindo que o gerenciador de memória saiba o tamanho de memória que deve ser alocada ao processo, ele procurará ao longo da lista de segmentos de memória por um segmento livre que seja suficientemente grande para esse processo. O segmento é quebrado em duas partes, se for o caso, sendo uma parte alocada ao processo e a sobra transforma-se em um segmento de memória livre. O texto trata do algoritmo first fit Monitorar o ambiente de execuções do Linux é uma atividade corriqueira para o administrador do Sistema. Nessa tarefa, vários comandos e aplicativos podem ser utilizados, inclusive aqueles para análise da utilização da memória. Sobre o gerenciamento da memória do sistema Linux, qual o aplicativo chamado a partir do terminal possui em sua parte superior um resumo da utilização dos principais recursos em que as cores possuem significado? Htop Compreender as técnicas de gerência de memória empregadas pelos sistemas operacionais é uma qualidade fundamental para o profissional de TI moderno. Nesse sentido, qual a política de liberação de páginas que prioriza a retirada da página que esteja carregada há mais tempo? FIFO. (OBJETIVA/2019 - Adaptada) Quando ocorre uma falta de página, o sistema operacional tem de escolher uma página para remover da memória a fim de abrir espaço para a que está chegando. Assinale a alternativa que apresenta uma desvantagem do algoritmo primeiro a entrar, primeiro a sair (first in, first out). A página mais antiga a ser removida ainda pode ser intensamente usada. Sistema De Arquivos (Quadrix/ 2019 - adaptada) O Linux é um sistema operacional que possui uma ampla variedade de comandos utilizados para diversas funções. Um exemplo é a manipulação de arquivose diretórios. Sobre a manipulação de arquivos e diretórios analise as asserções I e II. I - Os comandos cd, ls, pwd, mkdir e rmdir são exemplos de comandos que servem para manipular diretórios no sistema operacional Linux. PORQUE II - Os comandos mkdir e rmdir criam e removem diretórios respectivamente. Marque a alternativa que apresenta a relação correta entre as asserções I e II. Ambas as asserções são verdadeiras, mas a asserção II não é uma justificativa para a asserção I O Linux é um sistema operacional de código aberto que desempenha um papel fundamental na computação moderna. O Linux é baseado em código aberto, o que significa que seu código-fonte é acessível e pode ser modificado e distribuído livremente. Acerca de sua manipulação, qual comando do Linux é utilizado para listar o conteúdo de um diretório? R: LS O sistema operacional Linux possui uma estrutura de diretórios padrão seguida pela grande maioria de suas distribuições. Dentro desta estrutura de diretórios, em qual diretório encontram-se os arquivos que representam os dispositivos do sistema? /dev Sobre o tema fragmentação, são feitas as seguintes afirmações: I - Desde que haja blocos livres suficientes em uma partição com alocação indexada (i-nodes), um arquivo sempre poderá ser gravado na partição, independentemente desta estar fragmentada ou não. II - Um arquivo fragmentado é um arquivo cujos blocos de informação foram espalhados por diferentes sistemas de arquivos. III - É interessante manter os arquivos em um disco rígido com baixa fragmentação, pois isso melhora o tempo médio de leitura dos arquivos. São verdadeiras: Apenas a I e a III. O nano é um editor de texto para linha de comando que está presente na grande maioria das distribuições Linux. Qual comando é responsável por salvar um arquivo? <CTRL>+O Para o armazenamento de dados em partições Linux, um disco precisa ser particionado. Depois, as partições precisam ser formatadas e, posteriormente, montadas. Somente após a conclusão destes 3 processos, o sistema de arquivos poderá ser acessado pelos processos do sistema. Os comandos do Linux que podem ser utilizados, respectivamente, para particionamento, formatação e montagem de sistema de arquivos são: fdisk, mkfs e mount. Em um sistema de arquivos, os arquivos podem ser estruturados de diferentes formas, o que pode levar a restrições na forma como as aplicações podem manipular tais arquivos. No que se refere a estrutura de arquivos, marque a alternativa correta. A sequência desestruturada de bytes é a estrutura adotada pelo Linux e pelo MS Windows®. O sistema de arquivos do Linux é realizado de forma virtual sendo realizado pelo Virtual File System – VFS. Sobre os tipos de objetos, que o Linux é capaz de manipular, analise as afirmativas abaixo. I - O I-NODE corresponde a um arquivo individual. II -O Superbloco corresponde a um sistema de arquivos inteiro. III – O Dentry corresponde a um sistema de arquivos partidos. Marque a alternativa que apresenta a(s) afirmativa(s) correta(s). Apenas as afirmativas I e II estão corretas Um dos comandos mais utilizados quando se está trabalhando em um shell do Linux é o comando para listar o conteúdo do diretório corrente. Para listar o conteúdo do diretório corrente, mostrando os arquivos ocultos e o tamanho dos arquivos, deve-se utilizar o comando: ls –al Os computadores atuais têm uma capacidade muito maior de armazenamento do que os primeiros computadores que foram desenvolvidos. Essa capacidade foi ampliada tanto para os discos rígidos quanto para os discos removíveis/outras mídias, desta forma esse sistema organiza e estrutura as informações. O sistema de gerenciamento que organiza e estrutura as informações nos discos rígidos, discos removíveis e outras mídias é chamado de Sistema de arquivos. Empregar e compreender as ferramentas para o gerenciamento e manipulação dos arquivos é uma habilidade fundamental para o profissional de TI. Sobre o Sistema Operacional Linux, qual o comando responsável por apagar um diretório de nome "provas" que contém arquivos em seu interior? rm -rf provas Automatizando Tarefas No Linux Dos comandos abaixo, qual permite alterar a configuração de CRONTAB do usuário? crontab –e Dos comandos abaixo, qual pode ser usado para limpar o terminal, apagando todo o conteúdo previamente existente? clear Em uma empresa de tecnologia, o administrador de sistemas precisa automatizar a geração de relatórios diários de uso dos servidores. Para isso, ele decide usar o CRON, configurando um script que executa essa tarefa todos os dias às 3 da manhã. Qual comando o administrador deve inserir no CRON para realizar a tarefa descrita acima? 0 3 * * * /caminho/para/script.sh Dentre as opções abaixo, indique qual representa uma configuração de agendamento no CRONTAB para executar um determinado comando a cada 30 minutos, somente às segundas-feiras. */30 * * * 1 comando Ao desenvolver um SCRIPT, seu responsável utilizou o comando abaixo: $ chmod u+x script Sobre esse comando, é correto afirmar que: Concede ao arquivo a permissão para poder ser executado como SCRIPT pelo proprietário. Durante uma aula sobre a evolução dos sistemas operacionais, um professor destaca a importância dos avanços tecnológicos que permitiram a transição de sistemas operacionais monotarefa para multitarefa, enfatizando a capacidade de executar várias aplicações simultaneamente. Este marco representa um salto significativo na eficiência e na funcionalidade dos computadores modernos. Considerando o texto, analise as afirmativas abaixo: I. Sistemas operacionais multitarefa podem executar várias aplicações ao mesmo tempo, aumentando a produtividade. II. A transição para sistemas operacionais multitarefa não teve impacto significativo na utilização dos recursos do sistema. III. Sistemas operacionais monotarefa limitavam os usuários a executar uma única aplicação por vez. Assinale a opção que apresenta somente as afirmativas corretas. I e III estão corretas. Sistemas operacionais multitarefa permitem que vários programas sejam executados simultaneamente. Esta capacidade melhora a eficiência e a usabilidade do computador, permitindo uma melhor gestão do tempo de processamento. Executar múltiplos programas usando um único processador. Um processo pode ser definido como um programa em execução mais um conjunto necessário de informações para que o sistema operacional implemente a concorrência de programas. Entre estas informações necessárias para a concorrência destacam-se o contexto de software, o contexto de hardware e o espaço de endereçamento do processo. Sobre o contexto de hardware, ele é importante para um processo porque: Armazena o conteúdo de registradores e status da UCP para a troca de processos. Gerenciar eficientemente o tempo de CPU entre múltiplos processos é crucial para o desempenho do sistema. O escalonador de processos utiliza diferentes critérios para otimizar o uso do processador, melhorando a resposta do sistema a diversas cargas de trabalho. Qual tipo de escalonamento utiliza fatias de tempo para alternar a execução entre os processos, buscando equilibrar o uso do CPU? Round Robin. O processo “Systemd” ou “init” é uma peça central do sistema operacional Linux, garantindo que os serviços sejam iniciados na ordem correta, limpando processos órfãos e zumbis, e gerenciando o estado geral do sistema. Qual é a relação entre o processo “systemd” (ou “init”) no Linux e outros processos do sistema operacional? A Systemd (ou init) é um subprocesso de outros processos. B É o último processo a ser executado após todos os outrosprocessos. C Systemd (ou init) é o primeiro processo a ser executado e inicia a execução dos demais processos. D Todos os processos no Linux são independentes de systemd (ou init). E Systemd (ou init) serve apenas para finalizar processos.