ChrisOS Research ProjectOperating systems · language systems · graphics · machine emulation
DOCUMENTATION ARCHIVEMAIN BRANCH
ChrisOS/Desktop, janelas e aplicações

Desktop, janelas e aplicações

Desktop como integração

Desktop gráfico depende simultaneamente de timer/input, gráficos, lifecycle de tasks, filesystem, runtime e ownership. Por isso open/close repetido de aplicações é workload de integração mais forte que screenshot estático.

Estado de janela

Task/window guarda geometria, lifecycle, focus/z-order e backing. task.c usa tabela finita; slot reutilizado precisa estar completamente limpo.

Composição

ui.c e primitives desenham background, taskbar, ícones, janelas e cursor pelo caminho comum. A arquitetura atual não é um compositor GPU com surfaces independentes por janela; é um modelo menor coerente com o estágio do projeto.

Focus e input

Keyboard/mouse precisam chegar à task correta. Focus e capture fazem parte do contrato. Fechar owner não pode deixar captura global presa.

Aplicações ChrisC

Editor, shell, explorer e task manager exercitam interfaces públicas do runtime. Editor é particularmente relevante para self-hosting porque conecta fonte, filesystem, compile/run e debugger.

Contenção

Fault de processo nativo e fault CLVM são contidos por mecanismos diferentes. Desktop precisa lidar com ambos sem assumir um único modelo de processo.

Responsividade

I/O longo ou compilação no path interativo produz latência visível mesmo sem falha lógica. Avaliação de desktop precisa de latência/frame timing além de throughput.

Aplicações como testes

Apps complexas exercitam filesystem, renderização, input, VM memory, ABI, lifecycle de janelas e cleanup em combinações que testes unitários não cobrem.

Registro do documento ID: desktop-applications Reviewed source: da3df29cb397 Class: technical-chapter