분류 전체보기 58

메모리 계층 구조(Memory Hiearachy)란?

메모리 계층 구조(Memory Hiearachy) 메모리를 속도, 용량, 비용간의 관계를 고려해 좀 더 효율적으로 사용할 수 있게 여러가지 종류로 나타낸 구조입니다.위로갈수록 CPU에 접근하는 속도가 빨리지지만 저장 용량이 적고 비용이 많이 들며,아래로 내려갈수록 접근속도는 느려지지만 저장공간이 많아집니다. - 레지스터 : CPU 내의 작은 메모리, 휘발성, 속도 가장 빠름, 기억 용량이 가장 작음- 캐시 : CPU내의 L1, L2 캐시를 지칭. 휘발성, 속도 빠름, 기억 용량이 적음- 주기억장치 : RAM을 가리킴. 휘발성, 보통 속도, 기억 용량 보통- 보조기억장치 : HDD, SDD를 가리킴. 비휘발성, 속도 낮음, 기억 용량이 많음    메모리 계층 구조의 필요성 자주 접근하는 데이터는 빠른 메모..

운영체제에서 인터럽트(Interrupt)란?

인터럽트(Interrupt) 시스템 내부 또는 외부에서 발생하는 예기치 못한 사건에 의해, 프로세서(흔히CPU)가 실행 중인 프로그램의 작업을 잠시 중단시키고 다른 프로그램을 수행하도록 하는 명령어입니다.주로 산술 연산오류, 프로세스 오류, I/O 디바이스 사용에 의해 발생됩니다.  인터럽트의 종류 1.하드웨어 인터럽트컴퓨터의 외부 하드웨어 기기인 키보드나 마우스, 네트워크 카드에 의한 인터럽트를 의미합니다. 2.소프트웨어 인터럽트프로세스 오류, 프로세스의 시작과 종료 등 CPU에 의해 실행되고 있는 프로그램에 의한 인터럽트를 의미합니다.   인터럽트의 역할 - 인터럽트는 현대의 운영체제가 하드웨어와의 상호작용을 향상시켜, CPU가 멀티 프로그래밍을 가능하게 하는 핵심 역할을 수행 - 인터럽트는 갑작스러..

컴퓨터 시스템의 구조(CPU, 메모리, 보조기억장치, 입출력 장치 등)

컴퓨터에는 여러가지 종류가 존재합니다. 스마트폰, 노트북, 데스크톱, 아두이노 등등이들을 구성하는 구성요소는 대부분 4가지로 구분됩니다.가장 큰 사각형은 메인보드입니다.메인보드 안에 시스템 버스(양방향 수직 화살표)가 있습니다.CPU내부에는 ALU(산술논리연산장치), 제어장치와 여러 레지스가 있습니다.CPU에는 메인보드 내 시스템 버스와 연결되어 있습니다.메모리는 메인보드 내 시스템 버스와 연결되어 있습니다.보조기억장치는 메인보드 내 시스템 버스와 연결되어 있습니다.모니터, 키보드, 마우스 등은 메인보드 내 시스템 버스와 연결되어 있고, 이들을 입출력장치라고 부릅니다.  1.중앙처리기억장치(Central Processing Unit) 흔히 CPU로 불리우는 장치이며 컴퓨터의 두뇌라고 할 수 있습니다.산술..

운영체제(Operation System)의 정의와 구조

운영체제(OS)란 유저가 컴퓨터를 편하게 사용할 수 있게 모든 하드웨어와 응용 프로그램간의 상호작용을 돕는 역할을 합니다.컴퓨터 하드웨어에는 CPU, 메모리, I/O 디바이스(마우스, 키보드 등) 등이 존재하고 응용프로그램(카카오톡, ppt, excel 등)이 존재합니다.  운영체제의 구조 운영체제에는 커널, 인터페이스, 시스템 콜, 드라이버 총 4가지로 구성되어 있습니다. 1. 커널(kernel)커널은 운영체제의 핵심 부분으로 하드웨어와 소프트웨어 사이의 통신을 담당하고메모리 관리, 프로세스 관리, 파일시스템 관리, 장치 드라이버 관리 등 중요한 기능을 수행하며사용자와 직접적인 상호작용을 하지 않고 백그라운드에서 실행됩니다. 2.인터페이스(Interface)인터페이스는 사용자의 명령을 컴퓨터에 전달하고..

대규모 트래픽 발생 시 해결 방안 및 서버 과부하 방지

요즘 면접 질문에도 많이 나온는 주제인  대규모 트래픽에 관한 얘기입니다.예를들어 하루 평균 접속자 수가 100명인 쇼핑몰에서 그 날 라이브쇼핑이 대박이 난겁니다.동시접속자 수가 1만명이 되는 순간 서버가 다운되고 말았습니다.이러면 회사입장에서 손해가 막심할 수 밖에 없습니다. 이러한 현상이 왜 일어나는지그리고 방지하려면 어떻게 해야하는지 알아봅시다.  발생원인 기본적으로 한 사람이 서버에 접속하게되면 가장 기본적으로 이 사람에 대한1. 아이디 및 비밀번호를 체크해 로그인을 해야 하고2. 이 사람이 쇼핑을 할 수 있게 쇼핑몰이 가지고 있는 제품을 보여줘야하고3. 찜하기, 장바구기 넣기 등의 데이터를 물고있어야하며4. 결제 시 API요청 해 구매가 되고 구매가의 %의 포인트 및 쿠폰을 지급하며5. 물건 수..

WIFI(무선랜) 주파수 2.4GHz와 5GHz차이 그리고 대역폭

흔히 사용하는 와이파이에는 2.4GHz와 5GHz가 있을 것 이다.어떤 상황에서 어떤 주파수를 이용해야 좀 더 빠르고 원활한 데이터 수급이 가능한지 알아보자. 먼저 와이파이는 공기중에 주파수를 쏘아 신호를 전달하는 방법인데요.위의 그림과 같이 2.4 GHz 는 파동이 크지만 Y축의 거리가 멀어 속도가 느리며5 GHz 는 파동이 작은대신 속도가 빠르게 전파됩니다. 그렇다면 어떤 상황에서 어떤 주파수를 쓰는게 유리할까? 사진만 봐서는 이게 무엇인지 감이 안잡힐 것 이다.  2.4 GHz 의 특징을 보면 속도가 느린 대신 파장이 크다. 즉, 속도는 늦지만 강하고 멀리간다 는 장점이 있습니다. * 공유기로부터의 장애물이나 사각지대가 많은 지형* 공유기로부터 먼 거리의 지형* 좀 오래된 기기로 인해 와이파이 연결..

List<Map<key,value>> 형태를 JSONArray로 변환하기

오늘은 List>과 Map를 JSON형태로 변환하는 과정에 대해 알아보자. /*테스트용 List> 생성*/List> testList = new ArrayList();Map testMap1 = new HashMap();Map testMap2 = new HashMap();Map testMap3 = new HashMap();testMap1.put("key1","value1");testMap2.put("key2","value2");testMap3.put("key3","value3");testList.add(testMap1);testList.add(testMap2);testList.add(testMap3);먼저 위와 같은 ListMap이 있다고 가정하겠습니다 /*ListMap을 JsonArray로 변환하는 함수*..

TCP/IP 레이어별 네트워크 장치(L1~L7스위치, 허브, 라우터 등)의 역할

먼저 TCP/IP 4계층에 대해 개념을 정리하고 보시면 도움이됩니다.https://steady-snb.tistory.com/25 TCP/IP 4계층? OSI 7계층? 이 도대체 뭘까TCP/IP 4계층이란? 인터넷상에서 데이터를 주고받을 때 쓰이는 프로토콜의 모음입니다. OSI 7계층이란? 위에서 설명한 프로토콜에 대한 디자인과 통신을 계층으로 나누어 설명하기 위한 모델입steady-snb.tistory.com TCP/IP 계층별로 담당하는 네트워크 장비들이 존재합니다. 애플리케이션 계층 : L7스위치전송계층 : L4스위치인터넷 계층(네트워크 계층) : 라우터, L3스위치데이터 링크 계층 : L2스위치, 브리지물리계층 : NIC, 리피터, AP  애플리케이션 계층 L7 스위치는 로드밸런서라고도 불리우며 O..

HTTP메서드 멱등성의 정의와 API에서 멱등성 구현법

HTTP멱등성이란? 하나의 요청이 아닌 여러번 동일한 요청의 보냈을 때 서버가 같은 상태를 가지는 것을 멱등성이라고 합니다.만약 HTTP의 요청이 멱등하다면, 요청이 실패한 경우 주저없이 재시도 요청을 하면 되지만요청이 멱등하지 않다면, 리소스는 이미 처리되었는데 중복으로 요청을 보낼 수 있게됩니다.예를들어 결제 후 처리과정에서 오류가 났을 경우 이미 결제된 건에 대해 재요청을 하게되면 문제가 될 것 입니다.그래서 클라이언트는 멱등성을 고려하여 재시도 요청을 해야합니다. HTTP메서드의 멱등여부 GET, PUT, DELETE처럼 리소스를 조회하거나 대체하는 메서드는 멱등합니다.PUT은 여러 번 호출해도 매번 같은 리소스로 업데이트되기 때문에 결과가 달라지지 않습니다.DELETE 역시 여러 번 호출해도 삭..

HTTP메서드 GET, POST의 정의 및 차이점에 대해 알아보자

클라이언트와 서버를 통신에 사용되는 HTTP 요청 메서드에는 GET, POST, PUT, PATCH, DELETE 등이 존재합니다.이 메서드 중 가장 자주 쓰이는 GET방식과 POST방식의 차이와 쓰임새에 대해 알아봅시다.   GET방식은 주로 서버에서 데이터를 조회하는 용도로 사용되며 요청된 데이터는 URL의 쿼리 스트링을 통해 전달됩니다. POST방식은 서버에 리소스를 처리(주로 데이터를 추가하거나 수정)할 때 사용되며주로 HTTP메세지의 Body에 데이터를 담아 전송합니다.   GET과 POST방식의 차이점 - 가시성 GET요청에서는 데이터가 URL에 노출되므로 브라우저 기록, 서버 로그 및 네트워크의 다른 사람들에게 보일 수 있습니다.POST요청은 Body에 데이터를 담아 보내기 때문에 좀 더 높..