os정리
- 최초 등록일
- 2022.02.09
- 최종 저작일
- 2022.01
- 27페이지/ 어도비 PDF
- 가격 3,000원
소개글
"os정리"에 대한 내용입니다.
목차
없음
본문내용
프로세스: 수행중인 프로그램
프로세스의 문맥: 프로세스가 처음 태어나서 쭉 실행되다가 죽는데, 프로그램이 무엇을 어떻게 실행했는지, 현재 시점이 어떤 상태인지를 나타내기 위함을 개념 (특정 시점때 )
프로세스란 cpu를 잡고 매순간 무엇을 실행하는데, 매 순간에 프로세스가 instruction을 어디 까지 수 행했었고, code를 cpu에서 수행하면서 alu연산을 할 때 레지스터를 썻을텐데, 그 당시에 레지스터에 는 어떤 값들이 담겨 있었는지, 또 code는 어디 까지 수행됬는지(pc) -> “레지스터”와 관련 ㅇㅇ. 이게 하드웨어 문맥
프로세스의 주소공간: 은 현재 시점에 프로세스의 주소공간, code, data, stack에 어떤 값이 들어있나를 알아야 현재상태를 나타낼수 있다
운영체제는 프로세스가 하나 생길 때 마다 관리하기 위한 자료구조를 생성하는데, 그게 PCB임
Process Control Block.
Kernel stack같은 경우는 process가 뭐를 실행하다 자기가 못 실행하면, 커널에 부탁하는데 커널도 code data stack이 있음. 근데 프로세스마다 커널을 호출하니깐 헷갈리지 않게 커널 스택을 각각 따 로 갖고 생성한다
프로세스 하나당 pcb가 하나씩 있다
2,3> 문맥 관련
cpu가 뺏겼다가 다시 돌아와도 실행가능하게 문맥에 대한 정보가 있어야 한다. 문맥 교환이라는 거는 process에서 다른 process로 넘어가는 것. 그래서 cpu를 빼얏기기 전에 pc값, 그외 레지스터 값들, memory map값을 저장해둔다 => PCB => 이 모든게 kernel으ㅔ 메모리 주소 중 데이터에 저장된다
암튼 kerner내에 메모리 주소중 pcb가 저장되는데, 이 pcb는 cpu문맥들을 save하기 위함이다
thread는 process 내부에 cpu수행단위가 여러 개 있는 경우thread라고 부른다.
Code data stack이 프로세스마다 만들어지는데 프로세스마다 pcb가 있었다