본문 바로가기

운영체제 (LNX,WIN)672

리눅스 OS 시스템 아키텍처 및 영역별 역할 정의 리눅스 운영 체제 환경의 아키텍처는 크게 커널과 사용자 영역으로 나뉘며, 이 두 영역은 시스템 소프트웨어와 사용자 소프트웨어, 라이브러리 등 다양한 요소로 구성됩니다. 커널 (Kernel) 커널은 리눅스 시스템의 핵심 부분으로, 하드웨어와 소프트웨어 사이의 인터페이스 역할을 합니다. 프로세스 관리: 프로세스 생성, 스케줄링, 동기화 및 종료 등을 관리합니다. 메모리 관리: 물리적 메모리 할당, 페이지 교체 알고리즘, 가상 메모리 관리 등을 담당합니다. 장치 드라이버: 하드웨어 장치와의 통신을 가능하게 하는 소프트웨어 모듈입니다. 파일 시스템 관리: 데이터 저장 및 접근 방법을 제공합니다. 시스템 소프트웨어 (System Software) 이는 커널과 밀접하게 작동하며 시스템 운영에 필수적인 소프트웨어를 .. 2024. 3. 7.
윈도우 사용자 및 서비스 불필요 권한 최소화 관리 SeImpersonatePrivilege 권한은 Windows 시스템에서 매우 중요한 보안 기능을 제공합니다. 이 권한은 프로세스가 다른 사용자의 컨텍스트에서 작업을 수행할 수 있도록 허용하므로, 일반적으로 신뢰할 수 있는 프로세스나 서비스에만 제공되어야 합니다. 이 권한의 남용은 보안상의 위험을 초래할 수 있기 때문에, 불필요한 경우 이 권한을 제거하는 것이 좋습니다. 다음은 SeImpersonatePrivilege 권한을 제거하는 방법에 대한 추가적인 설명입니다. 서비스 권한 수정 Windows 서비스가 SeImpersonatePrivilege 권한을 필요로 하지 않는 경우, 서비스의 권한을 수정할 수 있습니다. 이를 위해서는 서비스의 설정을 조정하거나, Windows 보안 정책을 통해 변경을 할 수.. 2024. 3. 3.
Docker Desktop 불필요한 이미지 삭제하는 배치 스크립트 Windows Docker Desktop에서 이미지 목록을 가져와서 태그 값이 'none'인 이미지를 삭제하는 배치 스크립트를 작성하겠습니다. 이 스크립트는 Docker 명령어를 사용하여 'none' 태그가 있는 이미지를 찾아 삭제합니다. 아래의 스크립트를 참고하세요. @echo off SETLOCAL ENABLEDELAYEDEXPANSION REM 이미지 목록을 가져옵니다. FOR /f "tokens=*" %%i IN ('docker images -f "dangling=true" -q') DO ( SET imageId=%%i REM 태그가 'none'인 이미지를 삭제합니다. docker rmi !imageId! ) echo Done ENDLOCAL 이 스크립트는 다음과 같이 동작합니다. docker i.. 2024. 3. 1.
리눅스 시스템 NTP(Chrony) 구성을 통한 시각 동기화 Chrony는 NTP(Network Time Protocol)를 구현한 서버 및 클라이언트 프로그램으로, 기존의 Linux ntpd(Network Time Protocol daemon)에 비해 여러 개선 사항을 가지고 있습니다. 이러한 개선 사항은 ntpd의 단점을 보완하는 데 중점을 두었습니다. NTP의 단점 네트워크 지연 변동에 대한 취약성: ntpd는 네트워크 지연시간이 변동하는 환경에서 시간 동기화의 정확도가 떨어질 수 있습니다. 장기간 연결이 끊긴 후의 동기화: 네트워크에 장시간 접속하지 않은 시스템은 ntpd로 시간을 동기화하는 데 시간이 오래 걸릴 수 있습니다. 리소스 사용: ntpd는 비교적 많은 시스템 리소스를 사용할 수 있습니다, 특히 오래된 하드웨어나 덜 강력한 시스템에서는 이러한 문.. 2024. 2. 28.
리눅스 서버 세마포어(Semaphore) 프로세스 동기화 문제 해결 Semaphore는 컴퓨터 과학에서 동시성 제어를 위해 널리 사용되는 개념으로, 운영체제나 프로그래밍에서 다중 프로세스나 스레드가 자원을 공유할 때 발생할 수 있는 문제들을 방지하기 위해 사용됩니다. Semaphore는 기본적으로 카운터로서 작동하며, 특정 자원에 대한 접근을 제한하는 데 사용됩니다. Semaphore의 작동 방식 초기화: Semaphore는 정수 값으로 초기화됩니다. 이 값은 동시에 접근할 수 있는 스레드 또는 프로세스의 최대 수를 나타냅니다. 대기(Wait): 프로세스/스레드가 자원에 접근하려고 할 때, Semaphore의 값을 감소시킵니다. 만약 Semaphore 값이 0이면, 이는 모든 자원이 사용 중임을 의미하고, 추가적인 프로세스/스레드는 대기 상태가 됩니다. 신호(Signal.. 2024. 2. 20.
728x90