Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Sistemas Operacionais I - Notas das Aulas do Primeiro Bimestre, Notas de aula de Sistemas Operacionais

As notas das aulas do primeiro bimestre da disciplina de Sistemas Operacionais I da FATEC Guarulhos. O conteúdo aborda conceitos básicos de arquitetura organizacional de computadores, tipos de arquiteturas, modos de acesso, processos, threads e suas implementações. útil para estudantes de graduação em Ciência da Computação ou áreas afins que desejam aprofundar seus conhecimentos em Sistemas Operacionais.

Tipologia: Notas de aula

2022

À venda por 14/04/2023

NicolasHiroshi
NicolasHiroshi 🇧🇷

1 documento

1 / 7

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Sistemas Operacionais I
Notas das Aulas do Primeiro Bimestre
FATEC Guarulhos
Nicolas Hiroshi Souza Tsukada
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe Sistemas Operacionais I - Notas das Aulas do Primeiro Bimestre e outras Notas de aula em PDF para Sistemas Operacionais, somente na Docsity!

Sistemas Operacionais I

Notas das Aulas do Primeiro Bimestre

FATEC Guarulhos

Nicolas Hiroshi Souza Tsukada

Revisão Básica de

Arquitetura Organizacional de Computadores

Processador

UC - Responsável por gerenciar as atividades de todos os componentes do computador, como a gravação de dados ou busca de instruções na memória. ULA - Responsável pela realização de operação de operações lógicas (testes e comparações) e aritméticas (soma e subtração) Memórias - Registradores e Cache.

Memórias

Registradores - São dispositivos com a função de armazenar dados temporariamente das instruções que o processador necessita realizar. Cache - Alta velocidade e pequeno armazenamento. Ajudam a diminuir a diferença de velocidade com o processador e a memória de principal Memória Principal (RAM) - É onde os programas são executados. Flash - Dispositivos não-voláteis a laser como Pen-drive e SSD. HD - Dispositivos não-voláteis com discos magnéticos como HD. Fita Magnética - Rolos magnéticos com uma incrível não-volatilidade. ROM - Memória muito não-volátil normalmente usada para BIOS.

Tipos de Arquiteturas

Fortemente Acoplado - Vários processadores compartilham uma única memória

física e dispositivos de I/O, sendo gerenciados por apenas um sistema operacional. Fracamente Acoplado - Casa sistema funciona de forma independente possuindo memória e dispositivos de I/O.

Exceção - Semelhante à interrupção, pois também de fato interrompe um programa. A principal diferença é que a exceção é o resultado de uma instrução dentro de um próprio programa. Exemplos - Divisão por zero; ocorrência de um overflow numa operação aritmética; estouro de memória; e entrada de um tipo alfanumérico numa variável inteira.

Operações de Entrada e Saída

Definição - Fazem a comunicação entre o processador e dispositivos de entrada e saída. (Antigamente estas operações eram controladas pelo processador.) Como ocorrem - Por programa; Por interrupção; e Transferencia de alto volume. Memória - DMA (Direct Memory Access) é um espaço na memória também chamado de “buffer de E/S”. Técnicas - Desenvolvidas para uma eficiência na execução da comunicação entre processador e dispositivos de entrada e saída. Buffering - Técnica que separa uma área da memória RAM para auxiliar os dispositivos de entrada e saída. Tem o objetivo de minimizar a diferença de velocidade entre o processador e os dispositivos de E/S e mantê-los não ociosos. Spooling - Armazena em disco o resultado da impressão dos programas, ou seja, salva arquivo na memória e imprime de acordo com a velocidade da impressora. Reentrância - É a capacidade um programa ser executado por mais de um usuário. (Várias pessoas usando o mesmo programa).

Estrutura do Sistema Operacionais

Um SO é formado por um conjunto de rotinas que oferecem serviços essenciais aos usuários. A estrutura do sistema pode variar de acordo com o tipo de sistema. Kernel - É um conjunto de rotinas, ou seja, o núcleo do sistema. Formas de comunicação como Kernel: ● Rotinas de Sistemas - Realizado pelas aplicações (conjuntos de funções preestabelecidas responsáveis pelo funcionamento do sistema). Utilitários - Compilador, editor de texto e etc. Linhas de comando - Particular de cada SO. Funções do núcleo - A estrutura e o funcionamento do sistema operacional não é como uma aplicação tipicamente sequencial com início, meio e fim. ● Criação e eliminação de processos - Função responsável por alocar memória para criar e eliminar processador.

Sincronização e comunicação entre processos e threads - Prioriza quem é mais importante na fila de processos. ● Escalonamento e controle de processos e threads - função que organiza a fila de processos do processador. ● Gerência de memória - gerencia os endereços na memória ● Gerência de sistema de arquivo - Gerencia os arquivos e compartilhamento destes aos diversos usuários. ● Gerência de dispositivos de E/S - Gerencia a comunicação dos dispositivos de E/S com o sistema. ● Suporte a redes locais, teleprocessamento e redes distribuídas - Executa todos os serviços de rede. ● Contabilização de uso de sistema - Contabiliza todos os usos do sistema consumido pelo usuário e armazena nos registrados. ● Auditoria e segurança do sistema - Detecta e registra todas as ocorrências de erro em um arquivo log.

Modos de Acesso

Definição - É o nível de acesso a manipulação do núcleo do sistema. Modo Usuário - Instruções não privilegiadas, tendo um acesso a um número limitado de instruções do processador Modo Kernel - Tem o acesso a todas as instruções do processador. System Call - É um porta de entrada para acesso ao núcleo do sistema e aos serviços. Podendo trocar de modo usuário para kernel.

Processos

Definição - Pode ser entendido como programa em execução que tem suas informações mantidas pelo SO. Partes do Processo Contexto de Software - neste contexto são especificadas características e limites dos recursos que podem ser alocados pelo processo, Identificação - Guarda informações sobre as rotinas das execuções do usuário. Quotas - Recursos disponíveis alocados para suprir as necessidades das rotinas do usuário. Privilégios - Diz respeito às prioridades assumidas pelo processo durante sua execução. Contexto de Hardware - Armazena o conteúdo dos registradores gerais da CPU. Mudança de contexto - consiste em salvar o conteúdo dos registradores do processo que está deixando a CPU e carregá-los com os valores referentes ao do novo processo que irá executar.

Ambientes Threads Monothreads - Em um ambiente monothread, um processo suporta apenas um programa no seu espaço de endereçamento. As threads estão limitadas a estar dentro de um processo maior. Liga sistema e processo. Multithread - Aqui uma thread pode ser definida como uma sub-rotina de um programa que pode ser executada de forma assíncrona. Não existem limitações de processos. Liga sistema a threads. _Client-Server_* - Neste ambiente é necessário um ambiente multi-thread para permitir que uma quantidade grande de threads seja realizada. Thread Control Block (TCB) - Uma estrutura de dados onde os threads são implementados e organizados para uma melhor comunicação entre as threads que compartilham o mesmo espaço enderamente. Arquitetura e Implementação de Threads - As threads podem ser oferecidas por um biblioteca de rotinas, sendo elas: Modo Usuário - De fora do núcleo do SO Modo Kernel - Pelo próprio núcleo do sistema do SO. Modo Híbrido - Combinação dos dois _Scheduler Activation_* - Uma estrutura de dados para melhorar a comunicação entre threads em modo usuário e modo kernel