Tp so

Disponível somente no TrabalhosFeitos
  • Páginas : 10 (2251 palavras )
  • Download(s) : 0
  • Publicado : 20 de novembro de 2012
Ler documento completo
Amostra do texto
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
Instituto de Informática - Campus São Gabriel - Curso de Sistemas de
Informação
Sistemas Operacionais (SO) - Professor: Paulo Amaral
LISTA DE EXERCÍCIOS PRÁTICA E LABORATÓRIO 1/07
Ex1:
Fazer
programas
em
e
C
(compilador
gcc
Linux/Unix)
usando
obrigatoriamente através parâmetros na linha de comando p e utilizando na
versão final dosprogramas em C somente funções de biblioteca de E/S
(stdio) do C (como printf, scanf, etc.), não utilize nenhum método de C++
como cin e cout, com as seguintes especificações :
1.1
Pesquisar em um intervalo fechado de números inteiros [MIN ... MAX] , ou
seja,
delimitado
pelos
valores
inteiros
MIN
e
MAX
recebidos
obrigatoriamente através parâmetros na linha de comando (C), e imprimiros números que são simultaneamente ímpar, múltiplo de 7 e não múltiplo de
5.
Exemplo (com: MIN = 2 e MAX = 10):
ENTRADA: ./intervalo.exe 2 10
SAÍDA: 7

#include
int main(int argc,char **argv){
int i = 0;
int min = atoi(argv[1]);
int max = atoi(argv[2]);
printf("SHAWYSON SALVIO, MARCELO VIEIRA, RODRIGO
FARIA, ROBERTA \n\n");
printf("Resultado:");
for(i = min; i 2003) para tratar deprocessos e threads (comunicação, gerenciamento e sincronização).
Dicas para o Linux: livro-texto, Livro ALP, manuais e ajudas do Linux:
man 2 intro > intro.sc ( No PUX ou Linux local) man 2 syscalls >
syscalls.txt ( No PUX ou Linux local) Dicas para o Windows: livro-texto e
manuais e ajudas do Borland C++ Builder e Windows.

Tipos de Chamadas de sistemas para Processos no Linux
Na maioriados casos não é necessário invocar chamadas de sistemas
diretamente, mas podem haver situações onde a biblioteca padrão não
implementa uma boa função para você. Neste caso o programador deve
manualmente invocar uma chamada de sistema, usando qualquer uma das
macros do de chamadas de sistema ou a função syscall().
Exemplo:
#include
A _syscall macro
Chamada de sistema desejadaConfiguração: é importante saber que chamadas de sistema é um
protótipo.Você precisa saber como sobre muitos argumentos, relativos a
seus tipos e as funções de retorno do tipo.
Existem seis macros de chamadas de sistemas que pode fazer chamadas para
um sistema facilmente. Uma das formas:
_syscallX(type,name,type1,arg1,type2,arg2,...)
- Onde X varia de 1 a 5, e dado o número de elementos as serem usadosna
sua
chamada.
- type : o retorno do tipo da chamada de sistema .
- name : nome da chamada de sistema
- typeN : é o tipo do argumento
-

argN : é o nome do tipo de argumento

Esses macros criam uma função pelo nome a qual foi chamado, com os
argumentos que você especificar.Uma vez que você inclui a _syscall no seu
arquivo fonte, você ira realizar uma chamada de sistema pelo nome quevocê definir.
Tipos de chamadas de sistemas de processos em Windows
O Windows NT permite a execução de aplicações escritas para outros
sistemas operacionais, cujo suporte é feito a partir de subsistemas que
são implementados como processos separados e fornecem um ambiente de
execução compatível com a aplicações. Tal ambiente é composto por uma
interface gráfica, um interpretador de comandos,uma interface de
programação compatível com as chamadas do sistema implementado pelo
subsistema. A estrutura do Windows NT divide-se em duas partes. A
primeira é o modo usuário, onde se localizam os subsistemas protegidos,
que residem em processos separados e interagem uns com os outros através
do LPC (Local Procedure Call), um mecanismo de trocas de mensagens. A
segunda é o modo kernel (oexecutivo), onde rodam os componentes que
necessitam desempenho e por isso não se sujeitam a trocas de contexto e
de modo em sua interação uns com os outros ou com o hardware.

Thread Synchronization no Linux
Bibliotecas de threads provem três tipos de mecanismos de sincronismos:
Mutexes : exclusão mutua de desbloqueio : ele enforca acesso exclusivo
por uma thread para variáveis ou uma...
tracking img