본문 바로가기

Computer Science5

컴퓨터는 데이터를 어떻게 사용할까 1: 메모리, OS C 언어를 기준으로 설명. 가상메모리, 자료구조와 포인터, 캐시와 가상메모리에 대한 문제는 다른 페이지에서 상세하게 다루고, 여기에서는 전체적인 흐름을 위한 간단하고 단순화한 설명만 있음. 하드웨어: 메모리 RAM 컴퓨터의 기억장치는 휘발성 메모리와 비휘발성 메모리가 있다. 휘발성 메모리로 대표적인 것은 RAM(Random Access Memory) 비휘발성 메모리로 대표되는 것은 ROM(Read Only Memory)등이 있다. 보통 메모리라 함은 우리가 컴퓨터에서 주로 작업대로 사용하는 RAM을 지칭하는 것으로 사용한다. RAM은 데이터를 순차적으로 접근해야 하는 ROM과는 달리 랜덤으로 접근할 수 있기 때문에 속도가 매우 빠르다. 이런 매우 빠른 특성 때문에 느린 ROM과 빠른 CPU를 중개(👉 캐.. 2023. 10. 13.
02 | System Structure & Program Execution - 1 본격적으로 운영체제 들어가기 전, 하드웨어의 동작에 대해 알아본다. 컴퓨터 시스템 구조 CPU CPU는 메모리로부터 매 clock cycle마다 기계어 instruction를 읽어들인다 Register: 메모리보다 더 빠르면서 정보를 저장할 수 있는 공간, 메모리와의 속도 차이를 보완하는 역할을 한다. Mode Bit: CPU에서 실행되는 것이 운영체제인지 사용자 프로그램인지 구분 Interrupt Line: CPU는 Instruction만 실행하는 역할만 수행. 키보드 입력이 들어오거나 디스크에서 읽어오는 것을 완료한 경우 CPU는 이 interrupt를 통해 관련 처리를 수행한다. 메모리의 프로그램 A -> ( 특정 디바이스 접근 요청 ) -> CPU 에서 해당 인스트럭션 처리 -> device co.. 2023. 9. 27.
시간 복잡도(Time Complexity)와 Big-O 표기법(Big-O Notation) 효율적인 알고리즘 알고리즘에서 문제를 푸는 것 만큼이나 중요한 문제는 공간과 시간의 활용을 어떻게 효율적으로 할 것인지에 대한 문제이다. 이에, 공간 복잡도와 시간 복잡도는 다양한 알고리즘의 평가 도구로 사용된다. 공간 복잡도: 얼마나 메모리를 적게 쓰는가? 시간 복잡도: 얼마나 빠른가(CPU에 얼마나 부담을 주는가)? 최신의 머신에서는 공간 복잡도에 대해 과거에 비해 고민이 많이 줄었으나(그러나 알고리즘 평가시 보조적인 역할을 한다), 시간 복잡도는 문제를 효율적으로 해결하기 위해 필수적으로 고민해야 하는 이슈이다. 공간 복잡도 Space Complexity 프로그램이 실행되고 완료되기까지 사용하는 총 저장 공간량을 의미한다. 고정 공간: 알고리즘과 상관 없는 공간으로 코드와 단순 변수, 상수가 해당된.. 2023. 9. 27.
01 | Introduction to Operating Systems 운영체제 (이화여자대학교 반효경 교수) Operating System 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 - 협의의 운영체제: 운영체제 핵심 부분으로 메모리에 상주하는 부분, 즉 커널 - 광의의 운영체제: 커널 뿐 아니라 각종 주변 시스템 유틸리티 포함 목적 자원을 효율적으로 관리🌟 프로세서, 기억장치, 입출력 장치 등의 효율적 관리: 형평성 있는 자원 분배, 주어진 자원 내에서 최대의 성능 내도록(효율성) 사용자 및 운영체제 자신의 보호 프로세서, 파일, 메시지 등 관리 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공: 추상화 하드웨어를 직접 다루는 복.. 2023. 9. 25.
1456. 거의 소수: 에라토스테네스의 체(Seive of Eratosthenes) 1456. 거의 소수 문제 어떤 수가 소수의 N제곱(N ≥ 2) 꼴일 때, 그 수를 거의 소수라고 한다. 두 정수 A와 B가 주어지면, A보다 크거나 같고, B보다 작거나 같은 거의 소수가 몇 개인지 출력한다. 제한 1 ≤ A ≤ B ≤ 1014 에라토스테네스의 체 정수론: 소수 에라토스테네스의 체는 범위 내에 있는 소수를 구하는 알고리즘으로, O(N)의 시간복잡도를 가진, 소수를 구하는 방법 중 가장 빠른 알고리즘이다. 당신이 이걸 고안해내지 않는 바에야 모르면 못 푼다. 못할 건 없겠지만 시간 낭비다. 어떤 한 수가 소수인지 아닌지 판단하는 소수 판별법과는 다르므로 하나의 수가 소수인지 판단하는 것은 나중에 살펴보자. 설명 소수도, 합성수도 아닌 유일한 자연수 1을 제외한다. 2를 제외한 2의 배수를.. 2023. 8. 16.