운영체제 공부다해서 이제 정리하는 시간....
아까 피자먹고와서 배도 부르고 등도 따시고 게임하고싶지만 참고 공부한다 내자신 기특해
간단히 개념 정리하는 수준으로!
(광고아님!)본 게시물은 그림으로 쉽게 배우는 운영체제 강의내용을 정리 + 구글링한 내용입니다.
더 재밌고 쉽게 운영체제를 공부하고 싶으신 분은 밑의 링크를 클릭해서 강의를 구매 후 강의를 들어주세여!
그림도귀엽고 쉽게 설명해주셔서 귀에 쏙쏙 들어오는 강추 하는 강의!!
프로그램(Program)이란?
- 파일 시스템에 존재하는 실행파일.
- 하드디스크 등과같은 저장장치에 저장된 명령문의 집합체.
- 하드디스크만 사용하는 수동적인 존재.
ex) 애플리케이션, 앱, .exe. 파일.
프로세스(Process)란?
- 프로그램을 실행하게 되면 CPU를 차지하면서 수행하는 수행 주체가 프로세스임!
- 메모리에 올라가 실행중인 프로그램.
- 메모리도 사용하고 필요에따라 입력과 출력을 사용하기때문에 능동적인 존재임!
- 프로세스 구조는 code, data, heap, stack 영역이 있음!
실행중인 프로그램?
하드디스크에 저장된 프로그램이 메모리에 올라갔을때 실행중인 프로그램, 즉 프로세스라고 불림!
PCB(Process Control Block)
- 프로세스가 만들어지면 운영체제는 해당 프로세스의 정보를 가지고있는 PCB를 만들고 주 기억장치에 저장함.
- PCB는 연결리스트라는 자료 구조로 저장됨.
- 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB도 함께 제거됨.
[PCB구조]
- Pointer(포인터) - 프로세스의 현재 위치를 저장하는 포인터 정보. 효율적인 접근을 위해 포인터 사용!
- Process State(프로세스 상태) - 생성(new), 준비(ready), 실행(running), 대기(waiting), 종료(terminated)를 저장!
- Process Number(PID)(프로세스 번호) - 모든 프로세스에는 프로세스 식별자를 저장하는 프로세스 ID 또는 PID라는 고유 한 ID가 할당됨!
- Program Counter(프로그램 카운터) - 프로세스를 위해 실행될 다음 명령어의 주소를 포함하는 프로그램 카운터를 저장함.
- Resisters(레지스터) - CPU 레지스터에 있는 정보.
- Memory Limits(메모리 제한) - 운영체제에서 사용하는 메모리 관리 시스템에 대한 정보가 포함된다. 페이지 테이블, 세그먼트 테이블 등이 포함될 수 있다.
- Open File Lists(열린 파일 목록) - 프로세스를 위해 열린 파일 목록이 포함됨.
운영체제는 빠르게 PCB에 접근하기 위해서 프로세스 테이블을 사용하여 각 프로세스의 PCB를 관리함
일단 오늘은 여기까지!
컨텍스트 스위칭이나 프로세스 생성종료는 다음에!
오늘도 제 공부에 도움을 주신 파워 블로거님들 너무 감사합니다!
https://yoongrammer.tistory.com/52
** 그냥 하루하루 개인 공부한 것을 끄적 거리는 공간입니다.
이곳 저곳에서 구글링한 것과 강의 들은
내용이 정리가 되었습니다.
그림들은 그림밑에 출처표시를 해놓았습니다.
문제가 될시 말씀해주시면 해당 부분은 삭제 하도록하겠습니다. **
'public void static main > Etc' 카테고리의 다른 글
[RAID] 레이드란 무엇인가! (0) | 2022.12.19 |
---|---|
[WEB] 동기 & 비동기 (0) | 2022.10.14 |
[Design Pattern] Strategy Pattern (0) | 2022.02.05 |
[OS] 멀티 프로그램, 프로세싱 (0) | 2022.02.01 |
[OS] 메모리 영역 (0) | 2022.02.01 |
댓글