inflearn logo
강의

講義

知識共有

図で簡単に学ぶオペレーティングシステム

PCB

PCB들이 연결리스트로 저장되는 이유가 뭔가요?

127

soap

投稿した質問数 37

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

===

 

안녕하세요 감쟈님!!

PCB들이 연결리스트로 저장되는 이유가 뭔가요?

분명 이점이 있을것 같아서 연결 리스트 인것 같은데 모르겠어유!!

운영체제

回答 2

1

communityai8509

안녕하세요, 인프런 AI 인턴입니다. soap님!

PCB들이 연결리스트로 저장되는 이유에 대해 질문해 주셨군요. 이와 관련된 자세한 답변을 제공할 수 있는 이전의 비슷한 질문이 있어서 아래에 관련 내용을 정리해드릴게요.

  1. 메모리 효율성:
    연결리스트는 메모리 할당과 해제가 유연하다는 장점이 있습니다. 프로세스의 생성과 종료가 빈번한 운영체제 환경에서, PCB의 효율적인 관리가 필요합니다. 연결리스트는 삽입과 삭제가 정말 쉬워서, 새로운 PCB를 추가하거나 기존의 것을 삭제할 때 처리 오버헤드를 줄일 수 있습니다.

  2. 유연한 크기 조정:
    배열과 달리 연결리스트는 사전에 크기를 정할 필요가 없어, 운영체제가 잘 알고 있는 ‘동적 환경’에 적합합니다. 많은 수의 프로세스가 다양한 시점에 등장하고 사라지기 때문에, 크기가 고정된 데이터 구조보다 유연합니다.

  3. 스케줄링 요구 사항:
    연결리스트는 프로세스 스케줄링 알고리즘의 구현에도 용이합니다. 예를 들어, 준비 상태, 실행 상태 등 다양한 상태에 따른 프로세스 큐를 쉽게 조작할 수 있습니다.

해당 부분에 대한 더 자세한 설명이나 강의 내용을 확인하고 싶으시다면, 아래 링크에서 확인하실 수 있습니다:
- 질문 게시물: PCB 및 프로세스 상태에서

저는 질문자님의 이해를 돕고자 감쟈님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

gamja5

안녕하세요 soap님!

PCB들이 연결리스트에 저장된 이유가 궁금하셨군요.

PCB들이 연결리스트에 저장되는 이유는 AI 인턴이 잘 설명해줬는데요.

프로세스는 생성과 제거가 자주 일어나기 때문에 메모리에 동적인 할당이 필요합니다.

만약 배열에 저장한다면 메모리 공간 낭비와 PCB 생성과 제거시 오버헤드가 있을 것입니다.

반면 연결리스트에 저장되면 배열의 단점을 해결 할 수 있습니다. 하지만 연결리스트도 순차 탐색을 진행할 때는 O(n)이 걸린다는 단점이 있어서 일부 시스템에선 해시테이블이나 트리를 사용하기도 합니다. 일반적으론 연결리스트를 사용합니다.

 

여러 의문점

1

63

1

CPU 스케줄링 RR 강의 2:54에서 질문 있습니다.

1

57

2

CPU Bound Process와 sleep, yield에 대해

1

60

1

커널과 인터페이스 개념

1

64

2

exit() 함수

0

154

2

LRU 관련 질문

1

182

2

고정 분할 방식도 연속 할당으로 알고 있는데 애니메이션이 다소 헷갈립니다.

0

115

2

Swapping, Manual Overlay, Dynamic Loading, Dynamic Linking의 개념이 헷갈립니다

0

147

2

각 메모리의 최대 요구 CPU 리소스는 어떻게 아나요?

1

167

2

IPC 방식 중 매개체가 파일과 메모리일 때 할당되는 용량의 차이

0

116

2

고정 분할 방식에 질문입니다

0

120

2

세마포어에 관련해 질문입니다

1

144

2

IPC 통신 중 파일을 이용한 방법이 정확히 어떤 건가요?

0

152

1

공유자원과 동기화 문제에 관해서 질문이 있습니다.

0

152

2

FIFO 알고리즘에 대해서 질문이 있습니다.

1

128

2

멀티프로그래밍, 멀티 태스킹, 멀티 프로세싱

1

163

1

새로 올라온 영상에서 스와핑 언급이 빠졌는데

1

80

2

유니프로그래밍과 멀티프로세싱이 어떻게 공존할 수 있는 건가요?

3

173

2

인터럽트에 대해 질문 드립니다.

1

93

2

수업 노트 설명에 대해 이해가 안가는 부분이 있어 질문 드립니다.

0

113

2

3:59초에 대해서 궁금해요!

0

117

2

실무적으로 궁금한게 있습니다ㅠ

0

95

1

완강을 해보니 오히려 더 궁금한게 많아지네요

1

166

2

파일디스크립터 질문드려요.

0

128

2