본문 바로가기

운영체제기초6

[ OS 기초 ] 06. 프로세스 동기화, 상호배제 (2) - 상호배제 기법 1. SW solutions - 데커, 피터슨, 다익스트라 알고리즘 2. HW solutions - TAS Instruction 3. OS supported SW solutions - Spinlock, Semaphore, Eventcount & Sequencer 4. Language Level Solution - Monitor 00 도입 여러 프로세스가 동시에 같은 자원을 필요로 하는 상황에서 발생할 수 있는 문제를 해결하기 위해 상호 배제, 즉 임계 공간(critical section)에는 한 번에 하나의 프로세스만 들어갈 수 있도록 구현해야 함을 알 수 있었다. 이러한 상호 배제 기법에는 소프트웨어를 통한 구현, 하드웨어를 통한 구현, 운영체제의 지원을 기반으로 구현하거나 프로그래밍 언어를 통한 구현.. 2021. 7. 2.
[ OS 기초 ] 04. 프로세스 스케줄링 01. 프로세스 스케줄링의 개념 02. 스케줄링의 기준 03. 스케줄링 단계(level) 04. 스케줄링 정책 00 도입 앞서 배웠던 내용을 간단히 정리해보면, 프로세스는 자원을 할당받아 목적을 달성하기 위한 작업을 수행한다. 운영체제는 다양한 방식으로 프로세스를 처리한다 (일괄처리, 시분할 등등) 다중 프로그래밍 시스템에서는 여러 프로세스를 동시에 처리해야 한다 이때 운영체제가 어떤 프로세스에세 어떤 자원을 먼저 할당해줄지 결정하는게 스케줄링 01 프로세스 스케줄링 우리가 사용하는 시스템은 멀티 프로그래밍 시스템으로 여러 프로세스를 동시에 실행한다. 프로세스가 여러개인만큼 자원인 프로세서(cpu)를 번갈아가면서 사용해야한다. 따라서, 각 프로세스 수행을 위한 cpu를 할당해야 하는데(=자원을 나누어 사.. 2021. 6. 24.
[ OS 기초 ] 02. 프로세스 관리 1. 프로세스와 JOB의 차이 2. 프로세스의 정의와 종류 3. 관련 개념(자원, PCB) 4. 프로세스의 상태 5. 인터럽트와 문맥교환(context swithcing) 00 도입 프로세스를 아주 단순화하면 '실행의 주체'다. 평소 컴퓨터를 쓰다가 응답이 없을 때 ctrl+alt+delete 클릭해서 열어보는 작업관리자에서도 프로세스와 각 프로세스가 얼마나 cpu를 할당받고, 메모리를 사용하고 있는지 확인할 수 있다. 운영체제의 주 기능 중 하나인 프로세스 관리에 대해 알아보기 위해 먼저 프로세스란 무엇이며, 어떤 방식으로 프로세스가 동작하는지(프로그램이 실행되는지, 작업이 수행되는지) 이해한 뒤 인터럽트의 개념까지 살펴보았다. 01 프로세스 프로세스를 이해하려면 먼저 Job(작업)의 개념도 알아야 한.. 2021. 6. 23.
[ OS 기초 ] 01. OS개요(2) 1. 운영체제의 구조(내부) 2. 운영체제의 기능 00 도입 복습 : 운영체제는 하드웨어를 잘 관리해 사용자와 응용 어플리케이션 프로그램에 서비스를 제공하는 것 01 운영체제의 구조 운영체제는 크게 커널과 유틸리티로 나눌 수 있다 01-1 커널 단어 의미 그대로 알맹이, 즉 핵심이다. 커널은 우리가 가장 자주 사용하는 핵심 기능(프로세서, 메모리 관리 등)을 모아놓은 부분이다. 이러한 기능들은 항상 사용하는 기능이라서 메모리에 상주하고 있어 상주 프로그램, 핵, 관리자 프로그램, 제어 프로그램 등으로 불린다. 02-2 유틸리티 유틸리티는 운영체제에서 커널을 제외한 부분으로, 자주 사용하지는 않지만 가끔씩 사용하기때문에 비상주 프로그램에 속한다. 이들 프로그램은 필요할 때만 메모리에 올려서 실행한다. 이를.. 2021. 6. 21.
[ OS 기초 ] 01. OS개요 1. 운영체제의 역할에 대한 간단한 정리 2. 운영체제가 컴퓨터 상에서 어디에 위치하며, 운영체제는 어떤 방식으로 작동하는지 3. 운영체제에는 어떤 것들이 있는지 00 도입 운영체제를 한 마디로 정리하면 '하드웨어를 잘 관리해서 유저와 응용 프로그램에 서비스를 제공' 해주는 컴퓨터 시스템이다. 이때 '잘 관리한다'의 '잘'은 항상 상대적으로 쓸 수 있는 표현이다. 무언가 전보다 더 나아졌으면 이전보다 잘했다고 볼 수 있는 것처럼. 운영체제도 마찬가지로 과거에 사용하던 운영체제의 문제를 개선하면서 점점 발전해왔다. 이 과정을 살펴보면서 운영체제의 작업 수행방식에 따라 종류를 나눠 살펴보고 다른 기준에 따라서 구분할 수 있는 운영체제의 종류도 살펴보았다. 01 운영체제의 역할 운영체제 : 하드웨어를 잘 관리.. 2021. 6. 20.
[ OS 기초 ] 00. CS 개요 1. 컴퓨터, 어떻게 돌아가는걸까 2. 그럼 OS가 그 과정에서 담당하는 역할은? 3. 컴퓨터 하드웨어와 OS의 관계 - 프로세서, 메모리, 주변장치를 중심으로 00 도입 컴퓨터에 저장되어있는 영화를 볼 때 우리는 원하는 영화 파일을 마우스로 클릭하고 기다리면 화면에 비디오 플레이어가 뜨며 영상을 볼 수 있게 된다. 이 클릭을 통해 전달된 어떤 정보가 컴퓨터 내부에서 어떤 과정을 거쳐, 컴퓨터 어딘가에 저장되어있던 영화를 불러와 내가 보는 모니터에 띄워주는 과정을 거친 것이다. 컴퓨터에 대해 잘 몰라도 컴퓨터 안에 여러 물리적인 장치들이 있다는 것, 그리고 이 물리적인 장치들이 서로 통신을 하고 특정 작업을 한다는 건 알 수 있다. 이때 이 물리적인 장치를 하드웨어라 통칭하는데, 넓은 관점에서 이 하드웨.. 2021. 6. 17.