오몰내알 데엔

CS 지식/운영체제

운영체제 Ch3 - 프로세스(1)

프로세스 프로세스의 개념 프로그램과 프로세스는 분명한 차이가 있다. 프로세스는 실행 중인 프로그램을 의미하며, 이는 곧 메모리에 올라가 있는 프로그램을 의미한다. 프로세스는 자신의 작업을 하기 위해 CPU time이나 메모리, 입출력 장치 등의 리소스를 필요로 하는데 운영체제는 이러한 리소스를 잘 관리할 수 있어야 한다. 이러한 프로세스들을 자세히 살펴보려면 메모리에서 프로세스가 어떻게 구성되어 있는지 살펴보는 것이 중요하다. 크게 보면 아래 그림과 같이 나타낼 수 있다. 하나 씩 살펴보면 코드 영역(텍스트 영역)은 코드가 저장되는 부분으로 CPU는 코드 영역에서 명령어를 가져가 수행한다. 데이터 영역은 전역 변수나 정적 변수가 저장되는 영역이다(전역 변수와 정적 변수의 차이도 생각해보면 좋겠다). 스택..

CS 지식/운영체제

운영체제 Ch1, 2 - Introduction & OS Structures

운영체제란? 운영체제를 간단히 말하면 "컴퓨터"를 운영하는 소프트웨어라고 할 수 있다. 그렇다면 컴퓨터의 정의를 명확히 하는 것이 중요할텐데, 많은 정의가 있을 수 있겠지만 가장 쉽게 생각할 수 있는 정의는 범용성과 계산가능성을 모두 충족한 기계라고 할 수 있다. 각각 쉽게 설명한다면 S/W가 하고자 하는 모든 것들을 H/W가 지원할 수 있고(범용성), 튜링 머신으로 계산가능한(계산가능성) 기계라고 할 수 있겠다. 여기서 튜링 머신으로 계산가능하다는 것은 너무 어려우니 그냥 튜링이 정의한 컴퓨터의 지표 정도로 생각하면 될 것 같다. 이 정의 때문에 소프트웨어(앱)를 깔아서 카메라, 영화, 게임 등의 다양한 기계로 사용할 수 있는 스마트폰은 컴퓨터이지만, 기존의 소프트웨어를 그대로 사용할 수 밖에 없는 계..

오몰내알
'CS 지식' 카테고리의 글 목록 (2 Page)