총 54개
-
소프트웨어 보안 CWE Top 25 보안 약점 과제2025.01.121. Use After Free (UAF) UAF는 해제된 메모리 영역을 재사용할 때 발생하는 보안 약점으로, Heap 영역에서 일어나는 문제입니다. 해제된 메모리 공간이 새로운 포인터에 할당될 경우 그 포인터가 해당 영역의 값과 주소 값을 사용할 수 있게 되어 발생합니다. 이를 악용하여 공격자가 해당 영역을 공격 코드로 덮으면 개발자가 의도치 않게 공격 코드를 실행할 수 있습니다. 2. Server-Side Request Forgery (SSRF) SSRF는 서버 측에서 피해자에게 위조된 요청을 보내도록 하는 공격입니다. 웹 서버...2025.01.12
-
운영체제의 메모리 구성 및 물리적 메모리 관리2025.11.171. 메모리 구성 운영체제의 메모리는 주 기억장치와 가상 기억장치로 구성됩니다. 주 기억장치는 프로세스 실행 중 데이터와 명령어를 저장하는 실제 물리적 메모리이며, 가상 기억장치는 물리적 메모리와 보조 기억장치(하드 디스크)를 조합하여 프로세스가 필요로 하는 데이터와 명령어를 보관하는 공간입니다. 이러한 이중 구조를 통해 제한된 물리적 메모리의 효율성을 극대화합니다. 2. 물리적 메모리 관리 기법 운영체제는 물리적 메모리를 블록 단위로 나누어 각 블록에 고유한 주소를 할당하는 주소 지정 방식을 사용합니다. 프로세스 실행 시 필요한 ...2025.11.17
-
운영체제의 메모리 관리2025.01.291. 물리적 메모리 구성과 구조 운영체제에서 물리적 메모리는 컴퓨터 하드웨어가 제공하는 연속적인 주소 공간으로, 주기억장치(RAM)로 구현된다. 물리적 메모리는 데이터를 저장하고 명령어를 실행하기 위한 기본 저장 공간이다. 하드웨어적으로 연속된 배열 형태로 제공되지만, 운영체제는 이를 효율적으로 관리하기 위해 저주소 공간과 고주소 공간으로 나눈다. 운영체제는 MMU(Memory Management Unit)라는 하드웨어를 통해 물리적 메모리를 관리한다. 2. 주소 변환과 메모리 보호 운영체제는 논리적 주소와 물리적 주소를 구분하여 ...2025.01.29
-
배열의 정의, 선언, 초기화 및 활용2025.05.051. 배열의 정의 배열은 C언어에서 연속적인 메모리 영역에 동일한 데이터 타입의 여러 요소를 저장할 수 있는 구조입니다. 배열을 사용하면 데이터를 더욱 구조화된 방식으로 저장하고 접근할 수 있습니다. 2. 1차원 배열 선언 1차원 배열을 선언하려면 데이터 타입, 배열 이름, 배열 크기를 지정해야 합니다. 예를 들어, int arr[5]는 크기가 5인 int형 1차원 배열을 선언하는 것입니다. 3. 배열 활용 사례 배열은 시계열 데이터 저장, 문자열 처리, 정렬 및 검색 알고리즘 구현, 행렬 및 벡터 연산 등 다양한 상황에서 활용됩니...2025.05.05
-
운영체제의 메모리 관리2025.01.171. 메모리 메모리는 프로그램이 실행되고 데이터가 저장되는 공간이다. 물리적 메모리와 가상 메모리로 구분되며, 주소 지정 방식으로 페이징 기법과 세그먼테이션 기법이 있다. 물리적 메모리는 RAM으로 구성되고, 가상 메모리는 하드 디스크를 이용해 RAM처럼 사용할 수 있게 하는 기술이다. 2. 운영체제의 메모리 관리 운영체제는 메모리 상태 점검, 프로세스 할당 결정, 메모리 할당과 회수 방법 결정 등의 기능을 통해 메모리를 효율적으로 관리한다. 물리적 메모리 관리는 연속 할당 방식(고정 분할, 가변 분할)과 분산 할당 방식(페이징, ...2025.01.17
-
운영체제 - 기억장치의 개념과 기억장치의 스케줄링에 대하여 설명하시오2025.01.151. 기억장치의 개념 기억장치는 컴퓨터 시스템에서 데이터를 저장하고 접근하는 데 사용되는 하드웨어 구성 요소이다. 기억장치는 주로 주기억장치(메인 메모리)와 보조기억장치(보조 저장장치)로 구분된다. 주기억장치는 컴퓨터가 실행 중인 프로그램과 데이터에 빠르게 접근할 수 있도록 도와주며, 보조기억장치는 데이터와 프로그램을 장기적으로 저장하는 데 사용된다. 기억장치는 데이터 접근 속도와 용량에 따라 계층적으로 구성된다. 2. 기억장치의 스케줄링 기억장치 스케줄링은 컴퓨터 시스템에서 메모리 자원을 효율적으로 할당하고 관리하는 방법을 의미한...2025.01.15
-
메모리 단편화(Memory Fragmentation)의 개념과 해결 방안2025.01.161. 메모리 단편화의 개념 메모리 단편화는 사용가능한 메모리가 충분하지만 메모리 공간이 조각으로 분할되어 프로그램이 필요한 만큼의 메모리 공간을 할당 받지 못하는 상태를 말합니다. 메모리 단편화의 원인으로는 메모리 할당 정책이나 알고리즘이 메모리를 비효율적으로 사용하게 되는 경우, 메모리 할당 및 해제 과정에서 메모리 블록들이 불연속적으로 배치되는 경우, 메모리를 할당하고 해제하는 순서나 크기가 문제가 되는 경우, 프로그램 실행 중에 메모리 사용량이 바뀌는 경우 등 다양한 원인들이 있습니다. 2. 내부 단편화와 외부 단편화의 개념 ...2025.01.16
-
프로세스 개념을 설명하고 처리방식에 대해 설명하시오2025.01.171. 프로세스의 정의 프로세스는 실행 중인 프로그램을 의미하며, 프로그램의 코드와 프로그램 실행에 필요한 데이터 및 상태 정보를 포함합니다. 컴퓨터 시스템에서 프로세스는 독립적인 실행 단위로 간주되며, 각 프로세스는 고유한 주소 공간을 가지며 다른 프로세스와 분리된 환경에서 실행됩니다. 2. 프로세스 관리 기법 프로세스 관리 기법은 운영체제가 시스템 자원을 효율적으로 분배하고 각 프로세스가 원활하게 실행될 수 있도록 하는 데 중요한 역할을 합니다. 주요 프로세스 관리 기법으로는 스케줄링, 메모리 관리, 동기화와 통신이 있습니다. 3...2025.01.17
-
운영체제의 메모리 관리: 구성과 물리적 지원2025.11.131. 메모리 관리 개요 운영체제의 주요 기능 중 하나는 시스템 메모리를 효율적으로 관리하는 것입니다. 메모리는 컴퓨터의 중요한 자원으로, 효과적인 관리가 필요합니다. 운영체제는 메모리 누수, 프래그먼테이션 등의 문제를 해결하기 위해 동적 할당 및 해제, 가상 메모리 관리, 캐시 메모리 관리 등 다양한 기법을 도입합니다. 이를 통해 시스템 성능 향상과 응용 프로그램의 효율적 실행을 지원합니다. 2. 실제 메모리의 구성 방식 컴퓨터 시스템의 메모리는 주로 RAM으로 구성되며, 메인 메모리와 캐시 메모리로 나뉩니다. 메인 메모리는 프로그...2025.11.13
-
변수의 기능, 선언 방법, 작성 규칙 및 데이터 형의 종류2025.01.131. 변수의 기능 변수는 프로그래밍 언어에서 데이터를 저장하는 기본 단위로, 임시 저장소 역할을 합니다. 변수를 통해 프로그램은 실행 중 필요한 데이터에 쉽게 접근하고 수정 및 재활용할 수 있습니다. 변수의 핵심 기능 중 하나는 데이터의 가변성 관리입니다. 변수는 프로그램 실행 도중 값이 바뀔 수 있어 같은 코드를 다양한 상황에 유연히 적용할 수 있습니다. 변수는 코드 내 데이터 추상화를 가능케 해 복잡한 프로그램을 단순하고 이해하기 쉽게 만듭니다. 또한 변수는 함수나 메서드 간 데이터 전달 매개체 역할도 합니다. 2. 변수 선언과...2025.01.13
