분류 전체보기48 Ch 05. 병행 프로세스와 동기화 병행(Concurrent) : 메모리에 다수의 프로세스가 같이 존재한다는 것 병행 프로세스들이 비동기적 : 다른 프로세스들이 어떤 상태에 있는지, 어떤 자원을 가지고 있는지 등에 대해 모른 채 실행되고 있음 5.1 병행 프로세스 공유된 자원이 있을 경우 자원의 접근에는 일정한 룰을 따라야 한다. (룰 : 한 번에 한 프로세스만이 접근하도록 하고, 해당 자원에 대해 의도했던 실행을 완료하도록 보장한다) 5.2 상호배제 경쟁 상태 : 프로세스들이 공유 데이터에 대해 서로 접근을 시도하는 상황 임계 자원 : 두 개 이상의 프로세스가 동시에 사용할 수 없는 자원 임계 영역 : 임계 자원에 대해 접근하고 실행하는 프로그램 내의 코드 부분 상호배제 : 한 번에 하나의 프로세스만이 임계영역에 들어가야 함 5.3 상호.. 2023. 4. 20. Ch 04. CPU 스케줄링 스케줄링(Scheduling) : 기다리고 있는 여러 프로세스 중에 누구를 선택해야 할 지에 대한 방식과 기준 4.1 스케줄링의 단계 스케줄링이 요구되는 시점에 따라 장기, 중기, 단기로 구분됨 1) 장기 스케줄링 ( = 작업 스케줄링) 어느 작업을 커널에 등록시켜 프로세스로 만들어 줄 것인가를 결정하는 것. 요청된 일을 프로세스로 만들어 시스템에 알려진 일거리로 추가하느냐를 결정하는 것. (다중 프로그래밍의 정도를 조절하는 역할) 수행 횟수가 적으며, 대부분 FIFO 방식. 일괄처리 시스템) 새로 작업이 들어오면 디스크에 놓아둔 채 일괄처리 큐에서 대기하도록 한 후 장기 스케줄러를 거쳐 프로세스가 되도록 함 시분할) 사용자의 접속 시도를 허용할지 말지를 결정하는 단계 2) 중기 스케줄링 보류 상태의 프.. 2023. 4. 20. Ch 03. 프로세스와 스레드 3.1 프로세스란 무엇일까? 프로세스 : 수행 중인 프로그램 : 프로그램과 데이터를 기본으로 정상적인 실행을 위해 필요한 환경을 시스템으로부터 부여받은 능동적인 존재 3.1.1 프로세스 제어 블록 (Process Control Block, PCB) 하나의 프로세스가 만들어져 없어질 때까지 시스템에 테이블 모양의 자료구조로 존재. 기본적으로 메모리에 저장시킴 PCB 구성 요소 - 프로세스 번호 - 프로세스의 상태 - 프로세스 우선순위 - 프로그램 카운터 값 - 메모리 포인터 - 문맥 데이터 - 할당받은 자원들에 대한 목록 - 계정 정보 - 입출력 정보 3.1.2 프로세스 상태와 변화 1) 생성 상태 : 사용자가 요청한 작업이 커널에 등록되고 PCB가 만들어져 프로세스가 만들어진 다음 준비 or 보류 준비 .. 2023. 4. 20. Ch02. 들어가기 전에 2.1 OS의 목적 - 운영체제는 사용자와 컴퓨터 사이의 가교역할 -> 사용자가 컴퓨터를 보다 편리하게 사용 가능 - 컴퓨터 시스템의 자원들을 효율적으로 사용될 수 있게 함. -> 사용자의 편리성과 효율적 사용 - (사용자) 사용하기 쉽고 편리, 배우기 쉽고 신뢰할 수 있으며 빨라야 함 - (개발자) 설계, 유지, 복수가 쉽고 적응성이 좋으며 오류 없이 효율적이어야 함 2.2 몇 가지 상식 2.2.1 부팅 : 커널의 일부가 메모리에 올라와 실행되어 장치들을 준비시키고 각종 레지스터 값을 초기화하고 나서 사용자의 입력을 받을 준비를 마치는 것 부트 프로그램과 부츠트랩 로더 : 커널이 어디에 있고, 어떻게 메모리에 올라와야 할 지 알려주는 프로그램. ROM에 저장되어 있음. 부트 프로그램 : 전원이 켜지면 .. 2023. 3. 17. 이전 1 2 3 4 5 ··· 12 다음