본문 바로가기
public void static main()/Etc

[OS] 프로그램과 프로세스

by 햄리뮤 2022. 2. 21.
반응형

운영체제 공부다해서 이제 정리하는 시간....

아까 피자먹고와서 배도 부르고 등도 따시고 게임하고싶지만 참고 공부한다 내자신 기특해

간단히 개념 정리하는 수준으로!

 

(광고아님!)본 게시물은 그림으로 쉽게 배우는 운영체제 강의내용을 정리 + 구글링한 내용입니다.

더 재밌고 쉽게 운영체제를 공부하고 싶으신 분은 밑의 링크를 클릭해서 강의를 구매 후 강의를 들어주세여!

그림도귀엽고 쉽게 설명해주셔서 귀에 쏙쏙 들어오는 강추 하는 강의!!

https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/dashboard

 

그림으로 쉽게 배우는 운영체제 - 인프런 | 강의

이 강의를 통해 모든 개발자들이 필수로 알아야하는 운영체제의 원리를 알 수 있습니다., - 강의 소개 | 인프런...

www.inflearn.com

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=hobbang143&logNo=221252725820

프로그램(Program)이란?

- 파일 시스템에 존재하는 실행파일.

- 하드디스크 등과같은 저장장치에 저장된 명령문의 집합체.

- 하드디스크만 사용하는 수동적인 존재.

ex) 애플리케이션, 앱, .exe. 파일.

프로세스(Process)란?

- 프로그램을 실행하게 되면 CPU를 차지하면서 수행하는 수행 주체가 프로세스임!

- 메모리에 올라가 실행중인 프로그램.

- 메모리도 사용하고 필요에따라 입력과 출력을 사용하기때문에 능동적인 존재임!

- 프로세스 구조는 code, data, heap, stack 영역이 있음!

실행중인 프로그램?

하드디스크에 저장된 프로그램이 메모리에 올라갔을때 실행중인 프로그램, 즉 프로세스라고 불림!

PCB(Process Control Block)

  • 프로세스가 만들어지면 운영체제는 해당 프로세스의 정보를 가지고있는 PCB를 만들고 주 기억장치에 저장함.
  • PCB는 연결리스트라는 자료 구조로 저장됨.
  • 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB도 함께 제거됨.

[PCB구조]

https://yoongrammer.tistory.com/52

  1. Pointer(포인터) - 프로세스의 현재 위치를 저장하는 포인터 정보. 효율적인 접근을 위해 포인터 사용!
  2. Process State(프로세스 상태) - 생성(new), 준비(ready), 실행(running), 대기(waiting), 종료(terminated)를 저장!
  3. Process Number(PID)(프로세스 번호) - 모든 프로세스에는 프로세스 식별자를 저장하는 프로세스 ID 또는 PID라는 고유 한 ID가 할당됨!
  4. Program Counter(프로그램 카운터) - 프로세스를 위해 실행될 다음 명령어의 주소를 포함하는 프로그램 카운터를 저장함.
  5. Resisters(레지스터) - CPU 레지스터에 있는 정보.
  6. Memory Limits(메모리 제한) - 운영체제에서 사용하는 메모리 관리 시스템에 대한 정보가 포함된다. 페이지 테이블, 세그먼트 테이블 등이 포함될 수 있다.
  7. Open File Lists(열린 파일 목록) - 프로세스를 위해 열린 파일 목록이 포함됨.

운영체제는 빠르게 PCB에 접근하기 위해서 프로세스 테이블을 사용하여 각 프로세스의 PCB를 관리함

https://yoongrammer.tistory.com/52

 

일단 오늘은 여기까지!

컨텍스트 스위칭이나 프로세스 생성종료는 다음에!

오늘도 제 공부에 도움을 주신 파워 블로거님들 너무 감사합니다!

 

https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/dashboard

 

그림으로 쉽게 배우는 운영체제 - 인프런 | 강의

이 강의를 통해 모든 개발자들이 필수로 알아야하는 운영체제의 원리를 알 수 있습니다., - 강의 소개 | 인프런...

www.inflearn.com

https://jhnyang.tistory.com/6

 

[운영체제]프로세스와 프로그램 차이는? (Process vs Program)

운영체제 목차 A process is a program in execution Program이란? Program과 Process의 차이는 매우 간단한데 이름이 비슷하기도 하고 워낙 많이 쓰니까 헷갈려하시는 분들이 있더라고요. Program은 실행파일입니.

jhnyang.tistory.com

https://velog.io/@zihozzang/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%99%80-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EC%B0%A8%EC%9D%B4

 

[운영체제]프로세스와 프로그램 차이

★자주 헷갈리니 알아두기 Program(프로그램)이란? 실행파일! 파일 시스템에 존재하는 실행파일이 프로그램이다. 보조기억장치에 존재하며 실행되기를 기다리는 명령어와 정적인 데이터의 묶음.

velog.io

https://yoongrammer.tistory.com/52

 

프로세스 제어 블록 (PCB: Process Control Block) 알아보기

프로세스 제어 블록 (PCB: Process Control Block) 알아보기 PCB(Process Control Bolock) 는 운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳으로, 프로세스의 상태 정보를 저장하는 자료구조

yoongrammer.tistory.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

** 그냥 하루하루 개인 공부한 것을 끄적 거리는 공간입니다.

이곳 저곳에서 구글링한 것과 강의 들은

내용이 정리가 되었습니다.

그림들은 그림밑에 출처표시를 해놓았습니다.

문제가 될시 말씀해주시면 해당 부분은 삭제 하도록하겠습니다. **

반응형

'public void static main() > Etc' 카테고리의 다른 글

[RAID] 레이드란 무엇인가!  (0) 2022.12.19
[WEB] 동기 & 비동기  (0) 2022.10.14
[OS] 멀티 프로그램, 프로세싱  (0) 2022.02.01
[OS] 메모리 영역  (0) 2022.02.01
[Swagger] 스웩! 췤!  (0) 2022.01.29

댓글