1. 가상메모리의 주요 구성 요소와 메커니즘 가상 주소 공간(Virtual Address Space) 가상 주소 공간은 프로그램이 메모리를 접근할 때 사용하는 주소의 집합입니다. 이 공간은 실제 물리 메모리의 크기와 독립적이며, 운영체제에 의해 관리됩니다. 프로그램은 이 가상 주소 공간을 실제 메모리처럼 사용할 수 있으며, 실제 물리 메모리의 위치를 신경 쓰지 않아도 됩니다. 가상메모리는 OS에서 사용되는 메모리 관리 기법의 하나로 컴퓨터가 실제로 이용 가능한 메모리 자원(실제주소, physical address)을 추상화하여 이를 사용하는 사용자들에게 매우 큰 메모리로 보이게 만드는 것을 말합니다. 메모리 관리 단위(Memory Management Unit, MMU) MMU는 CPU 내부에 있는 하드웨..
운영체제
1. 메모리 계층(memory hierachy)이란? 메모리 계층(memory hierarchy)은 컴퓨터 시스템에서 데이터를 저장하고 접근하는 다양한 수준의 메모리 구조를 의미합니다. 이 계층 구조는 레지스터, 캐시 메모리, 주기억장치(RAM), 그리고 보조기억장치로 구분됩니다. 각 계층은 속도, 용량, 비용에서 서로 다른 특징을 가지며, 이러한 차이를 효율적으로 활용하여 컴퓨터의 성능을 최적화합니다. 2. 메모리 계층의 구성 레지스터: CPU 내부에 위치한 매우 빠른 메모리로, CPU가 현재 처리 중인 명령어와 데이터를 임시로 저장합니다. 레지스터는 매우 빠른 접근 속도를 가지지만, 그 용량은 매우 제한적입니다. 캐시 메모리: CPU와 주기억장치 사이에 위치하여 자주 사용되는 데이터와 명령어를 저장합..
1. 시스템 콜이란? 시스템 콜이란 운영체제가 커널에 접근하기 위한 인터페이스이며 유저 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출할 때 시스템 콜을 거쳐서 호출하다록 설계되어 있습니다. 프로세스 관리(생성, 삭제 등), 파일 관리, 디바이스 관리, 시간 및 날짜 관련 시스템, 프로세스 간 통신 때 이를 통해 커널 함수를 호출합니다. ex. 프로세스를 종료하는 kill()이라는 함수-> 이 함수를 발동시키면 시스템 콜을 거쳐서 커널 함수가 호출됨 1) 과정 유저 프로그램이 I/O요청을 위한 트랩(소프트웨어 인터럽트)을 발동했다고 해보면, 유저 프로그램이 I/O 요청 트랩을 발동 올바른 I/O 요청인지 확인 유저모드(modebit=1, 권한 제한)가 시스템콜을 통해 커널모드(modebit=0..
1. 인터럽트란?? 인터럽트는 컴퓨터의 CPU가 현재 실행 중인 프로세스를 일시 중단시키고, 특정 이벤트(예: 입/출력 요청, 오류 발생 등)를 처리하기 위해 다른 작업(인터럽트 서비스 루틴, ISR)으로 제어를 전환하는 메커니즘입니다. 인터럽트가 처리된 후, CPU는 중단되었던 작업을 재개합니다. 인터럽트가 발생하는 원인 오류: 0으로 숫자를 나누는 산술 연산 오류, 프로세스 오류 등 IO디바이스를 사용할 때의 인터럽트: 키보드, 마우스 등 우선순위가 높은 프로세스의 발생 CPU는 메모리에 있는 명령어(instruction)을 순차적으로 실행하는데 인터럽트가 발생하게 되면 점프해서 언터럽트 핸들러 함수가 모여 있는 인터럽트 벡터로 가서 인터럽트 핸들러 함수(인터럽트 서비스 루틴, ISR)가 실행되며 특..
ahwhew프로젝트를 진행하면서 힙 메모리 에러 등 여러가지 cs적인 트러블 슈팅이 있었는데요,, 이런 에러들이 있을 때 마다 cs지식의 중요성을 느낍니다..! 그래서 이번에는 운영체제에 대해 공부하고 그 내용을 정리해보도록 하겠습니다! 학교에서도 배우긴 했지만 여기에서는 실질적으로 필요한 지식들을 간략하게 써보고 다음에 학교에서 배운 지식들을 좀 더 깊게 다뤄보면서 직접 cpu를 설계했던걸 가져와서 한번 해보도록 하겠습니다 ㅎㅎ 1. 운영체제의 종류 운영체제는 앞단의 어떤 인터페이스를 두느냐에 따라 GUI와 CUI로 나눌 수 있습니다. 1) GUI(Graphical User Interface) 그래픽을 사용하여 컴퓨터와 상호작용하는 인터페이스입니다! windowOS, macOS등 현대의 OS가 이를 대..