목록전체 글 (166)
공부기록

처리기 스케줄링의 목적 응답 시간이나 처리량, 효율성을 증대시키기 위해서 처리기가 다음에 실행할 프로세스를 선택하는 것 스케줄링 유형과 상태 전이도와의 관계 장기 스케줄링 새로운 프로세스가 생성될 때 적용 지금 막 생성된 프로세스를 "활성 프로세스 집합"에 추가할지 아닌지 결정 중기 스케줄링 스와핑 과정에서 적용 프로세스 이미지의 전체 혹은 일부를 메모리로 적재하여 실행 가능하도록 할 것인지의 여부결정 단기 스케줄링 사실상 의미 있는 스케줄링 단계 단기 스케줄링에서 다음에 실행할 프로세스를 선택 스케줄링 기법의 중요성 스케줄링 기법의 성능은 시스템 전체 성능에 큰 영향을 미침 다음번에 실행할 프로세스와 대기해야 할 프로세스를 결정하기 때문 스케줄링이 얼마나 효율적이냐 하는 문제는 바로 프로세스들이 일생동..
스케줄링 OS가 프로세스들이 요청한 자원을 공평하게 할당하는 것을 말한다. 프로세스들은 실행하면서 자신이 필요로 하는 자원을 경쟁적으로 OS에 요구한다. 처리기 입장에서의 자원 실행시간 OS는 스케줄링이라는 수단을 통해 각 프로세스들에게 실행시간을 할당 스케줄러 처리기를 사용하려고 대기중은 프로세스를 고르는 OS 프로그램 스케줄러의 목표 공정성 기아상태 방지 처리기 시간의 효율적인 사용 저비용
문제 https://programmers.co.kr/learn/courses/30/lessons/67259 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr 코드 더보기 import java.util.*; class Solution { c..
수행모드 User Mode 권한을 덜 가진 사용자 모드 사용자 프로그램들이 일반적으로 이 모드에서 수행됨 Kernel Mode 더 많은 권한을 가진 시스템 모드, 제어 모드 운영체제 커널과 관련 두 모드를 이용하는 이유 사용자 프로그램의 간섭으로부터 PCB와 같은 주요 운영체제 테이블을 보호하기 위함 커널 모드에서 소프트웨어는 프로세서와 명령어, 레지스터들, 메모리에 대한 완전한 제어를 가질 수 있음, 이는 안전하지 않다. 모드를 나타내는 방법? 프로세스는 Program Status Word의 한 비트를 사용하여 수행모드를 나타냄 모드의 전환 방법? 사용자가 system call 을 호출하거나 interrupt trigger에 의해서 커널 모드로 전환됨 제어가 OS 서비스에서 사용자 프로세스로 돌아오면서..

운영체제 제어 구조 운영체제 프로세스와 자원들을 관리하기 위해서 이들 각각에 대한 현재 상태를 나타내는 정보 필요 메모리 테이블 주기억장치와 가상메모리 모두의 자취(track)를 유지하기 위해 사용 주기억 장치의 일부는 OS를 위해 예약되어 있고, 나머지나 프로세스를 위한 공간이다. 프로세스들은 가상메모리, 스와핑 기법을 통해 보조기억장치내에 유지 메모리 테이블의 정보 프로세스에 할당된 주기억장치 프로세스에 할당된 보조기억장치 주기억장치와 가상메모리 블록들에 대한 보호 속성 특정 프로세스만이 특정 공유 메모리 영역에 접근할 수 있다는 속성 가상 메모리를 관리하기 위한 필요한 정보 입출력 테이블 IO장치와, 시스템 채널 관리 파일 테이블 파일 존재여부, 파일의 위치, 상태, 등 기타 속성 관리 프로세스 테..

2-상태 (two state) 프로세스 모델 상태 수행 (Running) / 비수행 (Not Running) 상태의 전이 운영체제가 새로운 프로세스를 생성할 때 PCB를 생성 새로운 프로세스는 비수행 상태로 초기화어 메모리에 저장 수행 중인 프로세스가 인터럽트 당해 비수행 상태로 전이 다른 프로세스가 수행 상태로 전이 프로세스 상태 추적을 위해 PCB가 사용된다. 프로세스의 현재 상태, 메모리 내에서의 위치 등 여러가지 정보가 필요 비수행중인 프로세스는 큐에 저장됨 프로세스 생성과 종료 프로세스 생성 이유 new batch job 대화형 로그온 운영체제가 생성 기존 프로세스에 의해 생성 (spawn) 부모프로세스가 fork()하여 자식 프로세스를 생성 프로세스 종료 batch job halt, 또는 명시..

프로세스란? 수행중인 프로그램 프로그램 : Disk 프로세스 : Memory 컴퓨터상의 수행 중인 프로그램의 인스턴스 처리기에 할당되어 수행될 수 있는 개체(entity) 명령들의 순차 수행, 현재 상태, 연계된 시스템 자원들의 집합 등에 의해 특징되어지는 활성화 단위 (a unit of activity) 프로세스의 구조 (필수 요소) 프로그램 코드 (동일 프로그램을 수행하는 서로 다른 프로세스들이 공유할 수 있는 부분) 코드와 연계된 데이터 집합 & Stack PCB 프로그램이 수행 중 특정 시점에 유일하게 식별하게 해주는 여러가지 요소의 집합 PCB의 구성요소 식별자, 상태, 우선순위, PC, 메모리 포인터, context data, 입출력 상태정보, 어카운팅 정보 PCB의 주요 역할 수행 프로세스가..
문제 https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 코드 더보기 import java.util.*; class Solution { private boolean isRight(String str){ Stack s = new Stack(); for(int i=0; i