Skip to content

Greenapple0101/cse4100

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

📘 `README.md'

# CSE4100: Systems Programming - Project Repository

이 레포지토리는 서강대학교 `CSE4100 시스템 프로그래밍` 수업의 프로젝트 과제들을 정리한 공간입니다.


## 📁 폴더 구조
cse4100/
├── phase1/                # Phase 1: fork & signal
├── phase2/                # Phase 2: pipe (|) 구현
├── phase3/                # Phase 3: background (&) 처리
├── document_20221197.pdf  # 보고서 문서
└── README.md              # 프로젝트 개요 설명 파일

🧩 프로젝트 구성

✅ Phase 1 - fork & signal

  • fork()를 사용해 자식 프로세스를 생성합니다.
  • 자식 프로세스가 종료될 때 부모가 SIGCHLD 시그널을 처리하도록 합니다.
  • 간단한 signal handler를 통해 시그널을 안전하게 다루도록 구현했습니다.

✅ Phase 2 - 파이프라인 (|) 구현

  • 커맨드에 포함된 | 연산자를 파싱하여 여러 프로세스를 파이프라인으로 연결합니다.
  • 최대 파이프 개수를 고려해 동적으로 구현하였고, 각 프로세스의 입출력을 pipe로 연결했습니다.

✅ Phase 3 - 백그라운드 프로세스 (&) 처리

  • 커맨드 끝에 &가 있을 경우, 백그라운드에서 프로세스를 실행합니다.
  • waitpid를 비동기적으로 호출하거나, job table을 통해 관리할 수 있도록 설계되었습니다.

🧠 기타 사항

  • Makefile을 사용하여 쉽게 빌드가 가능합니다.
  • 모든 코드에는 주석이 충분히 포함되어 있으며, 보고서에는 각 Phase별 디자인 및 구현 설명이 포함되어 있습니다.

🙋‍♂️ 작성자

  • 학번: 20221197
  • 이름: 백서연
  • 과목: 시스템 프로그래밍 (CSE4100)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published