![[운영체제] 프로세스의 개념](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbljuqb%2FbtsH4EGzCRf%2FoaU4bGGsigKBGjiysaxfdk%2Fimg.jpg)
[운영체제] 프로세스의 개념CSE/운영체제 (operating system)2024. 6. 19. 00:00
Table of Contents
초기 컴퓨터 시스템과 다중 프로그래밍
- 초기 컴퓨터 시스템
- 프로그램을 한 번에 하나씩 실행
- 실행 중인 프로그램이 모든 컴퓨터 자원을 독점
- 다중 프로그래밍 환경
- 여러 프로그램을 메모리에 동시에 적재 후 병행 실행
- 컴퓨터 효율성 크게 향상
- 병행 실행 프로그램들은 자원 공유 필요
- 자원 공유를 효과적으로 제어하기 위해 프로세스 개념 도입
프로세스의 정의와 기원
- '프로세스' 용어 기원
- 1960년대 멀틱스$_{Multics}$ 운영체제에서 처음 사용
- IBM 운영체제에서는 '작업$_{task}$’ 으로 불림
- 프로세스 정의
- 실행 중인 프로그램
- 비동기적$_{asynchronous}$ 행위
- 실행 중인 프로시저
- 실행 중인 프로시저의 제어 흐름
- 운영체제에 존재하는 프로세스 제어 블록$_{PCB}$
- 프로세서에 할당되어 실행 가능한 객체 (디스패치 가능한 대상)
실행 중인 프로그램으로서의 프로세스
- 일반적인 정의
- '실행 중인 프로그램'
- 실행 중인 프로그램 의미
- 디스크에 저장된 프로그램이 메모리에 적재
- 운영체제의 제어를 받는 상태
- 프로세스 특성
- 자신만의 메모리 영역(주소 공간) 보유
- 프로그램 실행의 인스턴스
- 예시
- 웹 브라우저 창 1개 열면 프로세스 1개 생성
- 웹 브라우저 창 2개 열면 프로세스 2개 생성
프로세스의 자원 할당
- 필요한 자원
- 프로세서 점유 시간
- 메모리
- 파일
- 입출력 장치
- 자원 할당 시점
- 프로세스 생성 시
- 프로세스 실행 시
- 포함 요소
- 현재 활동 상태 나타내는 프로그램 카운터
- 프로세서의 현재 활동 (레지스터 내용)
프로그램과 프로세스의 차이
- 프로그램
- 컴파일된 코드와 초기화된 전역 변수, 문자열 상수 등 정적 데이터 포함
- 정적인 개체
- 프로세스
- 메모리 구조 형성
- 프로그램 카운터와 레지스터처럼 현재 사용 자원에 관한 정보 포함
- 동적인 개체
프로세스의 메모리 구조
- 스택
- 지역 변수 저장
- 함수 호출 시 증가, 반환 시 감소
- 스택 포인터와 힙 포인터가 만나면 메모리 소진 의미
- 힙
- 코드 영역과 별도로 유지되는 동적 메모리 영역
- 프로그램 실행 중 동적 메모리 할당 사용
- 데이터
- 전역 변수와 정적 변수 저장
- 실행 전에 초기화
- 코드
- 실행 명령 포함 메모리 영역
- 디스크에서 읽어 실행되는 컴파일된 프로그램 저장
사용자와 시스템 관점에서의 프로세스
- 사용자 관점
- 주소 공간을 가지고 실행하는 프로그램
- 시스템 관점
- 실행 중인 프로그램
- 스케줄러가 디스크에 저장된 프로그램에 프로세서 할당
- 장치나 메모리 자원 참조
- 프로세스 간 교착 상태, 보호, 동기화 정보 교환
프로세스의 역할과 종류
- 역할에 따른 구분
- 시스템(커널) 프로세스
- 모든 시스템 메모리와 프로세서 명령에 접근할 수 있으며 프로세스 실행 순서를 제어하거나 사용자 및 커널 영역을 감시하고 사용자 프로세스를 생성하는 기능
- 사용자 프로세스
- 사용자 코드를 수행하는 프로세스
- 시스템(커널) 프로세스
- 병행 수행 방법에 따른 구분
- 독립 프로세스
- 다른 프로세스에 영향을 주지 않거나 받지 않고 병행 수행하는 프로세스
- 협력 프로세스
- 다른 프로세스에 영향을 주거나 받으며 병행 수행하는 프로세스
- 독립 프로세스
References
운영체제 | 구현회 - 교보문고
운영체제 | 『운영체제』는 운영체제 입문에 꼭 필요한 기본 개념과 원리를 그림을 중심으로 자세히 설명하고 있다. 모든 장에 걸쳐 기존 내용을 세밀하게 검토하여 부분적으로 최신 경향을 반
product.kyobobook.co.kr
운영체제 | Abraham Silberschatz - 교보문고
운영체제 | ▶ 이 책은 운영체제론을 다룬 이론서입니다. 운영체제론의 기초적이고 전반적인 내용을 학습할 수 있습니다.
product.kyobobook.co.kr
728x90
반응형
'CSE > 운영체제 (operating system)' 카테고리의 다른 글
[운영체제] 프로세스의 상태 변화, 프로세스 제어 블록 (PCB) (0) | 2024.06.19 |
---|---|
그림으로 배우는 구조와 원리 운영체제 - 연습문제 3장 풀이 (0) | 2023.12.25 |
그림으로 배우는 구조와 원리 운영체제 - 연습문제 2장 풀이 (0) | 2023.12.23 |
그림으로 배우는 구조와 원리 운영체제 - 연습문제 1장 풀이 (0) | 2023.07.03 |
@junyeokk :: 나무보다 숲을
컴퓨터 전공 관련, 프론트엔드 개발 지식들을 공유합니다. React, Javascript를 다룰 줄 알며 요즘에는 Typescript에도 관심이 생겨 공부하고 있습니다. 서로 소통하면서 프로젝트 하는 것을 즐기며 많은 대외활동으로 개발 능력과 소프트 스킬을 다듬어나가고 있습니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!