운영체제 ) Linux OS의 process(task) management 기법 조사
- 최초 등록일
- 2021.08.02
- 최종 저작일
- 2021.07
- 5페이지/ 한컴오피스
- 가격
5,000원4,750원
목차
1. Process 관리를 위한 커널 자료구조
2. Process 생성 과정 및 메커니즘
3. Process 상태전이도 및 상태전이 과정
4. Process scheduling 기법
본문내용
커널은 하드웨어 운영체제 구조에서 핵심적인 기능을 하는 것으로 프로세스, 메모리, 파일, 디스크 등과 같은 것을 운영하고 관리할 수 있도록 서비스를 제공한다. 이러한 커널의 자료구조에서 가장 간단하고 많이 사용되는 자료구조를 알아보자면 연결리스트라고 할 수 있다. 연결리스트는 단일 연결리스트와 이중 연결리스트의 유형이 있으며 이들은 가변적 개수 데이터인 노드를 저장하고 관리하는 기능을 제공한다. 단일 연결리스트는 단순 연결리스트라고 부르기도 하는데 이것은 연결리스트의 시작 부분인 헤더로부터 선형 구조에 따라서 노드가 일방통행의 방식으로 데이터를 이동하는 형식이며 이중 연결리스트는 노드 간 양방향의 이동이 가능하고 순환이 가능한 구조로 되어 있다. 이때 중요한 것은 리눅스의 커널 자료구조는 자료구조 데이터 자체에 연결리스트의 노드가 들어가는 형태를 가지고 있다는 것이다. 이 연결리스트 구조체는 next 포인터와 prev 포인터를 가지고 있으며 next는 리스트에 존재하는 다음 노드를 가르치는 역할을 하고, prev는 이전 노드를 가리키는 역할을 한다. 그렇다면 이런 구조로 되어 있는 연결리스트 구조체에서 어떻게 부모 구조체를 구할 수 있는 것인가. 이것은 구조체 안에서 이뤄지는 오프셋이 모두 컴파일할 시 고정된다는 점을 활용하여 가능한 것이다.
참고 자료
정재준(2017). 리눅스 커널 자료구조 알고리즘 상세분석. 2. 커널연구회
황소영(2016). 리눅스 시스템. 부산가톨릭대학교 kocw 공개강의
http://www.kocw.net/home/search/kemView.do?kemId=1194171