(Parte 1 de 6)

Algoritmo e Lógica de Programação

2004 ALESSANDRO J. DE SOUZA

Natal/RN 01 de janeiro de 2004

Material didático elaborado na atividade de Estágio Docente I sob a orientação e supervisão dos Professores Dr. Luiz Marcos Garcia Gonçalves e Luiz Affonso Henderson Guedes de Oliveira.

UFRN/CT/DCA - Apostila de Algoritmo e Lógica de Programação - Última impressão 19/04/2004

APRESENTAÇÃO4
PARTE I – NOÇÕES DE INFORMÁTICA5
CAPÍTULO 4 - NOÇÕES DE SISTEMAS OPERACIONAIS5
4.1 INTRODUÇÃO5
4.2 ENTENDENDO O SISTEMA OPERACIONAL5
4.3 EVOLUÇÃO HISTÓRICA DOS SISTEMAS OPERACIONAIS7
4.4 ESTRUTURA DO SISTEMA OPERACIONAL7
4.4.1 SISTEMAS MONOLÍTICOS:8
4.4.2. SISTEMAS EM CAMADAS9
4.4.3 SISTEMAS CLIENTE-SERVIDOR10
4.5 ESQUEMA GERAL DE UM SISTEMA OPERACIONAL1
4.5.1 PROGRAMAS DE CONTROLE1
4.5.1.1 GERENCIAMENTO DE DADOS1
4.5.1.2 GERENCIAMENTO DE TRABALHOS/SERVIÇOS1
4.5.1.3 GERENCIAMENTO DO SISTEMA12
4.5.2 PROGRAMA DE PROCESSO12
4.5.2.1 PROGRAMAS TRADUTORES12
4.5.2.2 PROGRAMAS UTILITÁRIOS12
4.5.3 PROCESSO DE COMPILAÇÃO12
4.6 SYSTEM CALLS13
4.7 MODOS DE ACESSO13
4.8. GERÊNCIA DE DISPOSITIVOS DE E/S14
4.9. CARACTERÍSTICAS DE ALGUNS SISTEMAS OPERACIONAIS16
4.9.1 - SISTEMA DOS16
4.9.1.1 - PRINCIPAIS CARACTERÍSTICAS1 6
4.9.1.2 - ESTRUTURA INTERNA17
4.9.1.3 - MODOS DE OPERAÇÃO17

SUMÁRIO 4.9.1.4 - GERÊNCIA DE ARQUIVO .................................................................................................. ........ 17

UFRN/CT/DCA - Apostila de Algoritmo e Lógica de Programação - Última impressão 19/04/2004

4.9.1.5 - GERÊNCIA DE MEMÓRIA18
4.9.2 - SISTEMA UNIX19
4.9.2.1 - PRINCIPAIS CARACTERÍSTICAS1 9
4.9.2.2 - ESTRUTURA INTERNA20
4.9.2.3 - GERÊNCIA DE ARQUIVOS20
4.9.3 - SISTEMA OPERACIONAL NETWARE21
4.9.3.1- TIPOS DE USUÁRIOS DA REDE:21
4.9.3.2 - REGRAS DE PROTEÇÃO:21
4.9.3.3 - REALIZANDO A CONEXÃO2
4.9.4 – WINDOWS NT (VISÃO GERAL)23
4.9.5 – WINDOWS 2000 (VISÃO GERAL)23
4.10 BIBLIOGRAFIA24

3 LISTA DE EXERÍCIOS ............................................................................................................. .................. 25

UFRN/CT/DCA - Apostila de Algoritmo e Lógica de Programação - Última impressão 19/04/2004

O presente trabalho foi motivado pela falta de texto relacionado às condições e necessidades do curso Algoritmos e Lógica de Programação.

O objetivo principal da Lógica de Programação é demonstrar técnicas para resolução de problemas e conseqüentemente automatização de tarefas, além de Fornecer noções de informática, desenvolvimento de algoritmos estruturados e suas implementações em linguagem de programação estruturada.

O aprendizado da Lógica é essencial para formação de um bom programador, servindo como base para o aprendizado de todas as linguagens de programação, estruturadas ou não.

De um modo geral esses conhecimentos serão de supra importância, pois ajudarão no cotidiano, desenvolvendo um raciocínio rápido.

Partindo do princípio que “a única coisa constante no mundo é a mudança”, fornecemos abaixo um endereço eletrônico para que o leitor possa nos ajudar, enviando críticas, elogios ou sugestões que servirão para o eterno aprimoramento desse trabalho.

affonso@dca.ufrn.br w.dca.ufrn.br/~affonso

UFRN/CT/DCA - Apostila de Algoritmo e Lógica de Programação - Última impressão 19/04/2004

CAPÍTULO 4 - Noções de Sistemas Operacionais

4.1 Introdução

Para que o hardware ou parte física de um computador possa funcionar faz-se necessário um conjunto de regras e ordens que coordenem todos os processos realizados. Tal conjunto é denominado software ou parte não material do sistema. Graças ao software (integrado por uma enorme quantidade de programas que interagem entre si) todos os recursos podem ser utilizados em qualquer sistema informático.

Todo o conjunto de programas que compõem o software pode ser dividido em dois grupos bem diferenciados: 1. Software básico: conjunto de programas imprescindíveis para o funcionamento do sistema. 2. Software aplicativo. Conjunto de programas a serem utilizados pelo usuário. Neste capítulo estudaremos apenas o software básico ou de sistema, criado pela empresa fabricante para os seus computadores. Vamos nos referir a esse software como sistema operacional.

4.2 Entendendo o Sistema Operacional

O Sistema Operacional (SO) gerencia os recursos (hardware e software) do computador, disponibilizando-os de maneira amigável ao usuário. O SO tem como objetivo colocar uma camada de software sobre o hardware para gerenciar todas as partes do sistema e apresentá-las ao usuário como uma interface, uma abstração, uma máquina mais fácil de entender e programar. É o Sistema Operacional que controla todos os recursos do computador, e fornece a base sobre a qual os programas aplicativos são escritos.

A função do Sistema Operacional é a de fornecer um esquema de alocação dos recursos: processadores, memórias, dispositivos de entrada e saída entre os vários processos que competem pela utilização de tais recursos:

Esquema 1: Processos competindo pelo programa Programa

Processo 1Processo 2 Processo 3

Um processo é basicamente um programa em execução divididos em etapas: 1. Código executável e dados referentes ao código; 2. Pilha de execução; 3. Valor dos registradores do hardware;

UFRN/CT/DCA - Apostila de Algoritmo e Lógica de Programação - Última impressão 19/04/2004

4. E o conjunto de informações necessárias a execução do programa.

Esses processos competem aos recursos, e o SO deve garantir a cada processo: 1. Uma quantidade de memória; 2. O uso da CPU; 3. O acesso aos dispositivos; 4. O controle do fluxo de dados; 5. A localização dos arquivos necessários;

O SO não permite que um processo altere os dados de um outro arquivo. Um SO deve ter:

• Consistência - tempo necessário para realizar as tarefas;

• Flexibilidade - permite a inclusão de novos periféricos;

• Portabilidade - pode ser executado em vários computadores.

A seleção do SO a ser usado varia de acordo com o ambiente para o qual foi projetado.

O Sistema Operacional deve ser adaptado ás características do hardware assim como as linguagens de programação e as ferramentas do usuário final devem ser adaptados ao Sistema Operacional.

Conhecer o Sistema Operacional pode ajudar a resolver alguns problemas que a princípio nos parecem complicados. Além disso, possui utilitários especiais para a formatação de discos, listagens em vídeo/impressora, criação/copia/exclusão e alterações de arquivos.

Podemos dizer que o Sistema 0peracional é um conjunto de rotinas, ou seja, uma lista de instruções passadas para o microprocessador com a finalidade promover a comunicação do usuário com o hardware. Exemplos de SO:

• MS-DOS - Microsoft Corporation (monousuário e multitarefa);

• VAX/VMS – SO VAX da DEC (multiusuário e multitarefa);

• OS/2 – Microsoft Corporation (Interface gráfica e Multitarefa);

Os Sistemas Operacionais podem ser classificados em:

I. Monousuário – Single - Tasking: não admite ser usado por mais de um usuário simultaneamente, gerenciando uma mesma CPU. O MS-DOS, da Microsoft é o SO monousuário mais utilizado até hoje.

I. Multiusuário: um SO é classificado como multiusuário quando consegue disponibilizar a mesma CPU para mais de um usuário, ao mesmo tempo, através de terminais ligados ao computador. São exemplos de SO multiusuário: UNIX, VMS, MS VS, G-COS, etc.

I. Multitarefa - Multitasking: usuário executa mais de uma tarefa de cada vez; permite que dois programas alterne o uso da CPU e de outros recursos. São exemplos de SO: Windows 95 da Microsoft, OS-2 da IBM, o DOS 7 da Novell, Windows NT da Microsoft.

Muitos SO implementam a interface entre o usuário e o computador como uma série de camadas:

Esquema 2: Camadas do SO Usuário

UFRN/CT/DCA - Apostila de Algoritmo e Lógica de Programação - Última impressão 19/04/2004

Interpretador de Programas

Utilitários Núcleo - Kernel

Hardware

4.3 Evolução Histórica dos Sistemas Operacionais

A evolução dos sistemas operacionais foi uma conseqüência dos avanços ocorridos no hardware dos computadores; em função disso, logicamente há de se falar em três níveis de gerações de sistemas operacionais.

O primeiro nível integrado pelos sistemas operacionais básicos, surgidos nos anos cinqüenta e seu objetivo limitava-se a auxiliar os programas nas operações de entrada e saída e na tradução nos programas fonte, escritos em linguagem pouco evoluídas.

O segundo nível esteve disponível na década de 60 e a sua ajuda à programação foi mais decisiva, proporcionando tradutores simbólicos mais evoluídos, programas de serviços para transferência de informação entre periféricos e programas de controle de entrada e saída, ou seja, os famosos IOCS( Input Output Control System).

(Parte 1 de 6)

Comentários