OS
-
[OS] Interrupt와 System CallComputer Science/OS 2022. 3. 3. 21:00
Dual Mode 컴퓨터가 일을 수행하는 가장 기본적인 방식은 메모리에서 instruction을 받아와서 이를 수행하는 것이다. 다만, OS는 다양한 애플리케이션들이 구동되는 환경으로부터 컴퓨터를 지키기 위해 Dual Mode operation을 사용한다. 말 그대로 2가지 모드를 기반으로 컴퓨팅 리소스를 운용한다는 것이다. Processor Register에 있는 mode bit으로 mode가 전환되는데, mode bit이 0일 때 구동되는 Kernel Mode와 1일 때 구동되는User Mode가 있다. Kernel Mode는 OS 단에서 처리해야 할 명령어들을 수행한다. 예를 들어 User Application에서 시스템 콜을 통해I/O 작업이 요청되었을 때 I/O 작업을 수행한다거나, Timer ..
-
[백준] 1700번 멀티탭 스케줄링 (by Python)Programming/Algorithm 2021. 2. 7. 17:55
문제 보자마자 운영체제가 생각났던 문제. 실제 운영체제에서는 이렇게 앞으로 어떤 프로세스들이 들어올지 모르기에 최적의 알고리즘을 수행할 수는 없지만, 만약 안다면 이런 식으로 알고리즘을 운영할 수 있다고 배운 것이 어렴풋이 기억이 났다. 앞으로 사용하지 않을 것을 최우선으로 빼고, 가장 나중에 사용할 것은 차선으로 빼는 것. 풀이 from copy import deepcopy n, k = map(int, input().split()) arr = list(map(int, input().split())) now = [] answer = 0 temp = -1 for idx, item in enumerate(arr): if item not in now: if len(now) < n: now.append(item..
-
[OS] 프로세스의 구성Computer Science 2020. 8. 11. 19:21
· 프로그램이란? 프로그램은 짜여져 있는 코드가 컴파일러에 의해 Binary Code(Executable Code)로 바뀌어 Storage에 저장되어 있는 상태를 지칭하는 것으로, 프로세스에 비해 Passive한 개념이다. · 프로세스란? 프로세스는 메인 메모리에 프로그램이 들어와 CPU의 수행 대상이 된 상태를 지칭한다. 쉽게 말하면 "수행 중인 프로그램"이라고 할 수 있을 것이다. · 프로세스의 구성 - Images 실행 중인 프로그램의 내용을 담고 있다. 1. Program Code 프로그램 코드가 컴파일된 바이너리 코드. text라고도 지칭함 2. Initialized Data 초기화된 전역변수 3. Uninitialized Data 초기화되지 않은 전역변수. 시스템 상에서 0으로 초기화된다. 4..