Computer Science/Operating System
-
7.CPU SchedulingComputer Science/Operating System 2021. 8. 21. 16:25
∙스케줄링 ∘CPU를 효율적으로 사용하기 위해 프로세스를 배정하는 과정 -조건: 적은 오버헤드, 높은 사용률, 적은 기아 현상 -가능하면 많은 일을 수행. -빠른 응답 시간, 적은 대기 시간 -기한(deadline)안에 수행 ∙프로세스 상태와 상태 전이 ∙비선점 스케줄링 ➀FCFS(First Come Fist Served) -큐에 도착한 순서대로 CPU에 할당 -실행 시간이 짧은 프로세스가 뒤로 가면 평균 대기 시간이 길어진다. ➁SJF(Shrtest Job First) -수행시간이 가장 짧다고 판단되는 프로세스를 먼저 수행 -FCFS 보다 평균 대기 시간 감소. 짧은 작업에 유리 ∙선점 스케줄링 ➀Priority Scheduling -정적/동적으로 우선순위를 부여하여 우선순위가 높은 순서대로 처리 -우..
-
6.IPC(Inter Process Communication)Computer Science/Operating System 2021. 8. 20. 00:31
∙IPC ∘독립적 구조를 가진 프로세스 간의 통신 -커널이 제공하는 IPC 설비를 이용해 프로세스간 통신한다. ➀익명 PIPE -통신할 프로세스를 알 수 있는 경우에 사용 -두 개의 프로세스를 연결하는데 하나는 데이터를 쓰기만 하고, 다른 하나는 읽기만 할 수 있다. -한쪽 방향으로만 통신이 가능한 반이중 통신 -양쪽으로 모두 송/수신(전이중 통신) 하고 싶으면 2개의 파이프가 필요하다. 구현이 복잡하다. -단순한 데이터 흐름을 가질 때 사용하는 것이 효율적 ➁Named PIPE -전혀 모르는 상태의 프로세스들 사이 통신에 사용 -통신을 위해 이름있는 파일을 사용(Named) -익명 PIPE와 같은 반이중 통신 ➂Message Queue -PIFE와 같은 데이터 흐름이 아닌 메모리 공간이다. -사용할 데..
-
5.PCB(Process Control Block), Context SwitcingComputer Science/Operating System 2021. 8. 19. 23:46
∙Process Metadata ∘프로세스들의 특징 ∙PCB(Process Control Block) ∘프로세스 메타데이터를 저장하는 공간 -한 PCB안에 한 프로세스 정보가 담긴다. -앞으로 다시 수행할 대기 중인 프로세스를 PCB에 저장해둔다. -Linked List방식으로 PCB List Head에 PCB들이 생성할 때마다 추가된다. ∙Context Switching ∘CPU가 이전 프로세스 상태를 PCB에 보관하고, 다른 정보를 PCB에서 읽어 레지스터에 적재하는 과정 출처 링크
-
3.인터럽트(Interrupt)Computer Science/Operating System 2021. 8. 17. 15:52
∙인터럽트 ∘프로그램 실행 도중 예기치 않은 상황 발생 시 실행 중 작업을 중단하고 발생 상황을 처리 한 후 실행 중이던 작업으로 복귀하여 계속 진행하는 것 ➀외부 인터럽트: 입출력 장치, 전원 등 외부적인 요인으로 발생 ➁내부 인터럽트: 잘못된 명령이나 데이터를 사용할 때 발생(Trap) ➂소프트웨어 인터럽트: 더 우선순위가 높은 명령을 요청 받을 때 발생 ∙인터럽트 처리 과정 ∘현재 수행 중인 프로그램을 멈추고, 상태 레지스터와 PC 등을 스택에 잠시 저장 하고 인터럽트 서비스 루틴으로 간다. 서비스 루틴이 끝나고 스택에 잠시 저장했던 정보를 불러와 다시 수행한다. -수행 중인 정보를 스택에 임시 저장하기 위해 하드웨어의 지원을 받아야 한다. -폴링 방식에 비해 신속하게 대응 할 수 있다. -발생 시..
-
2.프로세스(Process), 스레드(Thread)Computer Science/Operating System 2021. 8. 16. 00:24
∙프로세스 ∘메모리상에서 프로그램을 실행중인 작업 단위(주소 공간 할당) -기본적으로 프로세스 마다 최소 1개의 스레드 소유 -프로세스는 각각 별도의 독립된 주소 공간 할당 ➀Code: 코드 자체를 구성하는 메모리 영역 -같은 프로그램은 모두 같은 내용이기 때문에 따로 관리하여 공유 ➁Data: 전역변수, 정적변수, 배열 등 초기화된 데이터의 메모리 영역 -공통으로 사용하는 변수는 따로 모아 메모리 절약 ➂Heap: 동적 할당 메모리 영역 ➃Stack: 지역변수, 매개변수, 리턴 값 등 임시 메모리 영역 -LIFO(Last In First Out)으로 실행 ∙멀티프로세스 ∘하나의 컴퓨터에 여러 CPU를 장착하여 하나 이상의 프로세스들을 병렬적으로 동시에 처리하는 것 -장점: 메모리 침범 문제를 OS 차원..
-
1.운영체제(OS)(Operating System)Computer Science/Operating System 2021. 8. 16. 00:12
∙운영체제 ∘시스템의 자원(리소스)과 동작을 관리하는 소프트웨어 ➀프로세스 관리 : CPU를 사용할 프로세스를 결정하고 할당하며, 프로세스 간 공유 자원 접근과 통신 관리 -프로세스, 스레드 -스케줄링 -동기화 -IPC 통신 ➁저장장치 관리 : 1차 저장장치(메인 메모리)와 2차 저장장치(하드디스크, NAND 등) 관리 (1차 저장 장치: 프로세스에 할당 하는 메모리, 효율적 활용을 위한 가상 메모리 기능) (2차 저장 장치: 파일 형식 데이터 저장, 파일 시스템 관리) -메모리 관리 -가상 메모리 -파일 시스템 ➂네트워킹 : TCP/IP와 같은 네트워크 프로토콜 지원 -TCP/IP -기타 프로토콜 ➃사용자 관리 : 한 컴퓨터를 여러 사람이 사용하는 환경 지원 -계정 관리 -접근 권한 관리 ➄디바이스 드..