Chamadas de sistema linux

Disponível somente no TrabalhosFeitos
  • Páginas : 14 (3439 palavras )
  • Download(s) : 0
  • Publicado : 3 de abril de 2012
Ler documento completo
Amostra do texto
Chamadas de Sistema em Linux
Pedro Henrique Soares de Almeida
Universidade Tecnológica Federal do Paraná (UTF-PR) Av. Monteiro Lobato, s/n, km 4, Caixa Postal 20 - Ponta Grossa – PR – Brasil Telefone Geral +55 (42) 3220-4800
pedrohenrique_rock@hotmail.com
Abstract. This article aims to describe the operation of some system calls implemented in Linux operating system Ubuntu 10.10. A systemcall is the mechanism used by the program to request a service from the operating system kernel. Calls described here were focused on four categories: memory management, process management, management of I / O (Input / Output) and file management.
Resumo. Este artigo tem por objetivo descrever o funcionamento de algumas chamadas de sistema implementadas no Sistema Operacional Linux Ubuntu 10.10. Umachamada de sistema é o mecanismo usado pelo programa para requisitar um serviço do núcleo do sistema operacional. As chamadas aqui descritas foram focalizadas em quatro categorias: gerenciamento de memória, gerenciamento de processos, gerenciamento de E/S (Entrada e Saída) e gerenciamento de arquivos.
1. Introdução
Uma chamada de sistema (system call) é o mecanismo usado pelo programa pararequisitar um serviço do sistema operacional, ou mais especificamente, do núcleo do sistema operacional. [Oliveira 2006].
Ela é implementada no kernel do Linux. Quando um programa faz uma chamada de sistema, os argumentos são empacotados e entregues para o kernel, que assume a execução do programa até que a chamada seja concluída. Uma chamada de sistema não é uma chamada de função normal, e umprocedimento especial é necessário para transferir o controle para o kernel. [Mitchell, Oldham e Samuel 2001].
O conjunto de chamadas de sistema Linux faz a interface mais básica entre os programas e o kernel. O Linux possui centenas de chamadas ao sistema, se aproximando das 300. Cada uma apresenta um funcionamento básico ou capacidade. [Mitchell, Oldham e Samuel 2001].
Algumas chamadas de sistemasão muito poderosas e podem exercer grande influência sobre o sistema. Essas chamadas têm a restrição de que somente os processos executados com privilégios de superusuário podem invocá-las. [Mitchell, Oldham e Samuel 2001].
Este artigo teve como objetivo geral a implementação de algumas chamadas ao sistema voltadas para gerenciamento de memória, gerenciamento de processos, gerenciamento de entradae saída (E/S) e gerenciamento de arquivos.
Foram implementadas duas primitivas de chamadas ao sistema em cada categoria através de programas em linguagem C, de modo a exemplificar o funcionamento de cada uma delas.
2. Fundamentos Teóricos Parte 1
Abaixo seguem as chamadas de sistema implementadas neste artigo, com um breve resumo sobre o funcionamento de cada uma delas:
2.1 Gerenciamento deMemória
 mlock() - Chamada ao sistema que permite a um programa bloquear alguns ou todos os seus espaços de endereço na memória. Possui dois argumentos. O primeiro é o local a ser bloqueado e o segundo é o tamanho do bloqueio. [Mitchell, Oldham e Samuel 2001].
 munlock() - Chamada ao sistema inversa a chamada mlock(). Ela desbloqueia os espaços de endereço na memória bloqueados pela mesma. Osargumentos são os mesmos usados na chamada mlock(). [Mitchell, Oldham e Samuel 2001].
2.2 Gerenciamento de Processos
 exit() - Chamada ao sistema que encerra o processo em execução. Possui apenas um argumento, o qual indicará se o processo será encerrado corretamente ou erroneamente. [Santos e Kellermann 2000].
 kill() - Chamada ao sistema que mata um processo indicado pelo usuário. Seuprimeiro argumento é o PID do processo e o segundo é o sinal que será enviado indicando se esse processo deve ou não ser morto imediatamente. [Santos e Kellermann 2000].
2.3 Gerenciamento de Entrada e Saída (E/S)
 write() - Chamada ao sistema que escreve um buffer de dados. Possui três argumentos. O primeiro é um descritor de arquivo válido, o segundo é o tamanho do buffer (representado por uma...
tracking img