운영체제

운영체제

[리눅스 운영체제] 사용자 모드와 커널 모드

일러두기 해당 글은 다케우치 사토루의 책 '실습과 그림으로 배우는 리눅스 구조'의 chapter 2 '사용자 모드로 구현되는 기능'을 읽고 배운 부분을 정리하기 위한 글입니다. 사용자와 하드웨어, 그리고 운영체제 컴퓨터 시스템에서 하드웨어와 사용자의 관계는 사뭇 오묘하다. 컴퓨터 시스템에서의 사용자는 인간을, 하드웨어는 컴퓨터 내부의 CPU, 메모리, 입출력장치, 저장장치 등을 의미하는데 일반적인 경우 컴퓨터의 하드웨어는 사용자인 인간의 편의를 위해 다양한 계산을 하는 방식으로 활용된다. 즉, 컴퓨터가 단순한 계산기에 불과했던 과거에서부터, 고사양의 게임을 돌린다거나 동영상, 사진 편집과 같은 작업을 수행하는 현재까지 컴퓨터의 하드웨어는 사용자의 요구를 입력받고 필요한 작업을 수행하여 결과물을 제출하는 ..

운영체제

러프한 운영체제 기초 4편 | 가상메모리

시작하기 앞서 이 글은 웹 백엔드 주니어 개발자가 인프런의 그림으로 쉽게 배우는 운영체제 강의를 들으며 공부한 내용을 러프하게 정리한 글입니다. 이전 글 러프한 운영체제 기초 1편: 러프한 운영체제 기초 1편 | 프로세스와 약간의 쓰레드 러프한 운영체제 기초 2편: 러프한 운영체제 기초 2편 | CPU 스케줄링과 교착 상태 러프한 운영체제 기초 3편: 러프한 운영체제 기초 3편 | 메모리 가상메모리 "RAM은 결코 충분하지 않다,"라는 고민에서 시작된 기법으로 물리 메모리 크기의 한계를 극복하기 위해 나온 기술임 컴퓨터에 실제로 가용한 메모리를 추상화하여 사용자들에게 하여금 매우 큰 메모리로 보이게 만드는 기법 가상메모리의 핵심은 프로세스를 메모리에 올릴 때 프로세스 전체를 메모리에 올리는 것이 아니라 ..

운영체제

러프한 운영체제 기초 3편 | 메모리

시작하기 앞서 이 글은 웹 백엔드 주니어 개발자가 인프런의 그림으로 쉽게 배우는 운영체제 강의를 들으며 공부한 내용을 러프하게 정리한 글입니다. 이전 글 러프한 운영체제 기초 1편: 러프한 운영체제 기초 1편 | 프로세스와 약간의 쓰레드 러프한 운영체제 기초 2편: 러프한 운영체제 기초 2편 | CPU 스케줄링과 교착 상태 메모리의 종류 CPU 내부 - 레지스터, 캐시 메인 메모리(RAM) 보조 저장 장치 - HDD, SSD 특징: CPU에 있는 메모리는 매우 빠르지만, 용량이 작고 매우 비싸다 특징: 메인 메모리는 흔히 그냥 '메모리'라 불린다. 폰 노이만 구조의 컴퓨터는 모든 프로그램을 메인 메모리에 올려 작동시킨다. 특징: 보조 저장 장치는 컴퓨터에 전원이 공급되지 않을 때도 데이터의 유실이 없는 ..

운영체제

러프한 운영체제 기초 2편 | CPU 스케줄링과 교착 상태

시작하기 앞서 이 글은 웹 백엔드 주니어 개발자가 인프런의 그림으로 쉽게 배우는 운영체제 강의를 들으며 공부한 내용을 러프하게 정리한 글입니다. 이전 글 러프한 운영체제 기초 1편: 러프한 운영체제 기초 1편 | 프로세스와 약간의 쓰레드 CPU 스케줄링 CPU 스케줄링이란 어떤 프로세스에 CPU 리소스를 주어야 하는지 결정하는 작업. 컴퓨터 시스템의 효율에 직결되는 중요한 작업으로 운영체제를 공부할 때 가장 중요한 주제 중 하나이다. CPU 스케줄링의 고려사항 어떤 프로세스에게 CPU 리소스를 주어야 하는가? CPU를 할당 받은 프로세스가 얼마의 시간 동안 CPU를 사용해야 하는가? (CPU 스케줄링은 컴퓨터의 성능에 굉장히 많은 영향을 미친다!) CPU 스케줄링의 목표 공평성: 가장 큰 목표로 모든 프..

운영체제

러프한 운영체제 기초 1편 | 프로세스와 약간의 쓰레드

시작하기 앞서 이 글은 웹 백엔드 주니어 개발자가 인프런의 그림으로 쉽게 배우는 운영체제 강의를 들으며 공부한 내용을 러프하게 정리한 글입니다. 프로그램과 프로세스 프로그램(Program): 하드디스크 등에 저장된 명령문의 집합체 프로세스(Process): 실행 중인 프로그램 (하드디스크에 있는 프로그램이 메모리에 올라가면 실행 중인 프로그램, 즉 프로세스가 된다!) 프로세스의 구조 code, data, heap, stack code: 컴파일된 소스코드가 저장되는 영역. 즉, 프로그램 자기 자신. 중간에 소스가 변경되지 않도록 read only로 저장됨 data: 전역/static 변수가 할당되는 영역. java의 클래스 정보도 data 영역에 할당되는 것으로 아는데 정확하지 않음 (아닐수도 있음..) ..

석이
'운영체제' 카테고리의 글 목록