# OS/400

IBM i (previamente i5/OS ou OS/400) é um sistema operativo desenvolvido pela IBM Corporation e utilizado pela primeira vez em 1988 nos sistemas AS/400. O novo nome, IBM i, foi revelado a 2 de Abril de 2008.
O OS/400, i5/OS e IBM i têm um subsistema integrado que providencia compatibilidade com as versões antigas dos sistemas IBM, tais como as séries IBM System/36 e IBM System/38.
A 25 de Fevereiro de 2005, a Zend Technologies e a IBM anunciaram uma parceria estratégica para a inclusão da linguagem de programação PHP nos seus sistemas. Em 2007, a IBM, a Zend Technologies e a MySQL AB anunciaram o suporte na plataforma IBM i para a linguagem de programação PHP e a base de dados open source MySQL.
IBM i é um dos três sistemas operativos com suporte nos IBM Power Systems, juntamente com AIX e Linux.

## Características

* Baseado em objectos: é um sistema operativo baseado em objectos que podem ser “modelados", ou seja, torna o sistema operativo independente do hardware o que lhe permite que a sua utilização em sistemas diferentes seja possível sem a sua compilação. Exemplos de tipos de objectos são: directórios, perfil de utilizadores, livrarias, descrições de dispositivos, etc…
* Flexibilidade de aplicações: suporta aplicações de outros sistemas operativos, por exemplo do Linux, do Windows, do NT2000, do UNIX, etc.
* Multiutilizador e multitarefa: permite vários utilizadores em sessão simultânea, bem como várias tarefas.
* Linha de comandos CL (Linguagem de controlo): este sistema operativo possui uma linha de comandos com comandos próprios designados por Control Languages (CL)
** · CRT - create
** · DEL - delete
** · WRK - work
** · CHG - change
** ·RNM - Rename
* Integridade e segurança: possui cinco níveis de segurança que tornam este sistema operativo seguro e fiável.
* SO primário dividido em duas partes: está dividido em duas partições o que permite a instalação e execução de outros sistemas operativos, sem que estes entrem em conflito dado que este sistema operativo consegue distribuir os seus recursos (memória interna, espaço em disco e tempo de processamento).
* Armazenamento num único plano: a informação é armazenada na mesma estrutura o que torna mais fácil e rápido o acesso à informação.

## Funções

* Control Language – conjunto de comandos utilizados para gerir e navegar no sistema.
* Data Management – permite ao utilizador consultar e administrar informação.
* Work management – permite executar várias tarefas ou trabalhos em simultâneo.
* Programmer services – fornecem a sustentação para fazer desenvolvimento de programas.
* System operator services – o operador de sistema presta serviço de manutenção.
* Communication support – o programa OS/400 suporta uma larga escala de funções de comunicação que permite que o seu sistema AS/400 comunique com outros sistemas.
* Security – o sistema implementa um conjunto de elementos que garantem a segurança dos dados e dos recursos.

## Níveis de segurança

* GO SECURITY – comando de verificação do nível de segurança implementado no sistema.
* Nível 10 – tem acesso total ao sistema sem recorrer a palavra-passe. Este nível já não é utilizado.
* Nível 20 – é necessário a introdução de palavra-passe e dá acesso a todos os recursos do sistema.
* Nível 30 – requer palavra-passe para iniciar sessão e os utilizadores têm de possuir permissões para ter acesso a objectos e recursos do sistema.
* Nível 40 - requer palavra-passe para iniciar sessão e os utilizadores têm de possuir permissões para ter acesso a objectos e recursos do sistema. Os programas falham se tentarem ter acesso a objectos através de interfaces não suportadas.
* Nível 50 - requer palavra-passe para iniciar sessão e os utilizadores têm de possuir permissões para ter acesso a objectos e recursos do sistema. Os programas falham se tentarem passar valores de parâmetros não suportados para interfaces suportadas ou se tentarem ter acesso a objectos através de interfaces não suportadas.

## Outros Comandos CL

* CHGCURLIB – Alterar a Biblioteca corrente
* EDTLIBL – Editar Lista de Bibliotecas
* DLTLIB – Eliminar Biblioteca
** CRTLIB – Criar Biblioteca
** ADDLIBLE – Adicionar Entrada de Lista de Biblioteca
** RMVLIBLE – Remover Entrada da Lista de Biblioteca

## Lista de comandos para Processos

* WRKACTJOB – Trabalhar com processos/ trabalhos activos
* WRKJOB – Trabalhar com trabalho
* WRKSBSJOB – Trabalhar com trabalhos de subsistema
* WRKSBMJOB – Trabalhar com trabalhos submetidos
* WRKUSRJOB – Trabalhar com trabalhos de utilizador
* CHGSYSJOB – Alterar o sistema de trabalho
* CHGJOB – Alterar trabalho
* WRKRDR – Trabalhar com Leitor
* WRKWTR – Trabalhar com Escritor
* WLSJOB – Libertar Trabalho
* RLSJOB – Libertar trabalho se estiver na condição de retido
* RLSRDR – Libertar Leitor
* RLSWRT – Libertar Escritor
* SBMJOB – Submeter Trabalho
* HLDJOB – Reter Trabalho
* SPLFILE - Reter Ficheiros em Spool
* HLDRDR – Reter Leitor
* HLDWTR – Reter Escritor
* ENDJOB – Terminar trabalho
* ENDRDR – Terminar leitor
* ENDWTR – Terminar escritor