운영체제

· 운영체제
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가 이를 대..
SsenDev
'운영체제' 카테고리의 글 목록