728x90
반응형

2024/10/12 15

[운영체제] 운영체제의 역할과 기능

운영체제의 역할과 기능운영체제(OS, Operating System)는 컴퓨터 시스템의 자원을 관리하고, 사용자와 컴퓨터 하드웨어 간의 인터페이스를 제공하는 소프트웨어임. 운영체제는 다양한 기능을 수행하며, 이로 인해 사용자는 복잡한 하드웨어를 신경 쓰지 않고 소프트웨어를 편리하게 사용할 수 있음.1. 운영체제의 주요 역할하드웨어 자원 관리CPU, 메모리, 저장 장치, I/O 장치 등 시스템 자원을 효율적으로 분배함.여러 프로그램이 동시에 실행될 때 자원 사용을 조정하고 충돌을 방지함.사용자와 컴퓨터 간의 인터페이스 제공명령줄 인터페이스(CLI)와 그래픽 사용자 인터페이스(GUI)를 제공해 사용자와 시스템이 소통할 수 있게 함.사용자는 직접 하드웨어를 제어할 필요 없이 운영체제의 도움으로 프로그램을 실행..

RAID와 저장 장치 (HDD, SSD)

1. HDD (Hard Disk Drive)HDD는 자기 디스크(플래터)로 구성된 저장 장치로, 기계적 회전과 헤드 이동을 통해 데이터를 읽고 씀. 주로 대용량이 필요한 백업 및 아카이브 데이터 저장에 사용됨.구조: 여러 개의 회전 디스크와 이를 읽고 쓰는 헤드로 구성됨.속도: 기계적 회전과 헤드 이동이 필요해 데이터 접근 속도가 상대적으로 느림.용도:대용량 데이터 저장: 영화, 사진 등의 대규모 파일을 저장할 때 유리함.백업 및 아카이브: 데이터가 자주 사용되지 않는 저장소로 활용됨.장점: 가격 대비 용량이 크고 저렴함.단점:기계적 부품이 많아 충격에 약함.속도가 느리고 전력 소모가 큼.2. SSD (Solid State Drive)SSD는 플래시 메모리(반도체)로 구성된 저장 장치로, HDD에 비해 ..

캐시 메모리와 지역성(Locality)

캐시 메모리(Cache Memory)캐시 메모리는 CPU와 메인 메모리(RAM) 사이에 위치한 고속 메모리로, 자주 사용되는 데이터를 임시로 저장해 CPU의 메모리 접근 속도를 향상시킴. 메모리에 직접 접근하는 것보다 빠르게 데이터를 읽을 수 있어 프로세스 실행 속도를 높이는 핵심 역할을 담당함.캐시 메모리의 필요성CPU와 메인 메모리 간의 속도 차이를 줄임.자주 사용되는 명령어나 데이터를 캐시에 저장해 **대기 시간(Latency)**을 최소화함.캐시에 저장된 데이터가 CPU에서 바로 사용 가능하므로, 시스템 성능을 크게 향상시킴.캐시 메모리의 레벨 구성캐시는 속도와 용량의 균형을 위해 여러 계층으로 나뉨.레벨 1 (L1) 캐시CPU 내부에 위치하며, 가장 빠른 속도를 제공함.용량이 작으며, 주로 CP..

메모리 관리 및 주소 변환 (MMU)

1. 메모리 관리 장치(MMU)의 역할**메모리 관리 장치(MMU, Memory Management Unit)**는 CPU가 사용하는 가상 주소를 실제 물리적 메모리 주소로 변환하는 역할을 수행함. 사용자가 접근하는 모든 메모리 주소는 가상 주소로 처리되며, 이 주소는 MMU에 의해 물리 주소로 변환됨.MMU가 필요한 이유:메모리 보호: 각 프로그램이 서로의 메모리에 접근하지 못하게 보호함.가상 메모리 사용: 물리 메모리보다 더 큰 메모리 공간을 사용할 수 있게 함.효율적 메모리 사용: 여러 프로그램이 동시에 실행될 때 메모리를 최적으로 관리.2. 페이징(Paging)페이징은 메모리를 고정된 크기의 블록으로 나누어 관리하는 기법임. 이 고정된 크기의 블록을 **페이지(Page)**라고 부르며, 가상 메모..

폰 노이만 구조와 병목 현상

1. 폰 노이만 구조란?폰 노이만(John von Neumann)이 제안한 컴퓨터 아키텍처로, 현재 대부분의 컴퓨터가 이 구조를 따르고 있음. 프로그램과 데이터를 동일한 메모리 공간에 저장하고, 명령을 순차적으로 처리하는 방식을 특징으로 함.구조의 기본 원리:CPU가 메모리에 저장된 프로그램 명령을 읽어옴.읽어온 명령을 해석하고 연산 수행.처리된 결과를 다시 메모리에 저장하거나 출력 장치로 보냄.구성 요소:메모리: 프로그램 코드와 데이터를 저장함.CPU(중앙 처리 장치): 명령어를 해석하고 계산 수행.입출력 장치(I/O): 사용자와 컴퓨터 간의 데이터 교환을 담당.버스(Bus): 데이터가 CPU, 메모리, I/O 사이를 오가도록 연결하는 통로. 2. 폰 노이만 병목 현상이란?폰 노이만 구조의 문제점 중 ..

하드웨어 구성요소

1. CPU (중앙 처리 장치) – 컴퓨터의 두뇌역할:CPU는 컴퓨터에서 가장 중요한 역할을 함. 명령을 받아들이고 계산을 수행한 뒤 그 결과를 다른 장치로 전달함. 컴퓨터의 뇌와 같음.구성 요소:제어 장치(Control Unit):모든 작업을 언제, 어떻게 수행할지 지시함. 마치 요리사가 조리 과정 순서를 알려주는 것과 같음.산술논리장치(ALU):수학 연산과 논리 연산을 처리함. 덧셈, 뺄셈 같은 계산뿐 아니라 두 수가 같은지 비교하는 작업도 담당함.레지스터(Register):연산 도중에 필요한 데이터를 임시로 저장하는 메모리 공간. 매우 빠른 메모리라 CPU가 바로바로 사용함. 요리사가 손 닿는 곳에 소스를 두는 것과 비슷함.2. 메모리 (Memory) – 조리대와 저장고RAM (Random Acce..

절차지향 객체지향 차이와 이해

1. 절차지향 프로그래밍 (Procedural Programming)개념절차지향 프로그래밍은 순차적 흐름에 따라 작업을 처리하는 방식.프로그램은 여러 함수와 절차(procedure)로 구성되며, 데이터와 함수가 분리되어 있음.특징함수 단위로 프로그램을 나누어 코드를 재사용할 수 있음.코드는 순서대로 실행되며, 명령문들이 선형적인 흐름을 따름.복잡한 프로그램에서는 함수 간 데이터 전달이 많아지고 코드가 복잡해질 수 있음.장점비교적 간단한 프로그램에 적합하며 학습하기 쉬움.특정 작업을 수행하는 함수의 모듈화가 가능함.단점코드가 커질수록 유지보수와 확장에 어려움이 있음.데이터와 함수가 분리되어 있어 데이터 관리가 복잡해질 수 있음.같은 데이터를 처리하는 함수가 여러 곳에 존재하면 중복 코드가 발생할 수 있음...

Computer Science 2024.10.12

자주 사용하는 TypeScript 문법 정리

1. TypeScript 기본 타입 1.기본 타입 선언let age: number = 25;let name: string = "홍길동";let isActive: boolean = true; number, string, boolean 등의 기본 자료형을 명시적으로 선언  2. 배열 타입let numbers: number[] = [1, 2, 3];let names: Array = ["John", "Jane"]; T[] 또는 Array로 배열 선언 가능.  3. 튜플let person: [string, number] = ["홍길동", 30];정해진 차입과 길이로 배열을 선언 4. 열거형 (Enum)enum Direction { Up, Down, Left, Right,}let move: Direction..

Composition API

1. Composition API란?Composition API는 Vue 3에서 도입된 새로운 코드 작성 패턴으로, 기능별로 코드 재사용과 모듈화를 쉽게 할 수 있도록 설계되었음. 기존의 Option API와 달리 setup() 함수 내에서 모든 로직을 정의하며, 여러 상태와 메서드를 하나로 묶어 유연하게 관리할 수 있음. 2. Composition API의 주요 특징유연성: 여러 기능을 setup() 안에 함께 정의할 수 있어 복잡한 상태 관리에 유리함.모듈화: 외부 함수나 파일로 쉽게 분리해 코드 재사용성을 극대화할 수 있음.타입스크립트 친화적: 타입스크립트를 더 잘 지원하여 정적 타입 검사와의 호환성이 좋음.Vue 3 전용: Composition API는 Vue 3에서만 사용 가능함.3. Compo..

Composition API vs Option API

Vue.js에서는 Option API가 오랫동안 기본 사용 방식이었지만, Vue 3에서는 Composition API가 도입되며 새로운 방식의 코드 구조화가 가능해짐. 두 접근 방식은 각각의 장단점이 있으며, 상황에 따라 적합한 방식을 선택하는 것이 중요함. 이 글에서는 Option API와 Composition API의 차이점과 사용 시기, 장단점을 정리함.1. Option APIOption API는 Vue 2부터 사용된 전통적인 방식으로, data, methods, computed 등의 옵션을 사용해 컴포넌트를 구성함. 코드가 명확히 구분되어 있어 초보자에게 이해하기 쉬움. 카운트: {{ count }} 증가 특징:초보자 친화적: 코드가 data, methods, computed 등으..

[콜럼Vue스] 이벤트 에미터(Event Emitter)

1. 이벤트 에미터(Event Emitter)란?Vue에서 이벤트 에미터는 자식 컴포넌트에서 부모 컴포넌트로 데이터를 전달하기 위해 사용하는 메커니즘임.자식 컴포넌트가 특정 이벤트를 발생($emit)시키고, 부모 컴포넌트는 해당 이벤트를 수신(v-on 혹은 @)하여 처리하는 방식임.이벤트 에미터는 주로 사용자 입력, 폼 제출, 상태 변경과 같은 이벤트를 부모 컴포넌트에 전달할 때 사용됨. 2. 기본적인 이벤트 에미터 사용 예제// 부모 컴포넌트 (Parent.vue) 카운트: {{ count }} // 자식 컴포넌트 (ChildComponent.vue) 증가설명:자식 컴포넌트에서 $emit('increment', 1)으로 이벤트와 데이터를 부모로 전달.부모 컴포넌트는 @incremen..

[콜럼Vue스] 사용자 정의 이벤트

1. 사용자 정의 이벤트란?Vue에서는 사용자 정의 이벤트(Custom Events)를 통해 자식 컴포넌트가 부모 컴포넌트에 데이터를 전달할 수 있음.이 방식은 Vue의 단방향 데이터 흐름(부모→자식)을 보완하여 상위 컴포넌트로 이벤트를 전달함으로써,양방향 데이터 소통을 가능하게 만듦.자식 컴포넌트에서 이벤트를 발생시키고($emit), 부모 컴포넌트는 해당 이벤트를 수신(v-on)하여 처리함. 2. 사용자 정의 이벤트를 이용한 정보 전달사용자 정의 이벤트를 통해 자식에서 부모로 데이터 전달이 가능함.주로 양방향 바인딩이나 특정 작업을 부모 컴포넌트에 알릴 때 유용하게 사용됨.// 부모 컴포넌트 (Parent.vue) // 자식 컴포넌트 (ChildComponent.vue) 제출 자식 컴포넌..

[콜럼Vue스] 속성

1. 속성을 이용한 정보 전달Vue에서는 속성(Props)을 통해 부모 컴포넌트가 자식 컴포넌트에 데이터를 전달할 수 있음. 이 방식은 상위에서 하위로의 단방향 데이터 흐름을 의미하며, 컴포넌트 간의 재사용성을 높임.속성 전달 기본 예제 :// 부모 컴포넌트 (Parent.vue) // 자식 컴포넌트 (ChildComponent.vue) {{ msg }}부모 컴포넌트가 자식 컴포넌트에 msg 속성으로 데이터를 전달함.자식 컴포넌트는 props를 사용해 부모로부터 전달된 데이터를 수신함.2. 속성을 이용해 객체 전달하기Vue에서는 객체를 속성으로 전달할 수 있음. 객체를 통해 더 복잡한 데이터를 전달할 수 있으며, 자식 컴포넌트에서 이 데이터를 참조하여 UI를 구성할 수 있음.객체 전달 예제:// 부모..

[콜럼Vue스] 속성

1. 속성을 이용한 정보 전달Vue에서는 속성(Props)을 통해 부모 컴포넌트가 자식 컴포넌트에 데이터를 전달할 수 있음. 이 방식은 상위에서 하위로의 단방향 데이터 흐름을 의미하며, 컴포넌트 간의 재사용성을 높임.속성 전달 기본 예제 :// 부모 컴포넌트 (Parent.vue) // 자식 컴포넌트 (ChildComponent.vue) {{ msg }}부모 컴포넌트가 자식 컴포넌트에 msg 속성으로 데이터를 전달함.자식 컴포넌트는 props를 사용해 부모로부터 전달된 데이터를 수신함.2. 속성을 이용해 객체 전달하기Vue에서는 객체를 속성으로 전달할 수 있음. 객체를 통해 더 복잡한 데이터를 전달할 수 있으며, 자식 컴포넌트에서 이 데이터를 참조하여 UI를 구성할 수 있음.객체 전달 예제:// 부모..

메모리참조

1. 메모리 참조란?메모리 참조(Memory Reference)는 변수나 객체가 메모리 상의 특정 위치를 참조하는 것을 의미특히, JavaScript와 같은 언어에서는 원시 값(Primitive Type)과 참조 값(Reference Type)의 동작 방식이 다름.원시 값(Primitive Type): 숫자, 문자열, 불리언, null, undefined와 같은 값은 메모리에 직접 값 자체가 저장됨. 따라서 다른 변수에 복사할 때 값이 복제됨.참조 값(Reference Type): 객체, 배열, 함수와 같은 참조 타입은 값이 저장된 메모리 주소를 참조하게 됨. 즉, 변수에 객체를 할당하면 객체의 주소가 전달되므로, 복사된 변수와 원래 변수는 동일한 객체를 참조하게 됨let a = 10;let b = a;..

Web Development 2024.10.12
728x90
반응형