-
[운영체제] 05. 스케쥴링
CS/OS 2023. 5. 16. 00:0705 .스케링 문제 - 작업 스케쥴링 : 대기중인 배치 작업 중 메모리에 적재할 작업 - cpu 스케쥴링 : 프로세스/ 스레드 중 하나를 선택하여 cpu 할당 (오늘날은 스레드) - 디스크 스케쥴링 : 디스크 장치 내에서 입출력 요청 처리 순서 - 프린터 스케쥴링, 네트워크 스케쥴링, 서버에서의 요청 처리 등 다중프로그래밍 도입 목적 : 여러 프로세스가 하나의 cpu돌아가며 사용 -> 어떤 순서로 돌아갈지? 스케쥴링 필요 ! 이걸 잘하면 cpu의 유휴(대기)시간 줄고, cpu 활용률 향상 다중프로그래밍의 2가지 스케쥴링 1. 작업 스케쥴링 : 디스크장치로 부터 메모리에 올릴 작업 선택하기 2. cpu 스케쥴링 : 메모리에 적재된 작업 중 cpu에 실행 시킬 프로세스 선택하기 스케쥴링 level ~ 발생 ..
-
[운영체제] 04. 스레드
CS/OS 2023. 5. 16. 00:0604. 스레드 프로세스의 문맥교환 문제 -> 스레드 등장 오늘 날 실질적 실행 단위 : 스레드 , 함수하나 = 쓰레드 스레드 : 프로세스보다 더 작은 실행단위, 운영체제가 작업 스케쥴링 하는 단위 pthread_t = tid; pthread create(id, attribute, function_pointer, argument) 프로세스는 스레드의 컨테이너 , 프로세스는 스레드들의 공유공간 (모든 스레드는 프로세스의 코드,데이터,힙 공유) 쓰레드의 주소공간은 프로세스 주소공간 내 형성 side- by - side 형태 스레드 사적 공간 1. 스레드 코드 2. 스레드 스토리지(TLS) 3. 스레드 스택 공유공간 1. 프로세스 코드 2. 프로세스 데이터(로컬 스토리지 제외) 3. 프로세스 힙 스레드는 스케쥴..
-
[운영체제] 03. 프로세스
CS/OS 2023. 5. 16. 00:0603. 프로세스 1. 운영체제가 프로세스 초기구동하는 데 사용되는 파일(프로그램) - 저장장치에 정적으로 저장되어 있음 2. 운영체제는 실행가능 한 파일 읽어들여 프로그램 실행 3. 프로그램 실행되면 프로세스 ! 프로세스 : 실행파일이 메모리에 로딩되어 실행되는 상태 (= 프로그램이 주기억 장치에 상주되고 cpu에 의해 처리되는 상태, cpu에 의해 현재 실행되고 있는 프로그램, 실행을 위해 메모리에 올라온 동적인 상태 , 프로그램과 달리 메모리에 주소 공간 갖는 능동적 개체 ) OS는 Process Control Block (PCB)를 통해 프로세스 관리 메모리 올라간다고 프로세스 아님, PCB로 운영체제가 제어 가능해야 CPU할당 받을 수 있음 여러 프로그램 동시 실행 -> 다중프로그래밍 : 여러 프..
-
[운영체제] 02. 컴퓨터 아키텍쳐
CS/OS 2023. 5. 16. 00:0502. 컴퓨터 아키텍쳐 응용프로그램 - 운영체제 - 하드웨어 응용프로그램은 하드웨어에 대해 직접 접근 불가 , 반드시 운영체제 통해서 접근 하드웨어 모두 운영체제의 배타적 독점적 지배 받음( 추상화 하기 위해서 ) 컴퓨터 하드웨어 구성 (필수 : CPU, 메모리 ) CPU : 명령어 해석하여 실행하는 장치 (메모리 읽어서 작업 수행) 메모리 : 명령어 저장하고, 필요한 데이터 저장하는 곳 . 주소를 통해 구분 나머지 주변장치 : 입출력장치, 저장장치 버스 (BUS) 메인 보드에 연결된 각 장치들은 메인보드 내 버스를 통해서 통신 -> cpu가 버스를 거쳐서 메모리에서 데이터를 읽고 쓴다 데이터 버스 (다음 클럭 사이클에 해당 데이터 입출력) 주소버스 (메모리에 읽고 쓰고자 하는 위치의 주소) 제어버스 (..