。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

CS 36

가상 메모리

프로세스 일부만 메모리에 로드하고, 나머지는 디스크에 둔 상태로 프로세스를 실행하는 방식 프로세스 전체가 메모리에 올라오지 않아도 프로세스를 실행하는 데 문제가 없다는 점에서 ,,! 장점: 프로그램이 메모리 크기에 대한 제약을 덜 받을 수 있다. 동시에 많은 프로그램을 실행하므로 CPU 이용률과 처리율을 높일 수 있다. 필요한 영역만 메모리에 로드해 스와핑 횟수를 줄여 프로그램 실행 속도를 높일 수 있다. 요구 페이징 프로세스에서 필요한 페이지만 메모리에 로드하는 방식, 디스크에 저장되어 있는 영역을 요청이 올 때 메모리에 로드한다. 페이지 폴트: 프로그램을 실행하다가 물리 메모리에 필요한 페이지가 없을 때, 이 경우 디스크에서 필요한 페이지를 스왑 인함. 이때 페이지에 해당하는 메모리 영역이 물리 메모..

CS 2023.11.25

메모리 관리 전략

*논리 메모리 영역(=가상 메모리 영역) 프로세스가 보는 메모리 영역 *물리 메모리 영역 실제로 사용되는 메모리 영역(RAM) *논리 주소(=가상 주소) CPU가 프로세스를 실행하며 보는 주소 값 *물리 주소 실제 메모리에서 사용되는 주소 => CPU가 프로세스를 실행할 때 사용하는 주소 값과 실제 주소 값이 다르므로 논리 주소를 물리 주소로 변환 해줘야하는데 이 동작을 하는 하드웨어 장치를 메모리 관리 장치(MMU, Memory Management Unit)라고 한다. CPU에 위치하며, 보호해야 하는 메모리 영역에 대한 접근을 제한해 메모리를 보호하는 역할 연속 메모리 할당 고정 분할 방식 : 메모리 영역을 분할한 뒤 각 영역에 프로세스를 할당하는 방식 =>분할된 영역의 크기는 서로 다를 수 있으며,..

CS 2023.11.23

스케줄링

스케줄링의 목적 멀티 프로세스 환경에서 모든 프로세스를 공평하게 실행하는 것 장기 스케줄링 준비 큐에 어떤 프로세스를 넣을지 결정해 메모리에 올라가는 프로세스 수를 조절한다. 요즘 사용 x 중기 스케줄링 메모리에 로드된 프로세스 수를 동적으로 조절, 메모리에 프로세스가 많이 로드되면 스왑 아웃해서 일부 프로세스를 통째로 저장하고, 중단 상태가 된다. 중단 상태는 준비 상태에서 스왑아웃, 대기 상태에서 스왑아웃된 상태로 구분된다. 단기 스케줄링 준비 큐에 있는 대기 상태 프로세스 중 어떤 프로세스를 다음으로 실행할지 스케줄링 알고리즘으로 결정. 즉 어떤 프로세스를 디스패치할지 결정하는데 이를 CPU 스케줄링이라고도 한다. *스왑 아웃: 메모리 공간보다 넘치게 프로세스가 로드되는 경우 중기 스케줄러가 이벤트..

CS 2023.11.23

프로세스

프로세스, 컴퓨터에서 실행 중인 하나인 프로그램 OS는 프로그램을 실행하면서 디스크에 저장돈 데이터를 메모리로 로드한다. 프로세스는 OS로부터 독립된 메모리 영역을 할당받으며, 다른 프로세스의 메모리 영역에 접근할 수 없다. 프로세스의 메모리 영역 구조 높은 주소 값 스택 지역변수, 함수의 매개변수 빈 메모리 공간 힙 사용자 동적 할당 데이터 전역변수, 정적변수 낮은 주소 값 코드 실행할 코드(기계어) *스택: LIFO 후입선출 방식으로 높은 주소 값에서 낮은 주소 값으로 메모리가 할당됨 *힙: FIFO 선입선출 방식으로 낮은 주소 값에서 높은 주소 값 순서로 메모리 할당됨 * 스택과 힙은 동적으로 메모리 할당이 가능해 두 영역 사이에 빈 메모리 공간이 존재한다. 메모리 영역을 공유하기 때문에 서로의 영..

CS 2023.11.23

커널

커널은 OS의 핵심 요소로, 컴퓨터 하드웨어와 프로세스의 보안, 자원관리, 하드웨어 추상화등의 역할을 수행한다. 자원관리를 위해 CPU 스케줄링, 메모리 관리, 입출력 관리, 파일 시스템 관리 등을 담당한다. 응용프로그램 커널 CPU 메모리 외부 기기 운영체제는 커널에서 관리하는 중요 자원에 사용자가 쉽게 접근하지 못하도록 커널모드와 사용자 모드로 모드를 나눈다. 커널 모드: 하드웨어에 직접 접근해 메모리, CPU와 같은 자원을 사용할 수 있다. 사용자 모드: 커널 모드의 자원에 접근할 수 없게 제한을 둔다. 시스템 콜: 사용자 모드에서 커널 모드에 접근해 필요한 기능을 수행할 수 있게 하는 시스템 함수. => 커널은 시스템 콜로 받은 요청을 처리한 후 다시 시스템 콜로 결과 값을 반환한다. => 프로세..

CS 2023.11.23

운영체제, CPU, 메모리

운영체제란, 하드웨어 위에 설치되어 하드웨어 계층과 소프트 웨어 계층을 연결하며, 컴퓨터 시스템의 자원을 관리하고, 사용자가 컴퓨터를 사용할 수 있는 환경을 제공한다. 또한 사용자와 컴퓨터 간 인터페이스를 제공해 사용자가 컴퓨터를 편리하게 사용할 수 있는 환경을 제공한다. CPU (중앙 처리 장치) (=프로세서) 컴퓨터에서 프로그램을 실행하는 데 필요한 연산을 처리하고 수행 메모리, 데이터를 저장하기 위한 기억장치 주 기억장치(휘발성) RAM 보조 기억장치(비휘발성) SSD, HDD 메모리는 CPU에서 빨리 접근할 수 있도록 다음과 같이 계층 구조로 나뉜다. 레지스터(CPU) CPU가 사용자 요청을 처리하는 데 필요한 데이터를 임시로 저장 속도 빠름 ㅣ ㅣ 속도 느림 캐시(CPU) CPU와 RAM의 속도..

CS 2023.11.22