컴퓨터상식
-
메모리구조컴퓨터상식/운영체제(OS) 2022. 3. 4. 03:21
1. 메모리 구조 프로그램이 실행되면 운영체제(OS)는 메모리(RAM)에 이 프로그램을 위한 공간을 할당 - 공간은 다음과 같이 총 4가지(Code, Data, Heap, Stack)으로 나뉜다 1-1. 코드(Code) 영역 기계어는 컴퓨터가 읽을 수 있는 가장 밑단의 언어로 0과 1로만 이루어진 언어를 의미 1-2. 데이터(Data) 영역 Swift 예제 name과 age는 전역 변수로, country는 static 상수로, 데이터 영역에 할당됨 1-3. 힙(Heap) 영역 위 정의에서 malloc, calloc으로 힙에 메모리(전역변수, static변수)를 할당한다고 했는데, 스위프트에선 위 함수들을 통해 직접 할당할 일이 없지만 자동으로 힙에 할당하고 있었음 --> 클래스 인스턴스(Class Ins..
-
iOS) HTTP / HTTPS / RESTful 이 도대체 뭘까컴퓨터상식/네트워크,통신 2022. 1. 27. 08:55
1. Socket vs HTTP 자, 먼저 Server와 통신 방법 중 가장 대표주자인 Socket과 HTTP에 대해서 비교를 하며 설명할 것임 Socket 통신 Socket 통신은 한번 연결에 성공하면, 연결이 계속 유지됨!!! (임의로 끊거나, 네트워크 사정 상 끊기는 것이 아니라면) 따라서, 연속적(실시간)으로 데이터를 받아야 하는 경우인 실시간 스트리밍, 채팅 같은 서비스에 사용되는 것임 또한 양방향 통신이라, 보통 Client가 Server에게 데이터를 요청하지만, 반대로 Server가 Client에게 데이터를 요청할 수도 있음 이것이 Socket 통신 :) HTTP 통신 HTTP 통신은 Client에서 데이터가 필요할 때마다 Server에게 요청하고, Server는 그 데이터를 응답하고 그리고..
-
[쓰레드의 모든것] 프로세스, 쓰레드, 단일/멀티 쓰레드, 동기/비동기 프로그래밍, 코어 간략 정리컴퓨터상식/운영체제(OS) 2022. 1. 13. 07:57
프로세스 vs 쓰레드 안녕하세요. 지금까지 학습해온 프로세스와 쓰레드의 개념부터, 단일/멀티 쓰레드는 물론 동기/비동기 프로그래밍, 코어의 개념을 정리해보았습니다. 우선 프로세스와 쓰레드의 개념부터 알아보도록 합시다. 프로세스 프로세스는 간단하게 OS에서 하나의 실행중인 프로그램이라고 할 수 있습니다. 프로세스는 리소스와 쓰레드로 구성되며, 모든 프로세스는 하나 이상의 쓰레드를 가지고 있습니다. 쓰레드 쓰레드는 경량화된 프로세스라고 생각하시면 됩니다. 실제로 프로세스 내에서 실제 작업을 수행합니다. 쓰레드는 하나의 프로세스에서 여러 개가 존재할 수 있는데, 이들을 서로 Code, Data, Heap 영역을 공유합니다. 안드로이드에서의 쓰레드 단일 쓰레드 안드로이드에서도 앱을 실행하면 해당 앱의 프로세스가..