Skip to content

Implement task lifecycle cleanup for scheduler #18

@archan0621

Description

@archan0621

목표

현재 스케줄러는 timer IRQ 기반 round-robin 전환까지 동작하지만, 태스크 종료 이후 생명주기 처리가 아직 완성되지 않았습니다.

작업 내용

  • task entry가 반환될 때 명시적으로 task 종료 상태로 전환
  • 종료된 task를 scheduler가 다시 ready queue에 넣지 않도록 처리
  • 종료된 task의 PCB/kernel stack을 안전하게 회수하는 reaper 흐름 추가
  • ready queue가 비었을 때 커널 idle loop에서 종료 task 정리

기대 결과

  • task 함수가 반환되어도 잘못된 return address로 커널이 깨지지 않음
  • 종료된 task가 다시 스케줄링되지 않음
  • scheduler demo 이후 task lifecycle 확장 기반 확보

테스트

  • make 빌드 확인
  • QEMU에서 round-robin scheduler 동작 유지 확인

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions