Chamada do sistema no sistema operacional (OperaSistema de ting): O que é, tipos e exemplos
O que é chamada de sistema Operasistema?
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.

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:
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?
A seguir estã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
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
- Espere e Signal Evento
- 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 de dispositivos, como leitura de buffers de dispositivos, gravação em buffers de dispositivos, 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() InicializarSegurançaDescriptou() Definir segurançaDescriptouGrupo() |
Chmod() Umask() Chown() |