본문 바로가기
  • 실행력이 모든걸 결정한다
반응형

OS 개념 정리15

[OS] 동기화(2) - OS Solutions 1. Spinlock 1) Spinlock이란? - 정수 변수(S) - 초기화, P(), V() 연산으로만 접근 가능 : 한 번에 수행되는 것이 보장됨 - 원자성 2) P(), V() 연산 3) Spinlock의 문제점 - 멀티 프로세서(2개 이상의 CPU) 시스템에서만 사용 가능 : P()는 한 번에 수행된다는 보장이 있고 p() 내에는 자원 할당 대기를 위한 무한루프문이 존재한다. 즉 단일 프로세서에서는 모든 프로세스가 일을 못하는 경우가 발생할 수 있다. - 여전히 Busy waiting 문제가 존재한다. 2. Semaphore(세마포어) 1) Semaphore란? - Dijkstra가 제안한 기법 - 음이 아닌 정수 변수(S) - 초기화, P(), V() 연산으로만 접근 가능 - Busy wait.. 2021. 5. 28.
[OS] 동기화(1) - 동기화 기초, SW/HW Solutions 1. Synchroniztion 이란? 동기화 운영체제는 다중 프로그래밍 시스템이기 때문에 여러개의 프로세스들이 존재하는데, 병행 수행 중인 비동기적 프로세스들이 공유 자원에 동시에 접근하게 된다면 문제가 발생할 수 있다. 이를 위해 필요한 것이 동기화이다. 동기화는 프로세스들이 서로 동작을 맞추고 정보를 공유하는 것을 의미한다. 2. Synchronization 용어 1) Shared data or Critical data - 프로세스간 공유 데이터 2) Critical section(임계 영역) - 공유 데이터를 접근하는 코드 영역(code segment) - 임계 영역의 3가지 필요 조건 (1) 상호 배제(Mutual exclusion) : 둘 이상의 프로세스가 임계 영역에 동시 진입 불가 (2) .. 2021. 5. 24.
[OS] Scheduling 1. Scheduling이란? 한 개 이상의 프로세스들을 CPU에 할당하는 방식 쉽게 말하면, 하나의 CPU를 여러 프로세스들이 어떤 규칙으로 돌려 쓸 것인지 정하는 방식이다. 자원 관리 방식에는 시간 분할과 공간 분할이 있는데 스케쥴링이 시간 분할에 해당된다. 2. 시스템 성능 지표 응답 시간(요청~응답) 작업 처리량 : 단위 시간동안 완료된 작업의 수 자원 활용도 : 주어진 시간동안 자원이 활용된 시간 공평성 스케쥴링 기법은 위의 [시스템 성능 지표]를 고려하여 선택한다. 3. Scheduling 용어 대기 시간(Waiting Time) : 프로세스가 대기열에서 대기한 시간 실행 시간(Burst Time) : 프로세스를 처리하는데 드는 시간 응답 시간(Response Time) : 대기열 도착 ~ 첫.. 2021. 5. 19.
[OS] Thread 1. 스레드(Thread)란? 프로세스 내부에 존재하는 최소 작업단위. 한 개 이상의 스레드가 프로세스의 자원을 제어할 수 있음. ※ 전통적 프로세스 = 단일 스레드 프로세스 2. 스레드의 구성 요소 1) Thread ID 2) Register set(Program Counter, Stack Pointer) 3) Stack(지역 변수 등) 3. 스레드의 장점 1) 사용자 응답성 : 일부 스레드의 처리가 지연되어도 다른 스레드는 작업을 계속 처리 가능 2) 자원 공유 : 커널의 개입을 피할 수 있기 때문에 효율성이 증가 3) 경제성 : Context Switch에 비해 효율적 4) 병렬 처리를 통한 성능 향상 4. 스레드의 구현 1) 사용자 수준 스레드 스레드 라이브러리로 구현되며, 커널은 스레드의 존재를.. 2021. 5. 13.
[OS] 프로세스 1. 프로세스란? kernel에 등록된 실행 단위 실행중인 프로그램 PCB를 할당 받은 개체 2. PCB 1) PCB란? 프로세스 관리에 필요한 정보를 저장하는 곳 2) PCB가 관리하는 정보 PID : 프로세스 고유 식별 번호 스케쥴링 정보 레지스터 정보 프로세스 상태 정보 메모리 관리 정보 입출력 상태 정보 문맥 저장 영역 계정 정보 : 자원 사용 시간 등 3. 프로세스의 상태 ※ 자원(Resource) : kernel의 관리 하에 프로세스에게 할당 또는 반납 되는 개체 1) Created State : 프로세스가 생성된 상태 전이 가능한 상태 ready(메모리 할당 공간이 존재할 경우) suspended ready(메모리 할당 공간이 존재하지 않을 경우) 2) Ready State : 자원은 준비 .. 2021. 5. 12.
[OS] 운영체제와 하드웨어 기본 1. 운영체제 Operating System 사용자가 컴퓨터를 쉽게 다룰 수 있는 환경을 제공해주고 시스템 자원들을 효율적으로 관리해주는 소프트웨어 1) 운영체제의 역할 편리한 User Interface(GUI, CUI) 제공 효율적인 HW, SW 자원 관리 프로세스 관리(스케쥴링)와 쓰레드 관리 시스템 보호 2) 운영체제의 구조 깊은 순서대로 [하드웨어 -> 드라이버 -> Kernel -> System Call Interface -> Shell -> 응용 프로그램]이다. 여기서 드라이버 -> Kernel -> System Call Interface -> Shell 부분이 운영체제다. (1) 드라이버 - 하드웨어를 제어한다. (2) Kernel - 운영체제의 핵심이 되는 프로그램들중 하나로 시스템의 모든.. 2021. 5. 7.