PCB와 Context Switching
·
Computer Science/Operating System
컴퓨터에서 일어나는 다중 작업은 동시에 처리하는 것이 아닌각 프로그램을 일정시간 동안 번갈아가면서 실행하는 것이다.다만 그 속도가 매우 빠르기에 동시에 처리한다고 느끼는 것이다. 프로세스들이 교체되어 수행되고 나면 원래 수행하던 프로세스의 정보를 저장하고다른 프로세스를 처리해야 하는데, 이를 저장하는 공간을 PCB(Process Control Block) 라고 한다.PCBPCB : 운영체제에서 관리하는 프로세스에 대한 메타데이터를 저장한 데이터블록프로세스가 생성될 때 고유의 PCB가 생성되며 종료되면 PCB가 제거됨커널의 데이터 영역에 저장됨실행 상태일 때는 프로그램 카운터 레지스터 값 등이 CPU 레지스터에 로드됨 Pointer: 프로세스 전환 시 위치 정보를 유지하는 스택 포인터Process Stat..
메모리 계층 구조
·
Computer Science/Operating System
메모리 계층 구조?컴퓨터 시스템에서 데이터 저장과 접근을 최적화하기 위해 설계된 구조 메모리 계층 구조를 사용하는 이유컴퓨터 시스템의 성능과 효율성을 최적화하기 위함성능 최적화: CPU가 필요한 데이터에 빠르게 접근할 수 있도록 함비용 효율성: 고가의 고속 메모리와 저가의 대용량 메모리를 적절히 조합함데이터 관리 효율화: 자주 사용되는 데이터를 빠른 메모리에 저장하여 전체 시스템의 효율을 높임레지스터CPU 내부에서 데이터를 직접 처리하는 가장 빠른 메모리현재 실행중인 명령어명령어 레지스터(IR)가 처리하며 “LOAD A, 100”과 같은 현재 실행중인 명령어를 저장연산에 필요한 임시 데이터메모리 주소프로그램 카운터다음에 실행할 명령어의 주소 저장캐시CPU와 주 메모리 사이의 속도 차이를 줄이는 고속 버퍼..
쿠키 & 세션
·
Computer Science/Network
쿠키와 세션은 HTTP 프로토콜의 Connectionless, Stateless 특성을 보완하기 위해 사용되는 기술Stateless: 서버가 클라이언트의 이전 상태를 보존하지 않음Stateless 환경을 보완하지 않은 상태로 서비스를 운영하게 되면??로그인이 필요한 모든 페이지로 이동할 때마다 새로 로그인을 하게 되는 상황 발생쿠키웹사이트가 사용자의 브라우저에 저장하는 작은 데이터 파일로, 사용자의 상태 정보를 유지하고 웹사이트의 기능을 향상시키기 위해 사용사용자의 컴퓨터나 모바일 기기의 로컬 저장소에 저장브라우저는 이 로컬 저장소에 접근하여 쿠키를 읽고 사용클라이언트에서 먼저 설정할 수도 있고 서버에서 먼저 설정할 수 있으나, 보통은 서버에서 먼저 설정해서 쿠키를 만들어줌로그인, 장바구니, 사용자 커스..
OSI 7 layer
·
Computer Science/Network
OSI 7 layer의 탄생 배경네트워크란?컴퓨터나 기타 기기들이 리소스를 공유하거나 데이터를 주고 받기 위해 유선 혹은 무선으로 연결된 통신 체계네트워크의 역할애플리케이션 목적에 맞는 통신 방법 제공신뢰할 수 있는 데이터 전송 방법 제공네트워크 간의 최적의 통신 경로 설정목적지로 데이터 전송노드 사이의 데이터 전송프로토콜이란?데이터를 송수신 하기 위한 규칙위 모든 역할을 하나의 네트워크 프로토콜에서 하게 된다면?유지 보수 및 기능 추가의 어려움🚩 모듈화를 통해 계층별로 구분하자 → OSI 7 layerOSI 7 layer물리 계층: 비트 단위의 데이터 전송을 담당bits 단위로 데이터 전송데이터링크 계층: 인접 노드 간 데이터 전송, 오류 검출 및 수정직접 연결된 노드 간의 통신 담당MAC 주소 기반..
컨텍스트 스위칭(context switching)
·
Computer Science/Operating System
context switching이란?context는 프로세스의 상태 정보를 의미하며 CPU 혹은 코어에서 실행 중이던 (프로세스 / 스레드) 가 다른 (프로세스 / 스레드)로 교체되는 것으로여러 프로세스 및 스레드를 동시에 실행시키기 위해서 필요하다. context switching이 발생하는 조건주어진 time slice(quantum)를 전부 사용했거나, IO 작업을 해야하거나, 다른 리소스를 기다려야 하는 등의 이유로 발생하게 됨 context switching은 누구에 의해 실행되는가??OS kernel : 운영체제의 핵심ontext switching이란?CPU 혹은 코어에서 실행 중이던 (프로세스 / 스레드) 가 다른 (프로세스 / 스레드)로 교체되는 것으로여러 프로세스 및 스레드를 동시에 실행..
프로세스와 스레드
·
Computer Science/Operating System
사전 지식프로세스란?컴퓨터에서 실행중인 프로그램이며각각의 프로세스는 독립된 메모리 공간을 할당 받고, 명령어들과 데이터를 가짐 컴퓨터 시스템 발전 과정1. 단일 프로세스 시스템한 번에 하나의 프로그램만 실행▶ 또 다른 프로그램을 실행하기 위해서는, 먼저 실행되었던 프로그램이 종료된 후에 실행해야 함 한계점 : CPU의 자원이 낭비됨 만약P1 이라는 프로세스가 CPU를 사용하기도 하며, IO 작업을 진행할 수 있다는 가정하에 P1이 프로세스 도중 IO 작업을 만나게 된다면 어떻게 될까?? ▶ IO 작업 중 CPU는 아무런 작업 없이 자원을 낭비하게 됨 해결책 : 여러 개의 프로그램을 메모리에 올려놓고 동시에 실행하자 ▶ IO 작업이 발생 했을 때 남는 시간에 다른 프로세스가 CPU에서 실행됨이러한 방식의 ..