🌿CS/OS 18

✏️ 5. 프로세스 스케줄링 (1)

프로세스 스케줄링 (Process Scheduling) 프로세스가 실제로 시스템에서 어떻게 스케줄링이 되어 자원을 할당 받는지 1. 스케줄링을 하는 이유 ? 다중 프로그래밍(Multi-programming)이란, 여러 개의 프로세스가 시스템 내에 존재하는 것입니다. 따라서 자원을 할당 할 프로세스를 선택해야하는데요, 이 때 사용하는 것이 스케줄링입니다. 자원 관리에는 2가지가 있습니다. 시간 분할 (time sharing) 관리 공간 분할 (spacing sharing) 관리 시간 분할 관리란 ? 하나의 자원을 여러 스레드들이 번갈아 가며 사용하는 것입니다.프로세서(CPU)는 한 번에 프로세스 하나만 사용할 수 있기 때문이죵 따라서 프로세스 스케줄링(process scheduling)을 통해 프로세서 사..

CS/OS 2021.05.10

✏️ 4. 스레드 관리

스레드 관리 스레드의 개념 스레드의 구현 사용자 수준 스레드 : `n:1모델` 커널 수준 스레드 : `1:1 모델` 혼합형 스레드 : `n:m 모델` 1. 스레드(Thread)란? 자원은 공유하지만 제어요소들은 각각 가지고 있는 것. 자원을 공유하므로 좀 더 작업을 효율적으로 할 수 있음 여러개 CPU 코어 사용 가능 프로세스가 하는 일은 2가지가 있음. 자원 할당 자원 제어 -> 여기서 자원 제어 하는 것을 스레드라고 함! 하나의 프로세스에는 여러개의 스레드가 존재할 수 있다. 왜냐하면 제어는 여러개 있을 수 있으니까 하나의 프로세스에는 여러 개의 스레드가 존재할 수 있다. 하나의 프로세스 내에서 각각의 스레드는 리소스를 공유한다 리소스에 포함 되는 것 : 코드, 전역 데이터, 힙(메모리 공간: mal..

CS/OS 2021.05.09

✏️ 3. 프로세스 관리(2)

프로세스 관리 프로세스의 개념 -> (1) PCB(프로세스 관리 블록) -> (1) 프로세스 상태 변화 -> (1) 인터럽트 -> (2) Context switching -> (2) 4. 인터럽트 예상치 못한, 외부에서 발생한 이벤트 1) 인터럽트의 종류 I/O interrupt 키보드 or 마우스 사용으로 인한 인터럽트 (ex. 배그할 때 마우스 클릭한 경우) Clock interrupt CPU가 일을 할 때 clock발생할 때 Console interrupt 콘솔 창에 입력할 때 Program check interrupt 프로그램에 문제 발생할 때 Machine check interrupt 하드웨어에 문제 발생할 때 Inter-process interrupt 다른 프로세스에 의한 인터럽트 System..

CS/OS 2021.05.09

✏️ 3. 프로세스 관리(1)

마의 3일차를 지나 .. 4일차 입니다요 하지만 운영체제.. 하면 할 수록 넘나리 어려운 것 심지어 한 번 들었던 내용인데도 왤케 새롭쥬 ????????????? ㅠ 그리고 용어들은 너무 생소하고 .. 하루 빨리 용어와 친해지고 싶슴다 ~! 고럼 오늘은 프로세스 관리에 대해 정리해보겠심다 1. 프로세스란 무엇인가 어떤 것을 실행하는 실행의 주체 1) Job VS Process 작업(Job) == 프로그램 (Program) 실행할 프로그램 + 데이터 컴퓨터 시스템에 실행 요청 전의 상태 프로세스(Process) 실행을 위해 시스템(커널)에 등록된 작업 시스템 성능 향상을 위해 커널에 의해 관리됨 아직 디스크에 있는 것은 Job(=program)이고, 이를 적재하여 메모리에서 할당되었을 때 Process라고..

CS/OS 2021.03.14

✏️ 2. 운영체제 개요(3) - 운영체제의 구조, 기능

운영체제란? 컴퓨터 하드웨어를 효율적으로 관리해서 사용자 혹은 응용프로그램에게 서비스를 제공하는 것 운영체제의 구조 운영체제는 커널, 유틸리티로 구성되어 있습니다. 1. 커널(Kernel) 하드웨어 관리, 운영체제 핵심 기능 OS의 핵심 부분 (메모리 상주) 가장 빈번하게 사용되는 기능을 담당 시스템 관리(Processor, memory, Etc 등 ..) 동의어 핵(neucleus), 관리자(supervisor)프로그램, 상주 프로그램(resident program), 제어 프로그램(control program) 등 2. 유틸리티 (Utility) 운영체제에서 커널을 제외한 나머지 부분 비상주 프로그램 UI 등 서비스 프로그램 system calls : 커널한테 뭔가를 요청하는 통로 utilities까..

CS/OS 2021.03.14

✏️ 2. 운영체제 개요(2) - 운영체제의 구분

강의 링크(1) : https://www.youtube.com/watch?v=nxl_cUd55Ag 강의 링크(2) : https://www.youtube.com/watch?v=hzXVQIlSSos&t=1s 강의에서는 운영체제의 구분에서 작업 수행 방식만 따로 했지만 저는 한 포스팅에 정리하겠습니다요 ~! 아 근데 왜 자꾸 깨질까욧 . . . .. 흑흑 이제는 li태그와 ol태그에 문제가 생기네욧 .. 조만간 언능 수정하겠습니다 ㅇ 복잡 OS의 기능 및 구조가 복잡 ex. 서버, 클러스터(cluster (a.k.a 슈퍼컴퓨터)) 장비 등에 사용 (Unix, Linux, Windows server 등) 어떤 서버가 존재하고, 여기에 우리(host)가 연결해서 해당 서버의 시스템을 사용하는 형태 --> 결국 ..

CS/OS 2021.03.11

✏️ 2. 운영체제 개요(1) - 운영체제, 컴퓨터 시스템의 구성

강의 링크 : https://www.youtube.com/watch?v=nxl_cUd55Ag 강의와는 달리 여기서는 운영체제란 무엇인가, 그리고 컴퓨터 시스템의 구성에 대해 알아볼 예정입니다 ! (강의에서 잘린 운영체제 분류는 다음 포스팅에서 한 번에 다루겠습니다.) 운영체제란? 컴퓨터 하드웨어를 효율적으로 관리해서 사용자 혹은 응용프로그램에게 서비스를 제공하는 것 운영체제의 역할 1. User Interface(편리성) 사용자가 시스템을 편리하게 사용할 수 있도록 CUI (Character user interface) 과거에 모든 시스템이 문자 기반으로 사용자가 입력하고 결과를 받아봤었음 GUI (Graphical User interface) 요즘의 그림 형태로 된 유저 인터페이스 EUCI (End-U..

CS/OS 2021.03.11

✏️ 1. 컴퓨터 시스템 개요

1. OS(운영체제)란? 컴퓨팅 자원들을 효율적으로 관리하여 사용자, 응용 프로그램에게 서비스를 제공하는 소프트웨어 2. 컴퓨터 하드웨어 프로세서(Processor) 연산을 위해 사용되는 장치 CPU 그래픽카드 (GPU) 응용 전용 처리장치(특별한 연산을 위해 사용되는 장치) 등 메모리 (Memory) 저장하는 장치 DRAM, DISK 등 .. 주 기억장치 보조 기억장치 등 주변장치 프로세서, 메모리를 제외한 장치들 키보드/마우스 : 입력 장치 모니터, 프린터 : 출력 장치 네트워크 모뎀 등 : 네트워크 장치 3. 프로세서 (Processor) 컴퓨터의 두뇌 (중앙처리장치) 연산 수행 컴퓨터의 모든 장치의 동작 제어 4. 레지스터 (Register) **프로세서(CPU) 내부**에 있는 메모리 프로세서가..

CS/OS 2021.03.10