총 315개
-
사용자가 입력한 수를 계속 더하는 프로그램을 배열과 연결리스트로 각각 구현했을 때 장단점 비교 및 설명2025.01.191. 배열을 사용한 프로그램 구현 배열을 사용한 프로그램은 고정된 크기의 메모리 블록에 데이터를 저장한다. 배열은 정적 메모리 할당을 통해 메모리를 관리하며, 인덱스를 통해 각 요소에 빠르게 접근할 수 있다. 이로 인해 특정 위치의 값을 읽거나 쓰는 작업이 매우 효율적이다. 그러나 배열의 크기를 동적으로 조절할 수 없다는 단점이 있다. 2. 연결리스트를 사용한 프로그램 구현 연결리스트를 사용한 프로그램은 동적으로 메모리를 할당하여 데이터를 저장한다. 연결리스트는 각 노드가 데이터와 다음 노드를 가리키는 포인터를 포함하고 있어, 새로...2025.01.19
-
운영체제 메모리 관리 레포트2025.05.021. 가상 메모리 가상 메모리는 사용자와 논리적 주소를 물리적으로 분리하여 프로세스에 주소를 지정하고 메모리 제한 없이 사용할 수 있게 해줍니다. 메모리의 일부만 적재해도 프로세스를 실행할 수 있으며, 메모리와 디스크 사이의 데이터 이동을 통해 효율적으로 메모리를 활용할 수 있습니다. 가상 메모리를 사용하면 프로그래밍이 용이해지고 프로세서 이용률과 처리율이 향상되지만, 메모리와 디스크 사이의 이동량이 증가하고 페이징 알고리즘 결정이 필요한 단점이 있습니다. 2. 매핑 방법 가상 주소와 물리적 주소를 매핑하는 방법에는 동적 주소 변환...2025.05.02
-
운영체제의 실제 메모리 구성과 물리적 메모리 관리2025.01.181. 메모리의 구조 물리적 메모리와 가상 메모리의 차이를 설명하고, 주 메모리와 보조 메모리의 특성을 설명한다. 2. 메모리 관리 전략 연속 메모리 할당과 비연속 메모리 할당(페이징, 세그멘테이션)의 장단점을 설명하고, 메모리 할당 정책(최초 적합, 최적 적합, 최악 적합)과 스와핑, 프레임 할당 알고리즘에 대해 설명한다. 3. 운영체제의 메모리 관리 역할 운영체제가 제한된 메모리 자원을 효율적으로 활용하기 위해 다양한 메모리 관리 전략과 알고리즘을 적용하는 것을 설명한다. 1. 메모리의 구조 메모리는 컴퓨터 시스템의 핵심 구성 요...2025.01.18
-
CPU의 데이터 처리 속도 향상 방안2025.05.131. CPU의 기능 CPU는 컴퓨터가 수행하는 모든 연산 및 작동의 핵심 역할을 수행한다. CPU에서는 프로그램 상에 포함된 명령어를 끌어와 해석하고, 명령어대로 연산을 수행하여 연산이 완료된 결과는 메모리상에 기록한다. 2. CPU의 데이터 처리 속도에 영향을 미치는 요인 CPU의 데이터 처리 속도에 영향을 미치는 요인으로는 CPU의 클럭 속도, 코어의 수, 캐시 메모리, 아키텍처, 메모리의 속도 등이 있다. 3. CPU 자체의 성능 향상 CPU 자체의 성능을 향상시키는 방법으로는 CPU의 클럭 수를 증가시키거나 하나의 CPU 내...2025.05.13
-
[자료구조] 구조체 배열을 이용한 추가 삭제 SUM을 구현한 소스코드2025.05.051. 자료구조 이 코드는 배열을 이용한 리스트 ADT(Abstract Data Type)를 구현한 것입니다. 구조체 ArrayListType을 정의하고, 초기화, 추가, 삭제, 합계 등의 기능을 구현하고 있습니다. 배열의 크기는 MAX_LIST_SIZE로 정의되어 있으며, 배열의 길이를 나타내는 length 변수를 사용하여 리스트의 크기를 관리합니다. 이를 통해 리스트의 기본적인 CRUD(Create, Read, Update, Delete) 연산을 수행할 수 있습니다. 2. 배열 이 코드에서는 배열을 사용하여 리스트를 구현하고 있습...2025.05.05
-
운영체제 mmap 시스템콜 과제2025.01.121. mmap 시스템콜 mmap 시스템콜은 운영체제의 커널이 제공하는 서비스에 대해 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스입니다. 데이터 세그먼트는 C 언어로 작성한 프로그램이 주 기억장치를 더욱 효율적으로 운영하기 위해 일정한 크기로 단위를 나누어 할당하며 관리하는 것을 의미합니다. mmap()은 메모리의 내용을 파일이나 디바이스에 매핑하기 위해 사용되는 시스템 콜입니다. 프로세스들은 각각의 주소공간을 가지게 되며, 이 주소공간은 텍스트, 데이터, 스택 3개의 세그먼트로 분할됩니다. 프로세스의 메모리는 데이터...2025.01.12
-
캐시기억장치의 필요성과 설계 고려사항2025.01.031. 캐시기억장치의 개념과 필요성 캐시기억장치는 CPU와 주기억장치 사이의 속도 차이를 극복하기 위해 사용되는 중요한 메모리입니다. 캐시기억장치는 CPU와 주기억장치 사이에 위치하며, 액세스 속도가 CPU와 비슷하기 때문에 컴퓨터의 처리 속도를 높여줍니다. 캐시기억장치는 CPU에서 실행 중인 프로그램과 데이터를 기억하며, 코드와 데이터를 분리해서 기억시키는 분리 캐시를 사용하여 충돌을 방지합니다. 2. 캐시기억장치 설계 시 고려사항 캐시기억장치를 설계할 때는 다음과 같은 요소들을 고려해야 합니다: 1) 캐시의 크기: 클수록 적중률이...2025.01.03
-
운영체제 챕터8 레포트 과제제출 시험대비2025.05.031. 요구 페이징 요구 페이징의 이슈에는 페이지 부재, 유효 접근 시간, 페이지 대치 등이 있다. 페이지 부재를 해결하기 위해 FIFO(선입선출 대치)와 OPT(최적 페이지 대치) 알고리즘이 있다. FIFO는 이해와 구현이 쉬운 반면 성능이 좋지 않을 수 있고, OPT는 이상적인 알고리즘이지만 현실적인 구현이 어렵다. 이를 보완한 LRU(최소 사용 대치) 알고리즘은 과거 데이터를 이용해 미래를 예측하는 통계적 개념으로, 과거 오랫동안 사용하지 않은 페이지를 대치한다. 2. 페이징 시스템 페이징 시스템은 가상주소, 페이지 테이블, 물...2025.05.03
-
방송통신대학교 c프로그래밍 출석수업과제2025.01.261. C 프로그래밍 기초 이 자료는 C 프로그래밍 언어의 기본적인 문법과 개념을 소개하고 있습니다. 주요 내용으로는 C 프로그램의 구조, 변수 선언, 연산자 사용, 함수 정의 및 호출 등이 포함되어 있습니다. 이를 통해 C 프로그래밍의 기본적인 이해와 실습 경험을 얻을 수 있습니다. 2. 데이터 타입 및 크기 이 자료에서는 C 언어의 다양한 데이터 타입(char, int, float, double 등)과 각 타입의 메모리 크기를 소개하고 있습니다. 이를 통해 데이터 타입 선택의 중요성과 메모리 관리의 기초를 이해할 수 있습니다. 3...2025.01.26
-
[자료구조] 동적메모리를 구현하고 출력하는 소스코드2025.05.051. 동적 메모리 할당 이 코드는 동적 메모리 할당을 사용하여 구조체 배열을 생성하고 값을 할당한 후 출력하는 예제입니다. malloc() 함수를 사용하여 메모리를 동적으로 할당하고, 구조체 포인터 p를 통해 메모리에 접근하여 값을 설정합니다. 마지막으로 free() 함수를 사용하여 동적으로 할당된 메모리를 해제합니다. 1. 동적 메모리 할당 동적 메모리 할당은 프로그램 실행 중에 필요한 메모리 공간을 동적으로 할당하는 기능입니다. 이를 통해 프로그램은 실행 시간에 메모리 요구량을 유연하게 조절할 수 있습니다. 동적 메모리 할당은 ...2025.05.05
