본문 바로가기

CS(Computer Science)13

[CS] 프로세스 개념 이해 📖 프로세스 란? 실행 중인 프로그램을 프로세스라고 한다. 프로세스 : 메모리에 올려저서, 실행 중인 프로그램 코드 이미지(바이너리) : 실행 파일 응용 프로그램과 프로세스는 같은 말이 아니며 응용 프로그램은 여러 프로세스로 구성 가능하다. 예를 들어, 스마트폰에 최근 띄운 앱들을 확인하는 기능이 있는데 그렇게 띄워진 앱들을 다 프로세스라 할 수 있다. 프로세스의 실행과 정지도 운영체제가 관여를 하는데 이러한 운영체제 기능을 프로세스 스케줄링 이라고 한다. ✅ 프로세스 스케줄링 여러개의 프로세스가 띄어져 있을 때 어느 시점에서 어떤 프로세스를 실행시킬지 규칙 알고리즘이 필요했는데 그걸 가리켜 프로세스 스케줄러 라고 한다. ✅배치 처리 시스템 맨 처음 스케줄링 알고리즘에 채택된 자료구조 큐를 활용한 알고리.. 2023. 2. 19.
[CS] 운영체제 역할 정리 📖 운영체제 주요 역할 1. 시스템 자원(System Resource) 관리자의 역할 시스템 자원(System Resource)은 컴퓨터 하드웨어를 뜻한다. ✅ 컴퓨터 하드웨어 종류 CPU (중앙처리장치), Memory (DRAM, RAM), I/O Devices (입출력장치) : Monitor, Mouse, Keyboard, Network 저장매체 : SSD, HDD (하드디스크) 등이 있으며, 이러한 하드웨어들을 관리하는 게 운영체제이다. 이 말은 응용프로그램이 하드웨어를 직접적으로 제어하지 못하고 운영체제를 통해야 할 수 있다는 얘기가 된다. ✅ 운영체제가 없다면? CPU : 각 프로그램이 얼마나 CPU를 사용할지를 결정할 수는 없다. Memory : 각 프로그램이 어느 주소에 저장되어야 하는지, .. 2023. 2. 19.
[CS] 커널모드와 사용자모드 이해 📖 커널 모드와 사용자 모드 이해 ✅ 왜 프로그램은 OS별로 있을까? 각각의 운영체제마다 시스템 콜이 다르고 시스템 콜을 호출하는 API구현이 다르기 때문이다. JAVA 같은 경우 JDK를 각각의 운영체제에 맞게 설치해 줌으로써, 운영체제에 맞게 처리해 주기 때문에 자바 하나의 코드만 작성해도 여러 운영체제에 동작하게 할 수 있다. ✅ 사용자 모드와 커널 모드 컴퓨터에 영향을 미칠 수 있는 중요한 동작들은 운영체제에서만 처리하게 만들어 놨다. 파일을 읽거나 쓰거나 삭제하려면 시스템 콜을 통해서 커널에 요청을 하고 커널이 처리를 하는 방식이며, 응용프로그램이 직접 적으로 파일에 접근해 읽고 쓰고 삭제할 순 없다. 사용자 모드는 응용프로그램이 동작하는 것을 말하는데 중요한 동작이 있다면 커널에 요청하게 된다.. 2023. 2. 19.
[CS] 운영체제(커널, 쉘) 이해 📖 운영체제 개념 이해 ✅ 운영체제란 : OS (Operating System) 특정한 기능을 하는 하나의 프로그램이다 일반적으로 커널에 여러가지가 추가된 상태를 운영체제라 하며, 커널은 운영체제의 코어이다 💡 주요 운영체제 윈도우 ,UNIX 계열 OS (리눅스), Mac OS 운영체제라는 커널이 있고 운영체제 위에서 돌아가는 프로그램들이 있다. 그걸 응용프로그램이라 하는데 흔히 우리가 사용하는 excel, ppt, vscode 같은것을 말한다. 💡 안드로이드는 OS일까? 안드로이드는 운영체제가 아니다. 안드로이드는 리눅스 커널 기반이다. ✅ 커널과 쉘 이해 커널에 여러가지가 추가된 걸 운영체제라 했는데 추가된 여러가지가 무엇이 있을까? 대표적으로 쉘(Shell)이 있다. 운영체제는 가장 큰 역할 중 하.. 2023. 2. 19.