Qual é a principal vantagem da utilização de uma aplicação multitarefa para quem desenvolve aplicação?

Essa disciplina faz parte da grade do quarto ano do curso de Informática da EM Dr. Leandro Franceschini. No ano de 2017, o componente curricular terá como foco o estudo de Sistemas Operacionais.

AULA 1 – 16/03/17

Introdução aos Sistemas Operacionais

Definição: Um Sistema Operacional é um software que precisa compreender todos os componentes de um dispositivo computacional, o mesmo podendo ser de grande ou pequeno porte. Ele precisa compreender cada “pedaço” de hardware a fim de otimizar o seu uso. Os SO’s podem ter diferentes finalidades, uma vez que serão empregados em dispositivos diversos.

Tipos

Monotarefa: processam apenas uma instrução por vez. Não são aceitos comandos simultâneos, ou seja, dois programas não podem rodar ao mesmo tempo
Multitarefa: recebem diversas instruções ao mesmo tempo. Vários programas podem ser executados ao mesmo tempo. Além de diversos comando e tarefas, são aceitos multiusuários.
Multi processadores: Sistemas que gerenciam mais de um processador por vez. Conseguem administrar melhor o desempenho de cada processador.

Atividades

  1. Levante exemplos de sistemas monotarefa, multitarefa e multi processadores
  2. Dos sistemas mencionados acima, quais ainda estão em operação?
  3. Em que modelos de negócios esses sistemas foram ou ainda são aplicados?

Entrega:
Data:
23/03/2017

AULA 2 – Visão de um Sistema Operacional – 23/03/2017

Máquina de Camadas

O computador pode ser compreendido como uma máquina de níveis, é o que chamamos de visão modular. Dessa forma, um computador possui tantos níveis quanto forem necessários para adequar o usuário às suas diversas aplicações:

  • Hardware: nível 0
  • Software: nível 1

Histórico

AULA 3 – ANÁLISE APROFUNDADA – 23/03/2017

Monoprogramável/Monotarefa

Características:

  • Primeiros Sistemas Operacionais (1960)
  • Executam um único programa
  • Permitem que o processador, a memória e os periféricos fiquem dedicados à execução de um único programa

Funcionamento: enquanto um programa aguarda por um evento (exemplo, digitação de um dado), o processador permanece ocioso. A memória é subutilizada caso o programa não a preencha totalmente e os periféricos estão dedicados a um único usuário, nem sempre utilizados de forma integral.

Vantagens:

  • Simples implementação;
  • Sem problemas decorrentes do compartilhamento de recursos (memória, processador e periféricos).

Desvantagens:

  • Subutilização de recursos (memória, processador e periféricos)

MULTIPROGRAMÁVEIS / MULTITAREFA

Características:

  • Evolução dos Monoprogramáveis;
  • Recursos computacionais compartilhados entre os usuários e aplicações.

Gerência de acesso concorrente: enquanto um programa espera por uma operação de leitura ou gravação em disco, outros programas podem estar sendo processados nesse mesmo intervalo de tempo (memória e processador).

Vantagens:

  • redução custos pelo compartilhamento de recursos entre as diferentes aplicações;
  • redução total do tempo de execução das aplicações.

Desvantagem:

  • apesar de mais eficientes que os monoprogramáveis, são de implementação muito mais complexa

AULA  4 – VISÃO APROFUNDADA PARTE II

Multiprogramáveis (Monousuário/Multiusuário)

Tipos de sistemas multiprogramáveis em função do número de usuários:

  • Monousuário:

₋Apenas um usuário interage com o sistema;

₋Encontrados em computadores pessoais e estações de trabalho (Workstation1).

  • Multiusuário:

₋Ambientes interativos que possibilitam a diversos usuários conectarem-se ao sistema simultaneamente.

Classificação dos Sistemas Multiprogramáveis

SISTEMAS BATCH

  • Primeiros sistemas multiprogramáveis a serem implementados na década de 1960;
  • Usavam cartão perfurado para execução dos programas (Jobs) e armazenavam o resultado em discos ou fitas para posterior execução;
  • Não exigiam a interação do usuário com a aplicação;
  • Aplicados a cálculos numéricos, compilações, ordenações e backups;
  • Atualmente, Sistemas Operacionais implementam ou simulam o processamento em batch, não existindo sistemas exclusivamente dedicados a este tipo de processamento.

Sistemas de Tempo Compartilhado (time-sharing)

  • Permitem que diversos programas sejam executados a partir da divisão do tempo do processador em fatias de tempo (time-slice)
  • Cada usuário tem um ambiente de trabalho, dando a impressão de que o sistema é dedicado
  • Permitem interação dos usuários através de terminais (vídeo, teclado, mouse, etc)
  • Linguagem de controle (comunicação através de comandos – sistemas online)
  • A maioria das aplicações comerciais é processada em sistemas time-sharing (tempo de resposta curto menores custos devido ao compartilhamento de recursos)

Sistemas de Tempo Real (Real Time)

  • Critério de execução: prioridade
  • Um programa utiliza o processador o tempo que for necessário ou até que apareça outro mais prioritário, no entanto, a importância ou prioridade de execução é definida pela própria aplicação
  • Presentes em controle de processos (monitoramento de refinarias de petróleo, controle de tráfego aéreo, de usinas termoelétricas, ou em qualquer aplicação onde o tempo de processamento é fator fundamental

AULA 4 – 03/04

Sistemas com Múltiplos Processadores

  • Duas ou mais UCPs (Unidades Centrais de Processamentos) interligadas e trabalhando em conjunto
  • Vantagem: permite que vários programas sejam executados ao mesmo tempo ou que um mesmo programa seja subdividido em partes para serem executadas simultaneamente em mais de um processador
  • Aplicações: processamento científico (desenvolvimento aeroespacial, prospecção de petróleo, simulações, processamento de imagens e CAD)
  • Vantagens:
    • Escalabilidade: capacidade de ampliar o poder computacional do sistema apenas adicionando novos processadores
    • Disponibilidade: capacidade de manter o sistema em operação mesmo em casos de falhas. Se um processador falhar, outro assume suas funções de maneira transparente ao usuário e suas aplicações
    • Balanceamento de carga: distribuição do processamento entre os processadores

Atividade 17/04/2017

De acordo com exposto a respeito de Sistemas de Múltiplos Processadores, levante:

  1. Principais Sistemas com esse perfil
  2.  Apresente onde a escalabilidade, disponibilidade e o balanceamento de cargo auxiliam o funcionamento do Sistema.

2º Bimestre

Aula 1 – 08/05

Introdução ao Linux

O Linux é um UNIX de distribuição livre para PCs baseados em processadores 386/486/Pentium. Ele foi primeiramente desenvolvido para PCs baseados em 386/486/Pentium, mas atualmente também roda em computadores Alpha da DEC, Sparcs da SUN, máquinas M68000 (semelhantes a Atari e Amiga), MIPS e PowerPCs.

O Linux está disponível na forma de código objeto, bem como em código fonte, sendo distribuído nos termos da GNU General Public License.  O Linux possui todos as características que você pode esperar de um UNIX moderno, incluindo:

  • Multitarefa real
  • Memória virtual
  • Biblioteca compartilhada
  • “Demand loading”
  • Gerenciamento de memória próprio
  • Rede TCP/IP (incluindo SLIP/PPP/ISDN)
  • X Windows

HISTÓRIA DO LINUX

O Kernel do Linux foi originalmente escrito por Linus Torvalds do Departamento de Ciência da Computação da Universidades de Helsinki, Finlândia, com a ajuda de vários programadores voluntários através da Internet.

No dia 5 de outubro de 1991 Linus Torvalds anunciou a primeira versão “oficial” do Linux, versão 0.02. Desde então muitos programadores têm respondido ao seu chamado, e têm ajudado a fazer do Linux o Sistema Operacional que é hoje.

CONCEITOS BÁSICOS

PARTIÇÕES

Pode-se desejar instalar o Linux em um computador que não contenha nenhum sistema operacional instalado. Neste caso, pode-se usar o sistema de instalação do Linux para criar as partições necessárias.

pode-se instalar o Linux em um disco rígido que já contenha softwares instalados ou com dados de um sistema operacional distinto. Neste caso a criação de partições depende do sistema operacional já instalado.

Usando espaço livre não particionado

Nesta situação, as partições definidas não ampliam o disco rígido inteiro, utilizando-se espaço não alocado, o qual não faz parte de qualquer partição definida. Neste caso, você pode simplesmente criar a partição proveniente do espaço sem uso.

Usando uma partição sem uso

Se já existe uma partição em seu disco mas que nunca foi usada, você pode usar o espaço atribuído à partição em desuso. Você precisará deletar a partição, e criar as partições Linux no seu lugar.

Usando espaço livre de uma partição ativa

Você tem um disco rígido que já tem um sistema rodando ou alguma tarefa à ela atribuída. Você pode Recriar Partições de Forma Destrutiva ou não Destrutiva

Atividade 1

  1. O que quer dizer Recriar Partições de Forma Destrutiva e de Forma Não-Destrutiva?
  2. O que são partições de swap, root e usr?

Aula 2 – 15/05

Nessa aula, serão estudados os componentes de um computador desde sua estrutura física até sua parte lógica.

SO_AULA_02

Atividade 2 – 29/05/2017

Faça um levantamento do perfil de três modelos atuais de processadores das seguintes famílias:

  • Intel
  • AMD
  • Processadores para dispositivos móveis

Analise os seguintes aspectos:

  • Registradores
  • Memória Cache
  • GPU/CPUQuestões de fixação
    1.Quais são as unidades funcionais de um sistema computacional?2.Quais os componentes de um processador e quais são suas funções?3.Como a memória principal de um computador é organizada?4.Descreva os ciclos de leitura e gravação da memória principal.

    5.Qual o número máximo de células endereçadas em arquiteturas com MAR de 16, 32 e 64 bits?

3° Bimestre

Aula 1

Nessa aula serão abordados os conceitos de Concorrência em Sistemas Operacionais Mono e Multiprogramáveis. Os créditos da presente aula são do Professor André Luis Alves que gentilmente cedeu suas apresentações.

SO_AULA_03

4º Bimestre

Compiladores

O compilador é um software que tem a função de traduzir o código-fonte desenvolvido pelo programador em um software que possa ser executado diretamente pelo usuário, ou seja, você escreve todo o código-fonte e depois pede para o compilador convertê-lo em um programa. Uma vez tendo o programa em mãos, você pode distribuí-lo aos amigos, instalá-lo em uma empresa etc.

Quando um programador desenvolve um software por meio de um códigofonte, ele necessita converter esse código para uma linguagem de máquina, ou seja, que a máquina entenda. Para isso, usa-se um tradutor, que é um utilitário com a função de facilitar a vida do programador, convertendo o código desenvolvido em uma linguagem de alto nível (entendida mais facilmente pelo programador) em uma linguagem de máquina (entendida pelo computador). Dependendo da linguagem utilizada pelo programador, o tradutor pode ser de um destes dois tipos:

• Montador

• Compilador:

Atividade

Diferencie um montador de um compilador e dê dois exemplos de cada um deles.

SO_AULA_04

O que é um só multitarefa qual o seu principal benefício?

Quando um sistema operacional permite a execução de mais de um programa ao mesmo tempo, ele é chamado de multitarefa e tem de lidar com procedimentos que concorrem quanto à utilização da capacidade de processamento do hardware.

O que é a função multitarefa?

Uma função bastante útil no Android é a multitarefa. Com ela, é possível acessar diversos aplicativos ao mesmo tempo, como se fossem as várias janelas em um computador.

Como funciona um sistema operacional multitarefa?

Um sistema operativo multitarefa permite que o processador consiga executar várias tarefas simultaneamente, ou seja, na ótica do utilizador, possam aparecer várias janelas abertas ao mesmo tempo, correspondentes aos vários programas em execução.

Como o sistema operacional multitarefa executa mais de um processo simultaneamente?

Multitarefa é um método que permite vários processos compartilharem processadores (UCPs) e outros recursos. Cada UCP (núcleo) executa uma única tarefa por vez. Entretanto, a computação multitarefa permite que cada processador comute entre tarefas que estão sendo executadas sem ter que esperar que cada tarefa finalize.

Toplist

Última postagem

Tag