profile
개발을 꿈꾸는 초짜
태그 목록
전체보기 (37)디자인 패턴(15)GOF(13)알고리즘(6)자바(5)운영체제(1)운영체제의 구조(1)MVP(1)파일 확장자(1)마이크로 커널(1)디자인패턴(1)프로세스(1)임계구역(1)5대 원칙(SOLID)(1)버퍼(1)반복자 패턴(1)스풀(1)폰노이만 구조(1)페이지 테이블 매핑(1)API(1)세그멘테이션 기법(1)파일 분류(1)순열(1)옵저버 패턴(1)약수(1)컴퓨터 공학(1)템플릿 페서드 패턴(1)PCB(1)Context Switching(1)RoundRobin(1)캐시 매핑 기법(1)팩토리 메서드 패턴(1)최대공약수(1)이터레이터 패턴(1)공유자원(1)하버드 구조(1)교착 상태 해결 방법(1)연습문제(1)스케쥴링(1)행동패턴(1)God(1)HRN(1)Obsever(1)컴퓨터 성능 향상 기술(1)MCV(1)가상 메모리(1)Upcasting VS Downcasting(feat.인터페이스 분리 원칙)(1)이터레이터 인터페이스(1)객체지향 프로그래밍(1)페이징 기법(1)조합(1)커널의 기능(1)교착 상태(1)MLFQ(1)SJF(1)의존성 주입(1)멀티 쓰레드(1)SRT(1)개념(1)폴링(1)데코레이터 패턴(1)임계구역과 관련한 문제와 해결방법(1)IO(1)파일 시스템(1)인터럽트(1)이터레이터블 인터페이스(1)커맨드 패턴(1)상태 패턴(1)싱글톤 패턴(1)캐시(1)멀티 프로세스(1)MVVM(1)소켓(1)가변 분할(1)파일(1)Dependenct Injection(1)프로세스 구조(1)FCFS(1)레지스터(1)4대 특성(1)di(1)컴포지트 패턴(1)절차지향 프로그래밍(1)파이프(1)전략패턴(1)프로세스 간 통신(1)스왑(1)프로세스간통신(1)메모리 분할 방식(1)프록시 패턴(1)추상 팩토리 메서드 패턴(1)전역변수(1)cpu(1)memory(1)크기(1)MLQ(1)최소공배수(1)bus(1)경우의 수(1)버디 시스템(1)기아상태(1)주소 변환 방식(1)RAID(1)복합 패턴(1)어댑터 패턴(1)교착상태(1)집합(1)컴퓨터 구조(1)퍼사드 패턴(1)고정 분할(1)복습(1)메모리 오버레이(1)컨텍스트 스위칭(1)커널(1)계층형 커널(1)단일형 커널(1)SDK(1)
post-thumbnail

CS Chapter_14 - 저장장치와 파일시스템

디스크 드라이브가 소형화되고, 저렴해짐이 따라 현재 컴퓨터 시스템에 저렴하게 다수의 디스크를 부착할 수 있다. 시스템이 많은 수의 디스크를 가지고 있고, 그 시스템이 병렬적으로 운영된다면 데이터 읽기,쓰기 비율을 향상시킬 수 있게 되는데 이에 띠리사 많은 중복정보가 여

2022년 8월 29일
·
0개의 댓글
·

CS Chapter_12 - 가상 메모리 관리

요구 페이징이란 프로그램 실행 시 프로세스를 구성하는 모든 페이지를 한꺼번에 메모리에 올리는 방식이 아니라, 당장에 사용될 페이지만 올리는 방식이다. 즉, 요구 페이징 기법에서는 특정 페이지에 대해 CPU의 요청이 들어온 뒤 해당 페이지를 메모리에 적재한다.필요한 페이

2022년 8월 19일
·
0개의 댓글
·
post-thumbnail

CS Chapter_12 - 가상 메모리

가상 메모리 1. 메모리란? > - 메모리란, 프로그램과 프로그램 수행에 필요한 데이터 및 코드를 저장하는 장치를 의미한다. > - 메모리는 크게 주기억장치와 보조기억장치로 분류된다. >> - 주기억장치(내부 메모리) : DRAM(RAM,DDR4) 등의 메모리, C

2022년 8월 17일
·
0개의 댓글
·
post-thumbnail

CS Chapter_11 - 메모리 할당

프로그램의 메모리가 주기억장치(RAM)보다 클 때의 문제를 해결하기 위한 기법1) 하나의 프로그램을 여러 개의 조각으로 분할한 후 필요한 조각을 순서대로 주기억장치에 적재하여 프로그램을 실행한다.2) 실행 중에 주기억장치의 메모리가 부족하면, 불필요한 조각이 있는 곳에

2022년 8월 16일
·
0개의 댓글
·

CS Chapter_10 - 프로세스 간 통신

프로세스 간 통신(Inter Process Communication)의 종류 1. 전역 변수를 이용한 통신 > - 전역 변수를 이용한 통신은 공동으로 관리하는 메모리를 사용하여 데이터를 주고받는 것으로 송신측은 전역 변수에 데이터를 쓰고, 수신측은 전역 변수의 값을

2022년 8월 15일
·
0개의 댓글
·

CS Chapter_9 - 스케쥴링

스케쥴링이란, 다중 프로그래밍을 가능케 하는 운영체제의 동작 기법이다.프로세스 스케쥴링의 목적은 시스템 성능의 향상이다. 공정한 스케쥴링 : 모든 프로세스에게 공정하게 할당을 해야함응답시간 최소화 : 대화식 사용자에게는 최대한 응답시간을 빠르게 해야함반환시간 최소화 :

2022년 8월 13일
·
0개의 댓글
·
post-thumbnail

CS Chapter_8 - 프로세스 구조

프로그램 코드와 상수가 정의되어있고, 읽기만 가능한 메모리 영역. 데이터를 저장하려고하면 분할 충돌을 일으켜 프로세스가 중지된다.전역 변수(global variable)와 정적 변수(static variable)가 저장되어 있는 영역.프로그래머의 필요에 따라 동적 메모

2022년 8월 13일
·
0개의 댓글
·
post-thumbnail

CS Chapter_7 - PCB와 Context Switching

운영체제가 프로세스를 제어하기 위해 정보를 저장해놓은 곳으로, 프로세스의 상태 정보를 저장하는 구조체이다.프로세스 상태 관리와 문맥교환(Context Switching)을 위해 필요하다.PCB는 프로세스 생성 시 만들어지며 주기억장치에 유지된다.쉽게 이해하기 위해 예를

2022년 8월 10일
·
0개의 댓글
·
post-thumbnail

CS Chapter_6 - 프로세스와 스레드/ 멀티 프로세스와 멀티 스레드

프로그램(Program) 이란사전적 의미“어떤 작업을 위해 실행할 수 있는 파일”프로세스(Process) 란“컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램”메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체)운영체제로부터 시스템 자원을 할당받는 작업의

2022년 8월 9일
·
0개의 댓글
·
post-thumbnail

CS Chapter_5 - 컴퓨터 성능 향상 기술

버퍼란, 장치와 장치 간의 데이터 전송을 할 때, 완충작용을 하기 위한 임시 데이터 공간이다. 위의 그림과 같이 입력스트림을 통해 키보드와 컴퓨터(CPU)가 연결되어있다고 생각해 보자키보드라는 입력장치와 컴퓨터의 연산장치는 데이터를 처리하는 속도가 다르다. 즉, 키보

2022년 8월 8일
·
0개의 댓글
·

CS Chapter_4 - 레지스터

프로세서에 위치한 고속 메모리로 극히 소량의 데이터나 처리 중인 중간 결과와도 같은 프로세서가 바로 사용할 수 있는 데이터를 담고 있는 영역을 레지스터라 한다. 플립플롭 : 데이터를 저장 가능한 조합논리회로DR(데이터 레지스터) : 마으크로프로세서, MCU에서 주변 페

2022년 8월 7일
·
0개의 댓글
·
post-thumbnail

CS Chapter_3 - 컴퓨터 구조

폰 노이만 구조는 중앙처리장치(CPU), 메모리, 프로그램 세 가지 요소로 구성되어 있다. 위의 그림처럼 CPU와 메모리는 서로 분리되어 있고 둘을 연결하는 버스를 통해 명령어 읽기, 데이터의 읽고 쓰기가 가능한 구조이다. 이때, 메모리 안에 프로그램과 데이터 영역은

2022년 8월 5일
·
0개의 댓글
·
post-thumbnail

CS Chapter_2 - 커널

프로세스/메모리/저장장치/입출력 시스템 등을 관리하는 운영체제의 핵심적인 기능을 모아놓은 프로그램이다. 그만큼 운영체제의 핵심이라고 할 수 있으며, 운영체제의 성능은 커널이 좌우하게 된다. 컴퓨터가 부팅하는 순간 커널 코드가 메모리에 올라가고, 다른 프로그램과 다르게

2022년 8월 3일
·
0개의 댓글
·
post-thumbnail

CS Chapter_1 - 운영체제

운영체제(Operating System)은 컴퓨터 시스템이 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다. 즉, 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트

2022년 8월 2일
·
0개의 댓글
·

CS_Step16 - 복합 패턴(MVC, MVP, MVVM)

1) MVC 패턴 (Model-View-Controller Pattern) 2) MVP 패턴 (Model-View-Presenter Pattern) 3) MVVM 패턴 (Model-View-View Model Pattern)

2022년 7월 31일
·
0개의 댓글
·

CS_Step15 - 프록시 패턴(Proxy Pattern)

프록시란, '대리'라는 의미로 어떤 일을 대신 시키는 것이다. 예를 들어, 보안상의 이유로 서버를 외부에 노출시키지 않기 위해 서버와 클라이언트의 중간에서 접점을 담당하는 서버를 보고 프록시 서버라고 한다.인터페이스를 사용하고 실행시킬 클래스에 대해 객체가 들어갈 자리

2022년 7월 29일
·
0개의 댓글
·

CS_Step14 - 상태 패턴(State Pattern)

상태 패턴이란?

2022년 7월 27일
·
0개의 댓글
·

CS_Step13 - 컴포지트 패턴(Composite Pattern)

컴포지트 패턴은 여러 개의 객체들로 구성된 복잡 객체와 단일 객체를 클라이언트에서 구별없이 다르게 해주는 패턴을 의미한다.구체적인 부분Leaf 클래스와 전체에 해당하는 Composite 클래스에 공통 인터페이스를 정의한다.구체적인 부분 클래스COmposite 객체의 부

2022년 7월 26일
·
0개의 댓글
·

CS_Step12 - 반복자 패턴(Iterator Pattern)

반복자(Iterator) 패턴은 객체 지향 프로그래밍에서 반복자를 사용하여 컨테이너를 가로지르며 컨테이너의 요소들에 접근하는 패턴이다.다시 말하자면, 집합체의 인터페이스 및 구현을 간단히 만들어주며, 집합체에서는 반복 작업에 손을 떼고 객체 컬렉션 관리에만 전념하게 해

2022년 7월 25일
·
0개의 댓글
·

CS_Step11 - 템플릿 메서드 패턴(Template Method Pattern)

템플릿 메서드 패턴은 템플릿을 제공하는 메소드, 하위 클래스에게 구현을 강제하는 추상 메소드, 하위 클래스가 선택적으로 오버라이딩할 수 있는 Hook 메소드를 두는 패턴을 말한다간단히 말하자면, 상위 클래스의 견본 메서드에서 하위 클래스가 오버라이딩한 메소드를 호출하는

2022년 7월 23일
·
0개의 댓글
·