사망년/운영체제

chapter 1: Introduction (2)

stop-zero 2023. 9. 18. 23:09

프로세서 (=program in execution)

프로세서는 현재 실행 중인 프로그램이고 이외의 것은 다 프로그램이다. 프로그램은 하드디스크 안에 존재하고 실행 파일로 만들어서 컴파일하고 실행 파일로 만들어야 한다. 파일을 메모리에 올렸을 때 동작을 할 수 있는 동작 단계가 프로세스이다. 

- 프로그램 자체는 수동적이지만 프로세스는 능동적 개체

 

 

운영체제의 프로세스 관리

- 순서정하고 없애고 재실행하고 중간에 싸우면 죽이거나 풀기, 통신 기법 제공

 

메모리 관리 

어떤 내용이 메모리에 있는지 결정한다. 메모리 관리 작업을 할 때 어느 부분이 현재 사용되고 있으며 누가 사용할 것인지 관리한다. 그 다음 운영체제가 어떤 프로세스를 메모리에 적재하고 제거할 것인지 결정해야 모든 것을 할 수 있다. 

댕글링 포인터 : 프로그램에 남아있다가 죽었다 그러면 메모리만 잡고 사용되지는 않는다. 즉 선언만 하고 메모리 공간만 잡고 사용하지는 않았다. 이런 코드가 길어지다보면 메모리 누수(Leak)가 일어나고 이런 애들을 수거하는 게 garbage colection이다. 

- 모든 자료는 처리 전과 후에 메모리에 위치

- 모든 명령어는 실행되기 위해 메모리에 위치 (= 폰 노이만 아키텍쳐)

- CPU 사용과 사용자 응답 시간의 최적화를 위해 어떤 내요잉 언제 메모리에 있는지 결정 

- 메모리 관리작업, 스케일링 과정 쓸데없이 쓰는 거 메모리 공간 할당하고 회수, 메모리 leak  ex) garbage colection java

 

저장장치 관리

정보 저장장치에 대해 균등하고 논리적인 관점을 제공한다. 저장 장치의 물리적 특성을 추상화하여 논리적인 저장 단위인 파일을 정의한다. 각 매체를 디스크 드라이버, 테이프 드라이버 등에 의해 통제하지만, 매체 별로 다른 특징으로 접근 속도, 크기, 자료 전송률, 접근 방식이 있다. 

 

파일 시스템 관리 

파일이랑 디렉토리는 사실 같은 말이다. 디렉토리 밑에 또 디렉토리가 있거나 파일이 존재한다. 모든 애들의 조상인 아이 노트를 기준으로 만들어져 있다. 하드디스크에는 알아볼 수 없는 구조로 형성되어 있다. 이것을 물리적으로 수양할 때 정리하는 것이 운영체제이다.  

 

저장장치의 성능 

왜 cpu는 메모리랑 친한가, 자원을 빠르게 돌려야한다. 

레지스터가 빠르고 마그네틱은 기본 백만 배 더 느리다 수준만 알고 넘어가자. 

 

캐싱(caching)

저장장치 계층 구조상 자료가 여러 곳에 위치하기에 멀티태스킹 환경에서는 서로 다른 프로세스가 가장 최신의 값을 얻을 수 있도록 해야 한다. 다중처리기 환경에서는 캐시의 일관성을 유지하여 모든 cpu가 자신의 캐시에 최신 값을 가지고 있어야 한다. 동일한 파일의 복사본이 여러 컴퓨터에 분산되어 있기에 분산환경에서는 더욱 복잡해진다. 

 

입출력 시스템

운영체제는 특정 하드웨어 장치의 특성을 숨겨야기에 다음과 같은 일을 담당한다. 

  • 입출력 메모리 관리
    • 버퍼링 : 자료 이동 중 일시적인 자료보관
    • 캐싱 : 성능을 위한 자료의 일부분 보관
    • 스풀링(spooling) : 프린터 같은 장치에서 한 작업의 출력이 다른 작업의 출력과 동시에 작업
  • 일반적인 장치 드라이버 인터페이스
  • 특정 하드웨어 장치들을 위한 드라이브

 

보호와 보안(두 개의 차이)

보호(protection) : 프로세스 또는 사용자들의 접근을 제어하는 법

보안(security) : 바이러스, 윔, 등의 외부 내부의 공격 방어

 

계산 환경(computing environments)

전통적인 계산 환경의 경계가 모호해졌다. 사무실 환경은 포탈을 통해 네트워크에 연결되되어 있고, 원격시스템이 동일한 자원을 접근한다. 

가정 네트워크는 하나의 시스템을 통해 자신만의 네트워크를 가진다. 

 

클라이언트 - 서버 계산

계산 능력없은(dumb) 터미널이 PCf

chmod 755(user, group, ether) 사용자들의 접근을 제어, 사용자 별로 

https://recipes.tistory.com/

 

'사망년 > 운영체제' 카테고리의 다른 글

Synchronization Toole(동기화 도구들)  (0) 2023.12.12
CPU Scheduling  (0) 2023.12.09
chapter 1: Introduction (1)  (0) 2023.09.10