[운영체제] PCB(Process Control Block) & Context Switching
CS/운영체제2022. 3. 17. 17:21[운영체제] PCB(Process Control Block) & Context Switching

✔️ Process Management 프로세스란 실행 중인 프로그램을 의미하며 구체적으로 시스템(커널)에 등록되고 커널의 관리하에 있는 작업을 뜻한다. 또한 프로세스는 각종 자원들을 요청하고 할당받을 수 있는 프로세스 관리 블록(PCB)를 할당받은 개체이다. 프로세스 관리란 CPU가 여러개의 프로세스가 있을 때 CPU 스케줄링을 통해 프로세스를 관리하는 것을 말한다. 이때, CPU는 각 프로세스들을 식별할 수 있어야 관리가 가능하다. 프로세스의 특징을 갖고 있는 것이 바로 Process Matadata이다. ✔️ Process Matadata process-id : 새로운 프로세스에 시스템이 할당해주는 고유 id process- state : 프로세스의 라이프 타임과 관련된 상태로, waiting, r..

[운영체제] System Call
CS/운영체제2022. 3. 14. 16:19[운영체제] System Call

✔️ System Call 이란 ? 시스템 콜(System Call)은 운영체제의 커널이 제공하는 서비스에 대해 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스다. ✔️ System Call 사용 이유 ? 운영체제는 PC를 보호하기 위해 커널 모드(Kernel Mode)와 사용자 모드(User Mode)로 나뉘어 구동된다. Kernel Mode VS User Mode Kernel Mode I/O Devices를 포함해서 모든 주소 영역에 접근 가능하다. User Mode 명령어의 일부와 HW feature의 일부만 사용이 가능하다. I/O나 Memory Protection을 포함한 명령은 사용이 불가하다. 커널 모드와 유저 모드의 구분에는 모드 비트(mode bit)를 사용하며 이 비트가 1..

[운영체제] 인터럽트(Interrupt)
CS/운영체제2022. 3. 14. 14:46[운영체제] 인터럽트(Interrupt)

✔️ 인터럽트란 ? CPU가 프로그램을 실행하고 있을 때 예외상황이 발생해 처리가 필요할 경우 현재 실행중인 작업을 중단하고 발생된 상황을 처리한 뒤 다시 실행중인 작업으로 복귀하는 것을 말한다. 입출력 연산이 CPU 연산 수행속도보다 현저히 느리기 때문에 사용한다. I/O 연산이 끝난 이후 I/O Device는 인터럽트를 통해 CPU에게 알리고 CPU는 I/O 연산 결과를 이용해 작업을 완료한다. ✔️ 인터럽트의 종류 인터럽트의 종류는 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 나뉠 수 있다. 외부 인터럽트 전원 이상 인터럽트(Power fail interrupt) : 말그대로 정전, 파워 이상 등 기계 착오 인터럽트(Machine check interrupt) : CPU의 기능적인 오류 외..

[운영체제] 프로세스 & 스레드
CS/운영체제2022. 3. 14. 12:26[운영체제] 프로세스 & 스레드

✔️ 프로세스란 ? 메모리 영역에 올려 실행 중인 프로그램의 인스턴스(독립적인 개체) 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 하나의 프로세스는 반드시 하나 이상의 스레드를 가진다. 운영체제로 부터 시스템 자원을 할당받는 작업의 단위 시스템 자원 1) CPU 시간 2) 운영되기 위해 필요한 주소 공간 3) Code, Data, Stack, Heap의 구조로 되어 있는 독립된 메모리 영역 ✔️ 프로세스의 특징 프로세스는 각각 독립된 영역(Code, Data, Stack, Heap의 구조)을 할당 받는다. 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료 구조에 접근할 수 없다. 한 프로..

[Linux] Apache
Linux2022. 3. 11. 12:35[Linux] Apache

✔️ Apache란 ? Apache 재단에서 만든 HTTP 서버이며 세계에서 가장 많이 쓰이는 웹 서버 중 하나이다. 다양한 플랫폼에서 동작할 수 있도록 강력하고 유연한 설계 동적 공유객체 지원 모든 사용으로 기능 추가가 용이 ✔️ Apache 설정 패키지 설치 yum -y install httpd 서비스 시작 및 활성화 systemctl start httpd systemctl enable httpd 방화벽 설정 firewall-cmd --add-service=http --permanent firewall-cmd --reload ✔️ Apache 구성 /etc/httpd/conf/httpd.conf 키/값 구성 지시문과 HTML 유사 블록 2부분으로 구성 블록 외부의 키/값 구성은 전체 서버 구성에 영향..

image