Chamada de sistema no sistema operacional (sistema operacional): o que é, tipos e exemplos

O que é chamada de sistema no sistema operacional?

A chamada do sistema é um mecanismo que fornece a interface entre um processo e o sistema operacional. É um método programático no qual um programa de computador solicita um serviço do kernel do sistema operacional.

A chamada do sistema oferece os serviços do sistema operacional aos programas do usuário via API (Application Programming Interface). As chamadas do sistema são os únicos pontos de entrada para o sistema kernel.

Chamadas de sistema no sistema operacional
Chamadas de sistema no sistema operacional

Exemplo de chamada de sistema

Por exemplo, se precisarmos escrever um código de programa para ler dados de um arquivo, copie esses dados para outro arquivo. A primeira informação que o programa requer é o nome dos dois arquivos, os arquivos de entrada e de saída.

Em um sistema interativo, este tipo de execução de programa requer algumas chamadas de sistema pelo sistema operacional.

  • A primeira chamada é escrever uma mensagem de aviso na tela
  • Segundo, para ler no teclado os caracteres que definem os dois arquivos.

Como funciona a chamada do sistema?

Aqui estão as etapas para chamada do sistema no sistema operacional:

Chamada do sistema funciona

Archiarquitetura da chamada do sistema

Archiarquitetura da chamada do sistema

Como você pode ver no diagrama de exemplo de chamada do sistema fornecido acima.

Passo 1) Os processos executados no modo usuário até o momento em que uma chamada do sistema o interrompe.

Passo 2) Depois disso, a chamada do sistema é executada no modo kernel com prioridade.

Passo 3) Terminada a execução da chamada do sistema, o controle retorna ao modo de usuário.,

Passo 4) A execução dos processos do usuário foi retomada em Modo kernel.

Por que você precisa de chamadas de sistema no sistema operacional?

Following são situações que precisam de chamadas de sistema no sistema operacional:

  • Ler e gravar arquivos exige chamadas do sistema.
  • Se um sistema de arquivos quiser criar ou excluir arquivos, serão necessárias chamadas de sistema.
  • As chamadas de sistema são utilizadas para a criação e gerenciamento de novos processos.
  • As conexões de rede precisam de chamadas de sistema para enviar e receber pacotes.
  • O acesso a dispositivos de hardware como scanner, impressora, precisa de uma chamada de sistema.

Tipos de chamadas do sistema

Aqui estão os cinco tipos de chamadas de sistema no sistema operacional:

  • Controlo do processo
  • Gerenciador de arquivos
  • Device Management
  • Manutenção de informações
  • Comunicações
Tipos de chamadas do sistema

Tipos de chamadas de sistema no sistema operacional

Controlo do processo

Essas chamadas de sistema executam a tarefa de criação de processo, encerramento de processo, etc.

Funções:

  • Terminar e abortar
  • Carregar e executar
  • Criar processo e encerrar processo
  • Evento de espera e sinal
  • Alocar e liberar memória

Gerenciador de arquivos

As chamadas do sistema de gerenciamento de arquivos lidam com tarefas de manipulação de arquivos, como criação de um arquivo, leitura e gravação, etc.

Funções:

  • Crie um arquivo
  • Excluir arquivo
  • Abrir e fechar arquivo
  • Ler, escrever e reposicionar
  • Obtenha e defina atributos de arquivo

Device Management

O gerenciamento de dispositivos faz o trabalho de manipulação do dispositivo, como a leitura do dispositivo buffers, escrevendo no dispositivo buffers, etc.

Funções:

  • Solicitar e liberar dispositivo
  • Conectar/desconectar dispositivos logicamente
  • Obter e definir atributos do dispositivo

Manutenção de informações

Ele lida com informações e sua transferência entre o sistema operacional e o programa do usuário.

Funções:

  • Obtenha ou defina hora e data
  • Obtenha atributos de processo e dispositivo

Comunicação

Esses tipos de chamadas de sistema são usados ​​especialmente para comunicações entre processos.

Funções:

  • Criar, excluir conexões de comunicação
  • Enviar, receber mensagem
  • Ajude o sistema operacional a transferir informações de status
  • Anexe ou desconecte dispositivos remotos

Regras para passar parâmetros para chamada de sistema

Aqui estão as regras gerais para passar parâmetros para a chamada do sistema:

  • Os parâmetros devem ser inseridos ou retirados da pilha pelo sistema operacional.
  • Os parâmetros podem ser passados ​​em registradores.
  • Quando houver mais parâmetros do que registros, ele deverá ser armazenado em um bloco, e o endereço do bloco deverá ser passado como parâmetro para um registro.

Chamadas importantes do sistema usadas no sistema operacional

esperar()

Em alguns sistemas, um processo precisa esperar que outro processo conclua sua execução. Esse tipo de situação ocorre quando um processo pai cria um processo filho e a execução do processo pai permanece suspensa até que seu processo filho seja executado.

A suspensão do processo pai ocorre automaticamente com uma chamada de sistema wait(). Quando o processo filho termina a execução, o controle volta para o processo pai.

garfo()

Os processos usam esta chamada de sistema para criar processos que são uma cópia de si mesmos. Com a ajuda deste sistema, Call parent process cria um processo filho, e a execução do processo pai será suspensa até que o processo filho seja executado.

exec ()

Esta chamada de sistema é executada quando um arquivo executável no contexto de um processo já em execução substitui o arquivo executável mais antigo. No entanto, o identificador do processo original permanece, pois um novo processo não é construído, mas a pilha, os dados, o cabeçalho, os dados, etc. são substituídos pelo novo processo.

matar()

A chamada de sistema kill() é usada pelo sistema operacional para enviar um sinal de encerramento a um processo que solicita a saída do processo. No entanto, uma chamada de sistema kill não significa necessariamente encerrar o processo e pode ter vários significados.

Saída()

A chamada de sistema exit() é usada para encerrar a execução do programa. Especialmente no ambiente multithread, esta chamada define que a execução do thread está completa. O sistema operacional recupera recursos que foram usados ​​pelo processo após o uso da chamada de sistema exit().

Resumo

Categorias Windows Unix
Controlo do processo CreateProcess ()
SairProcesso()
WaitForSingleObject()
garfo()
Saída()
esperar()
Manipulação de dispositivo SetConsoleMode()
LerConsole()
WriteConsole()
local ()
read ()
write ()
Manipulação de arquivos CreateFile ()
ReadFile ()
WriteFile ()
CloseHandle ()
Abrir()
Leitura()
write ()
fechar!)
Manutenção de informações ObterCurrentProcessID()
Definir temporizador()
Dorme()
getpid ()
alarme()
dormir()
Comunicação CreatePipe ()
CreateFileMapping()
MapViewOfFile()
Cano()
shm_open()
mmap ()
pós-colheita SetFileSegurança()
InicializarSecurityDescriptor()
SetSecurityDescriptorGroup()
Chmod()
Umask()
Chown()