인프런 커뮤니티 질문&답변

Justin Hong님의 프로필 이미지
Justin Hong

작성한 질문수

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

페이지히트와 페이지미스 ★★★

[페이지 미스] 프로세스 개념

작성

·

25

0

페이지 미스 중 1. 접근 권한 오류에 관련하여 개념이 헷갈려 질문 드립니다.

먼저 프로세스, 메모리, CPU 이런 과정에 대해 이해를 못한 것 같습니다.

예를 들어 어떤 프로그램을 실행 / 파일 읽기 / 웹브라우저 실행 등 어떤 행위를 했을 때 이게 프로세스가 되고, 프로세스는 메모리에 올라오고 CPU는 메모리에 올라와 있는 프로세스들을 처리한다 이렇게 이해하고 있는데 이게 맞나요?
그렇다면 접근 권한 오류 상황에서 이 과정이 어떻게 흘러가는건 지 헷갈립니다.

저 경우에서 파일 읽기가 금지된 행위라고 가정한다면 이건 프로세스가 되지 않는건가요? 이게 권한이 없는 행위가 프로세스가 아예 안되는건 지, 메모리에 아예 올라 가질 않는 건지 명확히 알고 싶습니다. 어떤 행위를 했을 때 어떤 과정으로 일어나는지 정확히 알고 싶습니다.

답변 2

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ㅎㅎ

예를 들어 어떤 프로그램을 실행 / 파일 읽기 / 웹브라우저 실행 등 어떤 행위를 했을 때 이게 프로세스가 되고,

-> 프로그램을 실행하면 프로세스가 됩니다. 파일을 읽는 프로그램, 웹브라우저프로그램 둘 다 맞습니다.

프로세스는 메모리에 올라오고 CPU는 메모리에 올라와 있는 프로세스들을 처리한다 이렇게 이해하고 있는데 이게 맞나요?

-> 네 맞습니다.

파일 읽기가 금지된 행위라고 가정한다면 이건 프로세스가 되지 않는건가요?

-> 제 생각에 어떤 읽기 전용 파일을 프로그램이 해당 파일을 쓰려고 할 때 에러가 생기는 거 말씀하시는것 같은데요.

프로세스가 실행 중 특정 페이지에 접근하려고 할 때, CPU는 페이지 테이블을 참조하여 해당 페이지에 대한 권한을 확인합니다.권한이 부여되지 않은 접근(예: 쓰기 금지된 페이지에 쓰기 시도)이 발생하면 CPU는 페이지 미스를 일으키고 프로세스상에서는 예외가 발생됩니다.

예를 들어 볼까요? node.js 기준으로 어떤 파일에 chmod 000을 걸어서 권한을 삭제한 다음 해당 파일에다가가 쓰는 행위를 하는 write 함수를 걸면 error가 발생이 될 것 입니다.

const fs = require('fs'); 
try {
   fs.writeFileSync(path, file);   
} catch (error) { 
  console.log(error)
}

 


또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


0

안녕하세요, 인프런 AI 인턴입니다.

Justin Hong님께서 궁금해하신 접근 권한 오류와 프로세스의 관계에 대해 설명드리겠습니다.

프로세스는 프로그램이 메모리에 로드되어 실행되는 작업 단위를 의미합니다. 어떤 프로그램을 실행하거나 파일을 읽거나 웹브라우저를 실행하는 것은 프로세스가 됩니다. 이 프로세스는 메모리에 적재되고, CPU는 이 메모리에 적재된 프로세스를 처리하게 됩니다.

접근 권한 오류의 경우, 특정 파일이나 리소스에 대한 접근 시도에서 발생할 수 있습니다. 만약 접근 권한이 없는 상태에서 파일을 읽으려고 하면, 그 시도는 운영체제가 제공하는 시스템 콜에 의해 가로막히게 되며, 오류가 발생합니다.

  • 프로세스가 되지 않는 경우: 프로그램을 실행하는 것은 가능하지만, 그 내부에서 권한이 필요한 리소스에 접근하려할 때 오류가 발생합니다. 따라서 프로세스 자체는 생성되지만, 특정 작업이 제한됩니다.
  • 메모리에 올라가지 않는 경우: 프로그램 실행 자체가 바이너리 레벨의 권한 문제로 인해 제한된다면, 프로세스로서의 실행이 이루어지지 않을 수 있습니다.

프로세스가 시작되면, OS는 해당 프로세스의 권한을 검사하여 필요한 리소스에 접근할 권한의 유무를 판단합니다. 권한이 부족하다면, 해당 접근 시도는 실패하게 되고, 이로 인해 에러 메시지나 예외 처리가 발생할 수 있습니다.

다음의 기존 유사 질문과 답변에서 추가적인 정보를 확인할 수 있습니다:
- 안녕하세요 운영체제 부분 질문 있습니다!!
- 시스템 콜, 커널, 인터럽트 질문

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Justin Hong님의 프로필 이미지
Justin Hong

작성한 질문수

질문하기