CS전공 지식 -운영체제와 컴퓨터

KIM HYUNMIN·2024년 9월 9일

CS 기초지식

목록 보기
5/13

1) 운영체제의 역할과 구조
2) 컴퓨터의 요소
3) 인터럽트

1) 운영체제의 역할

  • CPU 스케줄링과 프로세스 관리 : CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제,자원 할당 및 반환을 관리
  • 메모리 관리 : 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야하는 관리
  • 디스크 파일 관리 : 디스크 파일을 어떠한 방법으로 보관할지 관리
  • I/O 디바이스 관리

1_1) CPU 스케줄링 방법

  • 선점 스케줄링 : 시분할 시스템에서 타임슬라이스가 소진되었거나, 인터럽트나 시스템 호출 종료시에 더 높은 우선 순위 프로세스가 발생 되었음을 알았을 때, 현 실행 프로세스로부터 강제로 CPU를 회수하는 것을 말한다.

  • 비선점 스케줄링 : 한 CPU가 한 프로세스에 할당되면 프로세스가 종료하든지 또는 대기 상태로 전환해 CPU를 방출할 때까지 점유한다.

    관련 스케줄링 알고리즘으로는 FCFS,SJF,RR,우선순위,MQ,MFQ 등이 있다.

1_2) 메모리 관리 기법

  • 페이징 : 프로세스의 메모리 공간을 동힐한 크기의 page 단위로 나누어 물리적 메모리의 서로 다른 위치에 page들을 저장하는 메모리 관리 기법이다. (내부 단편화 발생-> 메모리의 크기가 프로세스의 크기보다 큰 경우)
  • 세그먼테이션 : 프로세스가 할당받은 메모리 공간을 논리적 의미 단위로 나누어, 연속되지 않는 물리 메모리 공간에 할당될 수 있도록 하는 메모리 관리 기법이다. (외부단편화 발생 -> 남은 메모리의 합이 프로세스의 크기보다 크지만, 연속된 메모리가 아니어서 할당이 불가능한 상태)

2) 운영체제 구조

2_1) 커널
: 운영체제 커널이라고 하면, 전반적인 프로세스를 뜻한다. 프로세스관리,메모리관리,저장공간 관리, 연결된 장치 관리 등 컴퓨터에 속한 모든 자원을 관리하는 역할을 한다.

2_2) 인터페이스
: 사용자의 명령을 컴퓨터에 전달하고 결과를 사용자에게 알려주는 소통의 역할을 한다. 인터페이스는 대표적으로 2가지 종류가 있다. GUI,CUI 등이 있다.

2_3) 시스템 콜
: 시스템 콜은 사용자나 프로그램이 직접적으로 컴퓨터 자원에 접근하는 것을 막고 커널을 보호하기 위해서 만든 코드 집합이다. 시스템 콜 함수를 통해 커널에 접근 할수 있게 한다. 커널이라는 굉장히 중요한 여러가지 코드나 중요한 내용이 있는데, 그걸 아무나 접근할 수 있게 만들면, 중요한 걸 누가 바꾸거나 할 수 있기 때문에 운영체제는 시스템 콜을 통해서만 호출 할수 있게 디자인 되었다.

2_4) 드라이버
: 드라이버는 프린터,키보드 및 디스크 드라이브와 같은 하드웨어 장치와 운영체제 간의 통신을 가능하게 하는 소프트웨어 이다.

3) 인터럽트

: CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치나 예외상황이 발생하여 처리가 필요할 경우에 마이크로프로세서에게 알려 처리할 수 있도록 하는 것을 말한다. 인터럽트는 크게 하드웨어 인터럽트와 소프트웨어 인터럽트로 나뉜다.

하드웨어 인터럽트: 하드웨어가 발생시키는 인터럽트로, CPU가 아닌 다른 하드웨어 장치가 CPU에 어떤 사실을 알려주거나 CPU 서비스를 요청해야 할 경우 발생 시킨다.

소프트웨어 인터럽트: 소프트웨어가 스슷로 인터럽트 라인을 세팅한다.
ex_ 예외상황,시스템콜

프로세스의 실행 과정이다.

profile
Linux,Window,Network,docker,kubernets

0개의 댓글