본문 바로가기

Basic

운영체제의 구조 1. 커널과 인터페이스 운영체제는 크게 커널과, 인터페이스 두 부분으로 나뉜다. - 커널(kernel) 커널은 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것으로, 자동차에 비유하자면 엔진에 해당한다. 이와 마찬가지로 운영체제의 성능은 커널이 좌우한다. - 인터페이스 운영체제에도 인터페이스가 있는데, 이는 커널에 사용자와 응용 프로그램의 명령을 전달하고 실행 결과를 돌려주는 역할을 한다. 2. 시스템 호출(운영체제의 API) 커널 내부에 있는 시스템 호출에 대해 알아보자 시스템 호출(system call)은 커널이 자신을 보호하기 위해 만든 인터페이스이다. 커널은 사용자나 응용 프로그램으로부터 컴퓨터 자원을 보호하기 위해 자원(하드웨어에)에 직접 접근하는 것을 ..
운영체제의 정의와 역할, 필요성, 목표 1. 운영체제의 정의(OS operating system ) - 컴퓨터를 어떻게 운영할것인가에 대한 체제를 제공하는것을 뜻함 - 운영체제는 응용 프로그램, 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터 시스템의 자원을 효율적으로 관리하는 소프트웨어이다. - 하드웨어에 대한 모든 책임을 맡고 있는 운영체제를 거치지 않고는 하드웨어에 접근할 수 없다. - 운영체제는 컴퓨터에 있는 하드웨어(자원)를 조정하고 관리하는 역할을 할때, 하드웨어의 도 움 없이 작동하기가 어렵기 때문에 운영체제를 소프트웨어와 하드웨어의 결합 형태인 펌웨어 firmware 라고 부르기도 한다. - 컴퓨터의 하드웨어와 컴퓨터를 사용하는 사용자 사이에 중재자 역할을 담당한다. - 운영체제는 시스템 소프트웨어이다 - 운영체제는 주로 사..
Context Switching 1. Context Switching이 무엇인가? 멀티프로세스 환경에서 CPU가 어떤 하나의 프로세스를 실행하고 있는 상태에서 인터럽트 요청에 의해 다음 우선 순위의 프로세스가 실행되어야 할 때 기존의 프로세스의 상태 또는 레지스터 값 (Context)을 저장하고 CPU가 다음 프로세스를 수행하도록 새로운 프로세스의 상태 또는 레지스터 값(Context)을 교체하는 작업을 Context Switch(Context Switching)라고 한다 2. Context는 무엇인가? 사용자와 다른 사용자, 사용자와 시스템 또는 디바이스간의 상호작용에 영향을 미치는 사람, 장소, 개체등의 현재 상황(상태)을 규정하는 정보들을 말한다. android나 servlet등에서도 context가 있지만 OS에서 Context..
HTTP 프로토콜의 특징(비연결성과 비상태성) 1. 비연결성(Connectionless)과 비상태성(Stateless) HTTP 프로토콜에는 비연결성(Connectionless)과 비상태성(Stateless)라는 특징이 있다. 비연결성은: 클라이언트가 요청을 한 후 응답을 받으면 그 연결을 끊어 버리는 특징이고 비상태성은: 상태가 없다는뜻, 통신이 끝나면 상태를 유지하지 않는 특징이다. HTTP 통신은 요청에 대해 응답 후 연결이 끊기게 되며 과거에 대한 정보를 전혀 담지 않는다. 이 말은 지금 보낼 HTTP 요청은 지난 번에 내 정보를 담아 보냈던 HTTP 요청과 전혀 관계가 없다 는 말이다. 이렇게 모든 사용자의 요청마다 연결과 해제의 과정을 거치면서 연결 상태를 유지하지 않고 연결 해제 후에도 상태 정보를 저장하지 않는다. 그래서 서버의 자원을..
구글로그인
OAuth 2.0 1. OAuth란? - OAuth는 Open Authorization, Open Authentication 뜻으로 오픈 스탠다드 프로토콜을 말하는 데, OAuth 2.0은 다양한 플랫폼 환경에서 권한 부여를 위한 산업 표준 프로토콜이다. - 애플리케이션(페이스북,구글,트위터등- Service Provider)의 유저의 비밀번호를 나의 서비스에 제공 없이 사용자 인증,인가를 할 수 있는 기술 이다. - 또는 제 3의 앱이 자원의 소유자(서비스 이용자)를 대신하여 서비스를 요청할 수 있도록 자원 접 근 권한을 위임하는 방법이다. 2. OAuth라는 기술과 관련 3명의 참여자 - Mine = 나의 서비스 - User = 사용자(나의 서비스를 사용하는자 ) - Their (나의 서비스가 연동하려고 하는 다른 서..
아파치와+톰캣에 SSL 적용방법 0) 설치 환경 ( OS: 우분투18.04, 웹서버 : 아파치2, 톰캣 9.0 ) 1) 아파치 설정(도메인 주소 설정) sudo nano /etc/apache2/sites-available/000-default.conf 명령어로 파일을 열어주고 아래와 같이 도메인을 설정해줬다. ServerName 도메인 이름 추가 ( 예 :ServerName dokky.ga ) 2) letsencrypt 설치 $ sudo apt-get update $ sudo apt-get install letsencrypt 3) 아파치 STOP(나는 이 순서를 생략해도 잘 동작됬다.) $ sudo service apache2 stop SSL 인증서를 받기 위한 명령어를 쳐야 하는데, 이 명령어가 실행될 때 80포트를 사용하기 때문에 ..
TCP/IP 의 개념 1. 서킷 통신이란? 서로 간 연결이 이루어지면 연결이 끊어질 때까지 해당 회선을 온전히 독점하며 사용을 한다. 기술적으로 이러한 연결 방식을 서킷 통신이라고 부른다. 이 통신 방식은 통신을 원하는 양 쪽이 1:1로 연결되어야 한다. 처음부터 양쪽이 연결되어 있거나 중간에 교환소를 거쳐서 연결이 된다. 일단 연결이 된 상태에서는 해당 회선을 완전히 점유하게 된다. 다른 쪽에서 연결을 하고 싶으면 연결이 이미 연결된 곳이 끊어지기 전까지 기다려야 한다. 2. 서킷 통신의 한계점 서킷 통신에는 한계점이 있다. 회선의 단절되버리면 다시 연결을 해야하고, 누군가 선을 이용중이면 기다려야 한다. 이를 해결할려고, 망을 여러 개 만들면 일부 선이 끊어지더라도 다시 연결할 수는 있을 것이다. 하 지만 중간에 연결이 ..